views:

475

answers:

8

Is the proliferation of open source licenses just another example of programmers living NYI (Not Invented Here) syndrome? I know there are some big differences between some of the big licenses (e.g., GPL, Apache, BSD) but when you start looking to see many projects creating their own licenses. Why?

References:

http://en.wikipedia.org/wiki/Open_source_licenses
http://developer.kde.org/documentation/licensing/licenses_summary.html

+5  A: 

Having your own license (usually a variant on one of the existing ones) allows you full control over it. I suspect that things like the huge change between GPL2 and GPL3 (especially if you deal with web services) make people leery of licensing with an agreement outside of one's control.

ceejayoz
If you're leery about not having control of the GPL, you can always remove the "or later version" clause, then they are stuck with exactly what's there.
Matthew Scharley
+1  A: 

Is the proliferation of open source licenses just another example of programmers living NYI (Not Invented Here) syndrome?

IMHO, yes, absolutely. Take the Microsoft PL license as an example. It's completely redundant. Still, I like that one a lot because it's very clearly worded, much shorter than most other licenses and provides a good amount of freedom.

On the other hand, crafting a new license is fraught with risks because until it has proven its worth before an actual court it isn't worth the paper it is written on (if any).

IMHO, there are very few licenses that are worth knowing and using, among them GPL (which I personally don't like), LGPL, BSD and Ms-PL, and of course the Creative Commons licenses but these aren't suitable for software.

Konrad Rudolph
Why aren't Creative Commons licenses suitable for software?
Thomas Owens
Why aren't Creative Commons licenses suitable for software?
Thomas Owens
My grudge against MS-PL is that it appears designed to be incompatible with any version of the GPL. Even if you don't like the GPL or FSF, I consider it rude to be deliberately incompatible. Other than that, it's a nice license.
David Thornley
Thomas: because they weren't designed with software in mind. In particular, they are ambiguous about reuse in libraries, compatibility with other Open Source licenses and they do not distinguish between binary code and source code. There are much better licenses for that.
Konrad Rudolph
David: Admittedly, I don't see it. I see MS-Pl as quite identical to the new-style BSD license (except for patent claims) and as such fully compatible with the GPL: you may license any *own* contributions under GPL, you are merely required to retain the license of the original code. Am I wrong?
Konrad Rudolph
+15  A: 

This is a known issue: the Open Source Initiative has a License Proliferation Committee, which recommends the use of one of eight licenses that are "popular and widely used or with strong communities."

  1. Apache License, 2.0
  2. New BSD license
  3. GNU General Public License (GPL version 2 or 3)
  4. GNU Library or "Lesser" General Public License (LGPL version 2.1 or 3)
  5. MIT license
  6. Mozilla Public License 1.1 (MPL)
  7. Common Development and Distribution License
  8. Eclipse Public License

Other licenses are classified as: "redundant" (e.g., the NCSA license is redundant with BSD), "special use" or "non-reusable" (e.g., the NASA license, the Apple Public Source License), "superceded" (e.g., MPL v1.0), and so on.

Chris Conway
+4  A: 

I also think some licenses are closely tied to certain ideologies. Many Creative Commons license users have the same attitude towards copyright legislation. The GPL, on the other hand, has a long history with Linux development. An individual or organization which does not agree with the philosophies generally attached a specific license may choose to look for an alternative.

+3  A: 

Having your own license (usually a variant on one of the existing ones) allows you full control over it. I suspect that things like the huge change between GPL2 and GPL3 (especially if you deal with web services) make people leery of licensing with an agreement outside of one's control.

I think this is true to some extent. However, when you license under the GPL, you have the option to say, "Version 2", "Version 2 or later". If you're leary about how the license may change in the future, you are free to just say it is licensed under that specific version.

Kibbee
+1  A: 

I think this is true to some extent. However, when you license under the GPL, you have the option to say, "Version 2", "Version 2 or later". If you're leary about how the license may change in the future, you are free to just say it is licensed under that specific version.

That opens up a different can of worms, though.

If you released under GPL2 only and GPL3 comes out and you like the changes it makes, you're theoretically going to have to go around to all your contributors and get their unanimous approval to change the license their code is released under. All it takes is one of them to say "nope, I only licensed my contributions under GPL2 and refuse to permit GPL3" - or they can just not reply - to derail your proposed license change.

ceejayoz
A: 

If you released under GPL2 only and GPL3 comes out and you like the changes it makes, you're theoretically going to have to go around to all your contributors and get their unanimous approval to change the license their code is released under. All it takes is one of them to say "nope, I only licensed my contributions under GPL2 and refuse to permit GPL3" - or they can just not reply - to derail your proposed license change.

Which brings up some other questions. Do you plan to accept patches from outside developers? When you do accept patches do you requires patch submitters to hand over copyright also? If they don't transfer copyright, how does that allow you to change your own license for future considerations. If there was a project with their own license and I was going to release a bunch of code to it, it stated that it was licensed under XYX version N, or any future version, then what's to say that the people controlling that license won't do a complete 180 on a future version, and make it completely closed source?

Kibbee
If you say XYZ version N or any later, it will always be legal to use it under XYZ version N. GPLv2+ right now means GPLv2 or GPLv3 or anything later. I might well use GPLv2+ on a project, but I certainly wouldn't say "only the latest version of the GPL". I've also read that the FSF's statement of how it might change the GPL to permit something called "promissory estoppel", which means a change too far from what they said might be legally incapable of affecting GPLv2+.
David Thornley
I'm not a lawyer, but I'm pretty sure the FSF don't get to determine if Promissory Estoppel is 'allowed', as it's a standard feature of contract law. Are you sure they didn't just say that this principle may apply?
Adam Luchjenbroers
+1  A: 

I don't think people appreciate that you often can't inter-link code with different licenses, whereas for example you can combine any GPLv2 code with any other GPLv2 code.

pjc50