Some of these guidelines are pretty nasty and serious, some of them are very, very subtle. For example, when reading this rule:
"5. Employ large amounts of legalese. Working with the project should involve complex contributor agreements, web site content licensing, non-disclosure agreements, trademark licenses, and so on. [...]"
I can't help but be reminded of the process involved in contributing to Clojure:
Obviously this comparison is not fair to the Clojure project, but if you squint a little bit, some contributors might be scared off by even the smallest roadblock.
Some ? Make that 'most'. Any open source project that requires people to go and sign pieces of paper is putting barriers up where non should exist.
I'm actually quite impressed with clojure, but this one aspect will stop me forever from contributing so it is a one-way street as far as I'm concerned.
Not that I'm in a position to do so (as a clueless newbie) but who knows what the future holds.
Well i think consideration should be given to the fact that it's a language project driven by a single individual trying to make his living out of it, not a dbms bought by a multinational company.
I personnally have no problem with that. It's also a sign of the fact that Rich wants to keep a pretty strong hand on what is happening with clojure, and as far as the project is a language project, i find that quite healthy.
Also, imagining that you would have a contribution to make to Clojure, and you'd really want to make it (because you work with it everyday for example). What would stop you to even consider signing the agreement ? (true question)
> What would stop you to even consider signing the agreement ? (true question)
Anything ending on a '?' should be a true question :)
I think what would stop me is the fact that the contribution alone is not enough, that on top of that I would be required to enter in to some legally binding agreement.
The benefits from what I can see are exclusively one-sided.
I'm fine with Rich Hickey wanting to keep a strong hand on what is happening, I'm not so fine with him taking (shared) ownership of all contributions.
This could lead to all kinds of trouble, for instance in the event of his untimely expiration. His estate would suddenly be the party that I find myself holding 'joint copyright' with on something that I wrote.
That could cause a lot of headaches.
So, instead if that situation would come up I'd release it out of the clojure contributions package as a stand-alone thing.
Contracts are great for people that do not trust each other, they add a stiff price on top of the original arrangement which makes it expensive to break. A low-life open source contributor has no place signing contracts that carry possible consequences over and above the contribution.
That should be the sum total of it, requiring people to sign stuff imho is not the way to go about this.
>Also, imagining that you would have a contribution to make to Clojure, and you'd really want to make it (because you work with it everyday for example).
This is part of the reason that I don't work with Clojure any more. (Mostly I just moved on to other things. But it's making me less inclined to come back.)
I once found a bug in clojure.contrib.lazy-xml library. It was a simple one-line fix[1], but I didn't know if I could email someone and say, "hey, here's a bugfix for you, please apply it" because I hadn't signed a CA. Instead I settled for reporting it on the Google group. I might have mentioned the specific change that needed to be made, I don't remember. But I got no response, and settled for just patching my local copy whenever it was updated. (It hasn't been updated since July; the bug still exists.)
I'm actually confident that there is no legal reason why my patch couldn't be applied without me signing a CA. It's an obvious fix which anyone else would write in the same way. But I'm not confident that the maintainers would agree, and a one-line patch doesn't merit the possibility for a protracted back-and-forth. So the legal barriers create social barriers which are even more restrictive.
I don't want to sign a CA, and I don't want to be in a similar situation with a nontrivial bug. If I resume working with Clojure, I might find myself having to choose one or the other. So I don't plan to. Which is a shame: I rather liked the language.
Not really. It's more for ease in relicensing. When contributers don't assign copyright, the license can never change, since their contributions bind the original project to the original license.
Emacs is a good example of this working. Because Emacs is copyrighted by GNU and not its contributers, it was a simple matter of changing a few strings to change the license from GPL2 to GPL3.
For projects without copyright assignments, this is not possible; the Linux kernel will be GPL2 forever, even if someone wants to change. Some copyright holders are long dead, and contacting their estate to change some terms in the license agreement is impractical. (This is a shame, too; a GPL3 version of Linux would be great for hardware hackers everywhere.)
"5. Employ large amounts of legalese. Working with the project should involve complex contributor agreements, web site content licensing, non-disclosure agreements, trademark licenses, and so on. [...]"
I can't help but be reminded of the process involved in contributing to Clojure:
http://clojure.org/contributing
Obviously this comparison is not fair to the Clojure project, but if you squint a little bit, some contributors might be scared off by even the smallest roadblock.