Shared publicly  - 
True statement. And yeah, without the CLA, we would very likely have worked on upstart, instead of starting the systemd project. Four years ago we talked to lawyers and tried pretty hard to convince them to give it up, but there was no way to negotiate.

Today, I very much enjoy the fact that this is a good example what you do to your project or company if you try to skew the free software playing field too much with tricky contracts. You just get what you build, an/your island.

"Wildly Off-Topic: I should note that I think if upstart did not have the CLA that it does, the rest of the FOSS world might have just improved it, and systemd might never have shown up. I suspect that the fate of bzr might be similar.

These should serve as a cautionary tale for for-profit companies requiring CLAs. [Or everyone, even.]"
[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]. Bug#727708: Thoughts on Init System Debate. To:; Subject: Bug#727708: Thoughts on Init System Debate; From: Don Armstrong ; Date: Fri, 17 Jan 2014 21:08:23 -0800; Message-id: ...
Noel Grandin's profile photoPhilipp Thomas's profile photoClint Byrum's profile photoMustafa Muhammad's profile photo
Hum, I thought at the time Lennart always said the reason was he and the upstart devs fundamentally disagreed about the design?
Kay Sievers
+Adam Williamson yeah we sure did, but we still originally planned to change upstart ourselves to do what we wanted. But after we found out we would need to fork it, and nothing we do can flow back to the original repo we gave up on that idea and did our own.
I don't know much about licences and lawyers, but isn't the CLA updated since?

"*What’s different between the new contributor agreement and the old one?*
One difference between the two is that the old agreement was a copyright assignment agreement (where the contributor granted ownership of the contribution to Canonical), while the new one is a copyright license agreement (where the contributor grants permission for Canonical to distribute the contribution)."

Honestly, I still can't understand what is happening inside the Linux community. For example, what's the difference between Canonical forking something and Google doing the same with Android and all its components?
+Mohamed Ikbel Boulabiar  I don't work on Android and I don't care what Google does, I don't have or need a contract with Google to do my job. They just do their stuff in private, everybody is and should be free to do that, they never asked me to believe in them.

I think it's a pretty unfortunate move from Google, but it still does not affect me, it's not relevant, not general purpose technology which would matter to everybody, it is not something to build a free and secure operating system from.

For upstart we would need a single-sided contract to work on it without forcing us to do an isolated fork. I don't sign such contracts ever, especially not for core technology. I work on free software and we all share things equally.

I don't want to be involved in building isolated islands for companies which try to sell my free work to people who also don't want to share. They should all move to that island and see how lonesome it is over there. :)
+Mohamed Ikbel Boulabiar you've gotta remember everything is relative. It's not like those of us who have a beef with canonical sometimes think Google or Microsoft or apple are better. Actually, they're much worse. We argue with canonical because they're worth arguing with. The others are kind of a lost cause.
Looks like Debian will get systemd, and perhaps point out the evils of the CLA as well! Ubuntu's forking model is starting to be revealed as the expensive mess it is.
+Jeremiah Foster Not so fast, the CLA issue is already well known by Debian; see the Cons section of (and note there is only one Con ;)

In fact, Ian Jackson, one of the most respected Debian developers, recently joined his voice to those who prefer a diverse environment which allows for multiple init systems, rather than the my-way-or-the-highway systemd approach (

And that is the big issue many people have with systemd (including myself, but not that I matter, I'm just a spectator). The current Harmony CLA (not the 2008 CLA Kay is referring to) is an obstacle, sure, but it's not a fatal one by Debian standards. There are other, arguably bigger, issues with the alternatives.
+Mihai Limbășan Agreed, I didn't mean to say the entire debate was represented in my link; merely that Harmony CLA is already taken into account and, despite that, the debate continues with other concerns, so nothing's settled yet. Thanks for putting the other links here.
It's self-evident that a CLA is a barrier to collaboration for some people. If Canonical really wanted Upstart to be popular outside of Ubuntu/derivs, they'd remove all the barriers they could.
+Kay Sievers  Would you sign a CLA that allowed F/L/OSS relicensing only? Or is it just CLAs in general?
+Cameron Norman, short answer: so far I did not sign any NDA or CLA in my life and I don't plan to do.

I would not give anybody a single-sided commercial advantage based on my work. We all always need to make sure that we keep a culture where the best technology wins, where companies are forced to play by rules, where not the best contract, or the easiest way out out-of-jail wins. We always have to put people and individuals first, not companies.

The limitations FSF-like institutions require are acceptable with the additional clauses/limitations that they define,  while all of that is still not needed to keep things going, I think. The kernel is a good example how things can work very well, with a very basic and simple model.

The GPL of the kernel is the LGPL+ of userspace. I'm personally completely in the LGPL2+ camp for all of the code I/we do. It's the best compromise for me.

I also don't accept BSD-style things, I think it is very wrong to just throw out things to people who do not play by the rules.

I want to stay my work free for everybody, but want people building stuff on top of it to be required to publish the changes. That way, and only that way, things just get better by itself over time.

If you build all stuff on your own, it's yours, absolutely no problem, keep it private; but if you build it on top other peoples work, you should be forced to give it back. It's a very simple deal, where everybody benefits in the long run.

I'm also not interested in playing politics and add restrictions like GPL3; at this moment I don't think it is necessary to keep things alive.
+Adam Williamson I don't think we ever disagreed enough for me to refuse patches from them - it was very much a case of they had different ideas to me, and couldn't contribute them because of the CLA

If the CLA wasn't there, we'd've just tugged and pulled and fought about patches like normal projects, and Upstart would have turned out much like systemd - I'd've been okay with that :)
Wishful thinking Kay. Can bad technical solutions survive long enough to evolve into something of value?  But even so,I like what you said. It's so poetic: "CLAs will tear us apart" ;-)
+Michael Hasselmann : you'd be surprised how little of Upstart's code is the "event system". It could have quite easily evolved into what systemd looks like today, with an active community working on it.

Indeed, systemd today doesn't look much like systemd back then either, it's evolved over time - the dependency system has taken a greater forefront than the socket system it was designed around, etc.

systemd had the benefit of an active developer community, because it didn't put barriers up to contribution.
Scott I don't doubt you at all. I have my own reflection thingy to do about why "my" project "failed" when no one else perceives it as failure.

I think you can rightfully claim that the perceived shittiness of upstart spawned systemd and if that's all of what upstart really ever did, to provoke someone like Lenny enough to start scratching that itch until it bleeds and if the result of that was something that people consider as efficient and beautiful then part of that result can be attributed to you. And why the hell not be proud about that?
+Michael Hasselmann at the point that Kay, Lennart and I sat down and discussed all this stuff, I don't think Upstart was perceived as "shitty" at all. We'd had on/off discussions for ages, but the big one I remember was the LF Collab Summit in SF in April 2010.

Hindsight certainly lends a different perspective, and I'd be the first person to say that Upstart doesn't work as intended. +Lennart Poettering makes a great point about mountall in a recent post, it was written because Upstart couldn't do the complex filesystem cases it was designed to be able to do; and I was very aware even at the time that was a failure that would need to be addressed.

Had the CLA not been in place, the result of the LF Collab discussions would have almost certainly been contributions of patches from +Kay Sievers  and Lennart (after all, we'd all worked together on things like udev, and got along) that would have fixed all those design issues, etc.

But the CLA prevented them from doing that (I won't sign the CLA myself, which is one reason I don't contribute since leaving Canonical - so I hold no grudges here), so history happened differently. After our April 2010 meeting, Lennart went away and wrote systemd, which was released in July 2010 if memory serves.

So I don't think I can claim that the perceived shittiness of Upstart spawned systemd, because at the time it wasn't seen that way. I don't think I can even claim that it provoked Lennart in any way, init was an area all distributions were fiddling with, so it was inevitable anyway.

I entirely agree with Kay and +Greg Kroah-Hartman  that it was the CLA that caused systemd to be written instead of Upstart.

But I don't need that self-affirmation anyway :) I wrote Upstart, I got paid for it, I moved on to do other things, something else came along and replaced it. If Upstart hadn't been under the CLA, and systemd hadn't've happened, all my code would have long since been rewritten by now anyway.

That's the nature of the software world, there's no point getting precious over things. Do your bit, have fun doing it, move on and let others do their bit, etc. 
+Scott James Remnant

Thanks for your honest comments Scott. Given what you wrote, what would you advise would you give to the Debian project (perhaps particularly the CTTE) as the future direction debates draw to a "close"?

Scott would tell them that he doesn't care enough to give solid advice. Wasn't that obvious by now?
Yup, if I weighed in on Debian's discussions, I'd just be another uninformed idiot ranting online :-)
OK, we had an important and useful discussion here. But could we please start the bikeshedding now?
(I need a good enough reward  though, otherwise it's just meh …)
Add a comment...