On Sunday a vote was made concerning the future of Debian. Bdale Garbee initiated a “Call For Vote” on the ‘systemd vs Upstart’ issue. This has been an issue troubling Debian for quite some time and was becoming a major distraction in the community at large.
The TC (the Debian Technical Committee) was tasked with the job of deciding on the next init system for the next version of Debian known as Jessie. The first order up for discussion should have been the history of Debian and their philosophy for the last 21 years concerning FOSS. The current init system, sysVinit, is outdated, and technology has moved on. sysVinit unfortunately has not. Admittedly there are other init solutions out there, but how ready, and how beneficial would it be to pick one that is a) barely better than the current sysVinit, b) technically inferior to the top contender, and c) maintained in such a way that dev’s need to sign a CLA to even submit a patch?
For there to have been a serious contender on the table that forced Debian dev’s to sign a CLA, or in essence a copyright clause, before being able to submit a patch to upstream was a disgrace to Debian. I’m sorry, I think they’ve suffered a seriously self-inflicted black eye here.
The particular contender in question here was Upstart, maintained by Ubuntu/Canonical, and “owned” by Mark Shuttleworth. Had the CLA requirement been removed, I believe Upstart would have had a much better chance at having been a serious contender. After looking at both, systemd and Upstart, I believe that systemd was far superior in design. Ubuntu/Canonical limited the number of devs working on the Upstart project. They also had to be Ubuntu/Canonical employees. A serious design flaw in my humble opinion.
systemd on the other hand, merged last April (2013) with the entire udev team basically keeping all their dev’s. They also welcomed dev’s from other industry including Intel, RedHat, and others. Literally hundreds of dev’s. All working together for the benefit of a free open source init system. No CLA, no copyright, and maintained on the freedesktop.org website. Are you ready for this next bit? They also had Ubuntu/Canonical dev’s and employees working together on it as well.
I normally don’t do this, but I want to quote a friend of mine who helps out on the distro I’m able to occasionally contribute to. I’m not going to mention any names, but he’ll know who he is and if he likes I’ll give full credit where it is due. It is his quote, and it is priceless in this particular scenario. This was posted in the vsdio.org community forums by one of our more astute members;
“I always hope that logic and rationality prevail (username omitted) but the problem with sense is that it is anything but common – if you want proof read that whole Ian Jackson post. He comes off to me like a spurned female rather than an adult making a professional decision.
In the post you linked to I was struck by these paragraphs:”
One of the points that I think may have been obscured in the discussion,
but which is important to highlight, is that basically all parties have
agreed that Debian will adopt large portions of systemd. systemd is an
umbrella project that includes multiple components, some more significant
than others. Most of those components are clearly superior to anything we
have available now on Linux platforms and will be used in the distribution
In other words, this debate is not actually about systemd vs. upstart in
the most obvious sense. Rather, the question, assuming one has narrowed
the choices to those two contenders, is between adopting all the major
components of systemd including the init system, or adopting most of the
major components of systemd but replacing the init system with upstart.
Either way, we’ll be running udev, logind, some systemd D-Bus services,
and most likely timedated and possibly hostnamed for desktop environments.
I think this changes the nature of the discussion in some key ways. We’re
not really talking about choosing between two competing ecosystems.
Rather, we’re talking about whether or not to swap out a core component of
an existing integrated ecosystem with a component that we like better.
I think I had read this before but not sure I “got” it. So conceptually I am imagining one of my team members coming to me and saying:
1. We have a rival solution that has some nice features but it also has some clear cut disadvantages to our in house solution. But it’s no problem because even though they have been working on it for 3 years and haven’t addressed those issues they are trivial to address and they will after we buy it.
2. Oh by the way the solution that we have in house is better and adds a lot more and also is an integrated solution. In fact, even if we select the flawed rival we will keep all the integrated stuff from the in house solution and the flawed rival will rework their stuff to work with the innovative stuff from our in house team. But the in house solution isn’t portable to other ‘nix’s and even though they say that it can be addressed at some point I think it yet they won’t. The rival soltuion won’t dove tail as well as a fully integrated solution would but it will be trivial to fix and they will do so after we buy it.
3. One more thing, I know all current systems use parallel daemons and IPv6 has been around for years (as have sockets) but they didn’t write those into their rival solution. But it’s trivial and they will do so after we buy it.
4. Oh and one more little thing. In order to accept this rival solution they want us to sign an agreement that all our contributors license their code through them and of course in case of disputes over ownership I would guess they would win since they hold the licensing and I know that is a violation of our founding principles but it is trivial and they say that maybe they would look at reviewing it after we buy it.
5. BTW the in house solution was worked out by a large portion of our community and has been accepted by some of our most loyal members of the community and the rival is a small group that operates behind a corporate logo and we really don’t have any influence or input directly into what they do and they haven’t even named a project lead but that is trivial and I am sure they will fix it after we buy it.
6. So in conclusion I have decided that we will swap out that portion with the rival teams because the guys who do the in house team didn’t accept my suggestions and I don’t like them they are hard to work with and they picked on me and took my lunch money.
After I told the guy to clean out his desk I would probably start over. I mean really this whole thing is just surreal to me. Why is there any discussion? What strikes me in reading these is that the guys who support Upstart either have no technical support for their positions (it’s always about response times and niceties or in the case of Steve its some obscure point that no one cares about). The systemd supporters give facts, details about where systemd is better etc. and actual processes they went through in detail to examine the differences and how they came to the conclusion. It’s a little Wizard of Ozish “pay no attention to the man behind the curtain”.
It doesn’t get said any better than that when describing these two contenders. The hilarity here began when the “common sense” prevailed on Sunday and systemd won the vote! Immediately the Debian mail lists (how the dev’s all communicate, as well as the Technical Committee) lit up like a Forth of July fireworks display. Ian Jackson immediately called for the resignation of Bdale Garbee. He then tried to have some sort of cock-a-mammy vote of his own (more than one to be exact) that were downright laughable. Then this gem was sent by him to the mail list;
Following my most recent emails, three separate well-meaning people have suggested that perhaps I should step away from the computer for a bit. One correspondent said it looked like I had "gone postal". It is true that I am absolutely furious. Livid. I can't describe in words how angry I am. I feel like my trust, and my scrupulous attention to the proper processes, have been entirely betrayed. This is probably a poor state to be doing anything in. So sorry if I have made a mess. I'm going to step away from the TC now for a few days. I'm going to configure my email filter to discard email where the TC list is in the headers. So if you want me to see your reply, please send it just to me. Bdale, please do not send me any email. Ian.
So in other words, I’m taking my toys and going home! I think this proves beyond a shadow of doubt that Mark Shuttleworth definitely had a “Mouthpiece” on Debian’s Technical Committee. Good job to Bdale Garbee for upholding Debians core beliefs and philosophy by managing to overcome the desire of Ubuntu/Canonical/Mark Shuttleworth, to try to “own” an integral part of Debian. Reading the drama filled mailing lists at Gmane for the past couple of months, I for one am glad this little soap opera is finally over with and Debian can now move forward!