How Many Open Source Licenses Do You Need?
jammag writes "Bruce Perens, who wrote the original licensing rules for Open Source software in 1997, notes that there are a sprawling 73 open source licenses currently in existence. But he identifies an essential four — well, actually just two — that developers, companies, and individuals need. In essence, he cuts through the morass and shows developers, in particular, how to protect their work. (And yes, he favors GPL3 over GPL2.) For his own coding work, he's fond of the 'sharing with rules' license, which stays true to the Open Source ethos of shared code yet also enables him to get paid by companies who use it in their commercial products."
Maybe more.
Hi Folks,
I happen to be at my desk again today, and can discuss this article, if any of you have questions or, more likely, comments :-)
If I write 30 responses, there will be a break. Slashdot locks me out for four hours after 30 postings from one IP.
Bruce
Bruce Perens.
Obviously you need a license that matches your values. If you think the same way as Stallman, who has communicated his principles in such places as the biography Free as in Freedom and the Free Software Song, you'll chose his license. If, on the other hand, matters of "hoarding" don't worry you at all, you'll chose another license. The quest for the one true open source license is an unreasonable expectation that human beings all think the same.
You need fewer license zea^Wadvocates.
Seriously, the amount of FUD spread about by certain licenses about certain others is staggering (not naming any names), to say nothing of tautological mottoes revolving around redefinitions of words, self-serving rationalizations, and more FUD.
You're going to get this mess any time something becomes a platform for political agendas, because Bruce's single "Shared with rules" license gets forked depending on the rules. GPL3 has the obvious rules, but under that heading would be the "Kinda BSD, except can't be used by the military of any country/companies that test on animals/people who eat meat/etc..."
Choice is good and the best licenses will grow to popularity unless tampered with by an outside force.
Hence the GPL is doing quite well. It does what most people want -- it allows for your work to stay free as it was intended.
If something better comes along, it may be used. Sort of like evolution -- survival of the best fit.
No. That doesn't show the differences between the licenses. Look at how many of them have the same answers in the same columns ... yet have different restrictions if you read the licenses.
You are free to use your own license, containing whatever text you wish. The main limitations on you are 1) whether you can get anyone else to participate and 2) whether your license is effective in court. If your license requires me to sell my first born son into indenture, the court is not likely to uphold your license.
As you observe, standardization is desirable. One of the biggest goals of Open Source is to make more Open Source. You should be able to combine different Open Source programs into another new one, in a way the creators of the original pieces did not envision. To do this, the licenses must be compatible with each other. So, having everybody write their own is, in the long run, detrimental because all of those licenses will be incompatible with each other, or nobody will be able to understand if they are compatible or not.
So, I laid out one scenario in which lots of people and companies can use a minimal set of different Open Source licenses that fulfill the different purposes that people have for Open Source, and are compatible with each other. You are free to use that list, or ignore me.
Thanks
Bruce
Bruce Perens.
I would add, in addition to the the possibility of it being held up in court, would be the probability of success in court. If we can generate a substantial case history full of precedents dealing with the main licenses, it would ensure that newer cases that handled similar issues would be handled quicker and with more predictable results. That would ensure that companies take the licenses more seriously, and /or make any actual legal action quicker and less painful to everyone involved.
Well.. maybe. Or Maybe not. But Definitely not sort of.
The characterization of BSD, Apache, etc. as "gift" licenses just display Perens' bias.
These are licenses that allow you to work both in proprietary projects and open source projects at the same time.
The word "gift" implies the person does not have a job and is doing it for free when, in reality, the developer might be working for a company that would only use business-friendly licenses.
The real distinctions are: are you going to work for a project else who will demand that you give away your copyright and who will keep their right to fork it into a proprietary project. If the answer is yes, then, please do it. Just don't complain when you see your work being bundled into a proprietary fork while you have to keep convincing everyone that they must use GPL/viral licenses (which is easy to do if you're into the business of selling servers, like IBM, and you want to bundle Linux "for free" - which, simply put, is IBM's strategy against Sun Microsystems, obviously).
The GPL license, due to copyright laws, allows this dual-licensing, which basically means unequal rights for developers (those who hold the copyright and, thus, can fork it into a proprietary license, while demanding that everyone else stick to the GPL version).
If you want developers to have equal rights, i.e., they can do *whatever* I want (i.e., "freedom"), then don't chose the GPL, chose a license such as the BSD license.
Open source code is not a material resource; it is an information resource and cannot be "stolen" (as GPL zealots with faulty logic would have it) but only "copied."
Learn to recognize Linux PR when you see it.
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
Has anybody ever proven this?
ie. has it ever been proven that attaching a 'must share' clause to a license (ie. GPL vs BSD) actually results in more people sharing code.
I am inclined to think and believe, based on experience, that it does not. Those who share are likely to share regardless of license, ditto to those who take your code and improve it with no intention of sharing.
Just how much does 'sharing' contribute to open source anyway, considering that all the top projects are tightly controlled by a small number of lead developers who hold the keys to commitments and in accepting patches. Code being shared will likely just go unnoticed anyway.
So, after 10 years, has anyone proven that the GPL works?
In addition to software licenses, we have licenses like GFDL and CC-BY-SA, which are intended for books, software manuals, etc. That whole situation is a total botch. The GFDL (without any of the added options like invariant sections, etc.) is essentially philosophically and legally equivalent to CC-BY-SA. The fact that we have two licenses for a single purpose is not a good thing. For instance, I've written some physics textbooks that are copylefted. Sometimes I've taken diagrams and photos I did for the books and added them to WP articles. Other times I've taken photos from WP and put them in my books. What makes this all unnecessarily difficult is that although WP uses GFDL (for historical reasons, because CC postdates WP), various other people use CC-BY-SA. We all want to share, but the licensing creates problems. I've ended up dual-licensing my books for this reason, and as far as I can tell, this allows me to bring in either CC-BY-SA or GFDL materials. On the other hand, if other people want to use a photo from my book, they have to look in the photo credits section at the back, and they may find that it's a photo I got from someone else under GFDL, but their project is CC-BY-SA, so they can't use it. They might be able to switch their own project to a similar dual-license scheme to get around this, but that might not be possible; e.g., look at the Linux kernel, which could never change licenses even if Linus wanted it to, because there are too many copyright holders.
One thing I would suggest to anyone uploading pictures to WP or Wikimedia Commons is that you use their recommended licensing option, which is now dual GFDL/CC-BY-SA.
Another real problem in this area is the tendency of people to pick CC-BY-NC, with a noncommercial clause. I see tons of people doing this even for materials that have zero commercial value. For example, there's an innovative physics textbook from the 1970's that went out of print. Cool book, but it was just a little too controversial; the big sellers tend to be the plain vanilla ones that can make everyone in a university department happy enough to sign off on adopting it. It's been out of print for 30 years, and the rights reverted to the author. He scanned it and put it up on his web site as a PDF. I contacted him, told him how much I liked the book, and suggested that he put it under a CC license, because, e.g., otherwise it would have to disappear from the world on the day he got tired of paying a webhosting bill. He decided to do that, which is cool, but he picked CC-BY-NC, which means the book can never be used as the basis for further collaborative work. I think people have this emotional feeling that they don't want to risk having their work exploited commercially by someone else, because that would be a ripoff. The problem is that they don't seem to do a good job of realistically assessing the chances that that would happen. Although the guy I'm referring to is a published author, there are many other people who just don't have a realistic idea of what it's like to try to make a significant amount of money by writing. There are just too many people out there who think they have the next bestseller on their hands.
Find free books.
Please be specific. How does the GPL not satisfy the OSI standard for non-discrimination. If you're going to throw around a random inflammatory accusation as an anonymous coward you should at least back it up with facts or reasoning.
Need a Python, C++, Unix, Linux develop
Linus is unfortunately one of the typically "can't we all just get along" geeks - he doesn't seem to care for the social good so much as being able to continue to work on his projects. Such people are certainly useful - "not seeing the big picture" isn't a barrier to being an effective technical leader (and by pretending such problems/disagreements don't exist or minimising them, they better enable people with substantive differences in the area to work together).
For people who do care about the public good, the best thing to do is to look for other people for inspiration on matters of licenses and large-scale strategy (like rms, BPerens, esr, theo, or one of several others, depending on one's particular inclinations). There's a lot of positions one might take on these matters, most of them better than playing ostrich..
For every problem, there is at least one solution that is simple, neat, and wrong.
This is a problem. It seems that every attorney has their own fear, which they insist on writing into their own license that you must use.
But IMO the largest part of the problem is that few companies are effective at managing their own attorneys. Many technical managers feel that law is a black art and that they can only manage what they understand. Top managers with this problem tend to structure the company so that middle managers can't push back on Legal, and must do whatever Legal says. And thus, company attorneys generally get their way even on small points. A general counsel who sits on the board is even able to do this to the CEO, if the other board members aren't good at managing attorneys.
If it is imposed on the attorney that using an OSI-accepted license is important, the attorney can probably do a reality-check on their own fear. The fact that this doesn't happen is more an issue of management effectiveness than anything else.
Thanks
Bruce
Bruce Perens.
Given that, why would you advocate the GPL, in either revision, at all? I can't think of a single other Free Software license that is incompatible with as many other license as the GPL. The GPLv2 is even incompatible with LGPLv3.
I am TheRaven on Soylent News
You only need one license.. The WTFPL
I frequently hear them characterized that way, and I talk mostly to Windows-using academics who're discussing how to release their code, and could hardly care less about Linux or the Free Software Foundation.
The general viewpoint of options that get bandied about is something like:
1. "Research-only" or "non-commercial-use" license: minimal release that will ensure researchers who want it can get it, while retaining all commercial rights that default copyright gives.
2. Copyleft licensing: release that allows code to be used commercially or non-commercially, but only in free-software projects using the same copyleft license.
3. Permissive licensing: release that allows code to be used for any purpose, provided the copyright notice is maintained.
The first is is probably, unfortunately, the most common release mode for research code (though this is changing), since it feels like "giving away" the least as far as potential commercial exploitation goes. The second is usually an easier sell than the third, because it at least guarantees that Microsoft can't put your algorithm into the next version of Excel without paying you, which is the main thing people who get cold feet about releases are worried about (that they're giving away a potential source of livelihood for free).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
I once too the time to put the core programs that make up a basic Linux distro into a spreadsheet, making notes on the programming language they used, file size and license. I used Linux From Scratch, so I could get an idea of a "core" working system, as opposed to thousands of packages. I think I narrowed it down to just over 60 packages to provide the basics. It taught me a couple of things.
1. Richard Stallman is right, the correct term is GNU/Linux. I was amazed at the percentage of packages in the core OS -- not applications -- that were from the GNU project. It was something like 75% or so.
2. C is by far an away the most dominant programming language. (Yeah, I know it should have been obvious. Duh!)
3. There are too many licenses. Off the top of my head I bumped into: GPL2, GPL3, BSD-2, BSD-3, MIT, Artistic, OpenSSL's "thou must advertise us" variation, Vi's Charityware, and at least one public domain.
Have you looked at it from this perspective? And would you consider approaching some of the existing projects with changing their license to one of your four?
Learning HOW to think is more important than learning WHAT to think.
The Apache-style license is a gift because a company can use the work without any quid pro quo. Obviously, much Open Source is written as part of someone's employment, whether it is BSD or GPL licensed.
Dual licensing does give some special rights to one party. In general, this one party is the main contributor, and their business purpose doesn't work without dual licensing - because they won't have a revenue stream that supports their creation of the software. A license that does not fulfill that purpose is hardly more "business friendly" than one that does.
This is not a matter of philosophy, just business sense.
Bruce
Bruce Perens.
Bruce missed the one option I think is the most important: public domain. It's not a license and so captures the "giftiness" of the gift licenses better than any of them.
I think it's more a matter of history. There was no SaaS when the GPL was written, or the GPL would have addressed the issue. In the first discussions leading to GPL3, way back in 2004, we were talking about addressing the "ASP problem" in GPL3, not the Affero version. Further GPL revisions stick to the basic principles of the first.
It really breaks down into "sharing is possible" and "sharing is mandiatory", and everything else is an elaboration on that theme.
Thanks
Bruce
Bruce Perens.
This reminds me of a musician joke:
q: How many guitars does a guitarist need?
a: Just one more.
There is always going to be someone that thinks they need something just a little bit different to suit their particular needs. In reality the number of open source licenses could be dramatically reduced, but the human condition makes us each think we are unique and have special needs and requirements for our unique project.
Are there too many open source licenses? Yeah. It's way to complicated for the end user. Will this ever change? Most likely not.
"If you are going through hell, keep going." - Winston Churchill
Maybe Linus does see the "Big Picture". He just sees it different from you.
Nah, anyone disagreeing with you must just have their head in the sand. (that was sarcasm in case you missed it)
What utter crap to think only people who agree with your licensing fetish have the public good in mind. I assure you, my preference for the BSD license is for the public good. I consider it much better for the public good than any version of the GPL. You may disagree, but don't be an ass and say I don't care about the public good.
It could be this question!
"Use cases are fairy tales..." I. S. 2005
They're the rules for the Open Source Initiative and the Debian Project to approve licensing.
Richard wrote a statement of the Four Freedoms in an early edition of the GNUs Bulletin, which was mostly distributed in paper form on the MIT campus and environs. He did not further promote them until a long time later. So, when I had to write license guidelines for Debian, the Four Freedoms document was unknown. I sent my document to Richard, and he wrote back that he felt it was a good definition of Free Software. Surprisingly, he did not mention his Four Freedoms document in that correspondence.
Much later, FSF published its statement of the Four Freedoms on its web site as an alternative to the Open Source Definition.
Bruce
Bruce Perens.
Because "can share" / "must share" embodies the fundamental difference in Open Source licenses, and each makes business sense for a different set of purposes. In addition. GPL is applied to a very large number of Open Source projects, more than any other license, so the main compatibility issue is that a license be compatible with GPL.
Bruce Perens.
Both are copyrighted. One grants the right to modify, one does not.
Consider why it is not smart to modify your TCP/IP stack to be incompatible with the standard. You have the right to do so, but doing so will make it very difficult to communicate with others. And unfortunately engineers and tech companies are more likely to understand the consequences of modifying TCP than those of modifying a license. FSF doesn't prohibit you from using your own license text, they can't. They just decline to help you stick your foot in your mouth by modifying their text.
Bruce
Bruce Perens.
Businesses and lawyers are concerned about CYA maneuvers. You are concerned about efficiency.
No one got fired because there were too many licenses.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
Yes there was SaaS when the GPL was written. Significantly before it. Or at least attempts at it.
The Multics project has the very specific purpose of making computing resources a service, just like phones and electricity. CompuServe was one specific example, setup in 1969, to provide time-sharing services to external companies.
Arguably, pre-1975, SaaS was the default, not the exception. Computers were rented, perhaps on your premises, and tended to by vendor techs.
Anyway, this mantra of "we didn't know about it" really makes [GPL supporters] look stupid. I mean really, are you trying to tell me that RMS had never heard of Multics?
Bruce's article discusses license proliferation from the perspective of how-do-I; I'd like to confront those who use it to say why-should-I.
I used to work for a company whose lawyers argued that we must avoid Free Software because there were too many licenses to understand. Really.
Okay, so hundreds or thousands of Free Software products tend to use one of a few dozen licenses. We get that.
When you use proprietary software, every software product is governed by its own unique license. This is an improvement?
License proliferation is a totally bogus reason not to use Free Software.
Epilogue: My former employer has since seen the light. The legal team (whole executive team, actually) was sacked, and the company now uses and writes software under the GPL.