4 ms·
Here's a good example. Canonical comes up with a replacement for sysvinit called Upstart. Everyone agrees sysvinit is a dumpster fire on wheels careening aroun
by cwyers 11y ago
Here's a good example.
Canonical comes up with a replacement for sysvinit called Upstart. Everyone agrees sysvinit is a dumpster fire on wheels careening around at high speed, so a new init system is welcomed as a Good Thing. Some people from Red Hat wanted to contribute improvements to Upstart, but Canonical insisted on a Contributor Licensing Agreement that would allow Canonical to relicense the work however they wanted, including commercially. Shockingly, Red Hat employees couldn't get clearance to do uncompensated labor for a Canonical project like that, so rather than contribute to Upstart, we got systemd.
Eventually, systemd became so [PICK ONE OF SUCCESSFUL OR BELIGERENT] that Debian adopted it. And at that point... game over for Upstart. Ubuntu uses systemd now. Because they don't have the resources to package everything for Upstart if Debian is moving to systemd.
The thing is, Canonical isn't that well resourced. Look at who contributes to the Linux kernel.[1] Looking at the top 10 sponsors of contributors, we see some of the usual suspects -- Intel, Red Hat, Linaro, Samsung, IBM, SuSE. We see "Vision Engraving Systems," weirdly. Going out of the top 10, a lot of hardware vendors, spits Oracle, FOSS Outreach Program for Women, Pengutronix... I mean, look at the homepage for Pengutronix. [2] It's some 90s era HTML 4.01 they've got going on there. But they're able to make significant contributions to the Linux kernel. Canonical isn't on the list. Canonical has NEVER been on the list, so far as I can tell. You can look all up and down the stack, there's a handful of Canonical-only projects they contribute to, but they're a rounding error in overall Linux development.
Which is their right, of course -- the GPL doesn't insist upon contributing back. And I would agree that shaming Canonical about community isn't productive. At the same time, Apple isn't what they are, it's what they want to be but are failing at being. Apple can get away with incorporating BSD code into their OS but still writing vast swaths of it themselves because Apple doesn't need any of the BSDs to adopt launchd to make it feasible for them to keep running it. Apple has money and can pay people to write code. And on the desktop, OS X has twice the market share of every Linux distro combined, so they can get developers to write applications for their OS even though it doesn't follow the lead of the rest of the BSD-derived OSes. (And yes, I know that OS X resembles a BSD distro far, far less than Ubuntu resembles Debian.) You're right that Canonical wants to be the Apple of the Linux world. But they're not succeeding at it and they're not GOING to succeed without some way of becoming profitable that has yet eluded them. And developers don't want the burden of having to support Canonicals quixiotic insistence that they are the Apple of the Linux world.
[1] http://www.linuxfoundation.org/publications/linux-foundation/who-writes-linux-2015 http://www.linuxfoundation.org/publications/linux-foundation... (Also, why do I have to tell the Linux Foundation who I work for in order to read this report?)
[2] http://www.pengutronix.de/index_en.html http://www.pengutronix.de/index_en.html
- vezzy-fnord 11y agoYour story is factually off, I'm afraid. Canonical comes up with a replacement for sysvinit called Upstart. Actually a replacement for both sysvinit and sysv-rc, along with some overlap for hotplug and other demand-based/lazy operations. Everyone agrees sysvinit is a dumpster fire on wheels careening around at high speed, so a new init system is welcomed as a Good Thing. Hah. I wish. In fact, the painful truth of the matter is few people really cared. There was lots of prior art (and indeed, Canonical themselves chose to write Upstart instead of adopting the emerging initng at the time for largely handwaving/wish-wash reasons [1]), but not a lot of interest in seriously tackling the problem domain beyond introducing a host of band-aids on top of sysv-rc like LSB dependency headers and startpar. Some people from Red Hat wanted to contribute improvements to Upstart, but Canonical insisted on a Contributor Licensing Agreement that would allow Canonical to relicense the work however they wanted, including commercially. Shockingly, Red Hat employees couldn't get clearance to do uncompensated labor for a Canonical project like that, so rather than contribute to Upstart, we got systemd. In fact, "some people from Red Hat" already had deeper architectural failings with Upstart (which I agree with, but absolutely not with how they decided to "solve" them) and its event model. The beginnings of systemd (prototyped under the name of Babykit) were lying around for several years on Lennart Poettering's machine. And at that point... game over for Upstart. Ubuntu uses systemd now. Because they don't have the resources to package everything for Upstart if Debian is moving to systemd. Which, ironically, is a form of cooperation. And look what cooperation gets you: homogenization towards a Red Hat solution. The thing is, Canonical isn't that well resourced. Look at who contributes to the Linux kernel. I'm well aware of the massive corporate contribution, and Canonical's low activity there. But they're not succeeding at it and they're not GOING to succeed without some way of becoming profitable that has yet eluded them. And developers don't want the burden of having to support Canonicals quixiotic insistence that they are the Apple of the Linux world. Again, Canonical are at a loss, true. This is their loss, not developers'. There is no "burden" placed on them unless they decide to ship their software in binary form only, in which case the problems already exist for any distro with its own packaging infrastructure. [1] https://wiki.ubuntu.com/ReplacementInit https://wiki.ubuntu.com/ReplacementInit
- cwyers 11y ago