7 ms·
Why you should use a BSD style license for your Open Source Project
- jgfu 15y agoAccording to some Apache is better: http://stackoverflow.com/questions/40100/apache-licence-vs-bsd-vs-mit http://stackoverflow.com/questions/40100/apache-licence-vs-b... I think it is too wordy though, and for 99% of projects, the MIT vs BSD vs Apache difference is not terribly important, so why weight your project down with a crazy big license? I prefer MIT. It's a little clearer to me, and is claimed to be GNU GPL compatible.
- SeanLuke 15y agoDo not use MIT (or BSD). MIT has a killer failing: it was developed prior to the onset of software patents, and so has no patent release. This dooms it to being appropriate for only trivial projects. It doesn't matter if you think there's nothing patentable in your code: others don't know that. If you want people to use your code in this day and age, a patent release is critically important. Use Apache. Why be concerned about license length? Include the license once and then refer to it in your source copies. No big deal.
- dpcan 15y agoCan you explain what a "patent release" is?
- deleted 15y ago[deleted]
- tingletech 15y agoBSD is basically just granting a copyright license. Apache grants you a right to use any patents the code may use. Where I work contracts and grants prefers that we use BSD because they (as I understand it) think apache's patent grants are too broad. Contracts and grants prefers we use Education Community License over apache http://www.educause.edu/wiki/Educational+Community+License http://www.educause.edu/wiki/Educational+Community+License
- deleted 15y ago[deleted]
- kenneth_reitz 15y agoIt depends deeply on the project. Some something like, say, an HTTP API wrapper module, MIT/BSD style licenses are quite sufficient. There shouldn't be something patentable there. Apache, unfortunately, isn't compatible with GPL v2. But if you're building something like node.js, nginx, or Lucene, choosing MIT/BSD is likely a terrible idea. Apache gives huge protections for unforeseen scenarios: automatic property rights assignment for contributions, poison-pill–like protections against patent suits, &c. I highly recommend this book on Proprietary Information and Open Source: http://www.amazon.com/Intellectual-Property-Open-Source-Protecting/dp/0596517963 http://www.amazon.com/Intellectual-Property-Open-Source-Prot... -- Aside — Sean, I took your CS101 class in '07. Crazy running into you randomly here ;)
- SeanLuke 15y agoHi Kenneth! The job would have be trivial enough to make it clear to everyone concerned that there was nothing patentable in it, I suppose. As to GPL compatibility, I've seen this play out with the AFL too (I use the AFL a lot). My take on it is: GPL incompatibility with well-designed, modern licenses like the AFL and Apache is not their fault. It's the fault of the FSF for producing licenses with outstanding flaws. As someone firmly in the BSD camp, I'm not too concerned about the FSF's foibles.
- kenneth_reitz 15y ago> GPL incompatibility with well-designed, modern licenses like the AFL and Apache is not their fault. It's the fault of the FSF for producing licenses with outstanding flaws. +100. I love this attitude.
- rbanffy 15y ago> It's the fault of the FSF for producing licenses with outstanding flaws. Please, tell that to Linux users. Now, compare the vibrant ecosystem around Linux with the vibrant ecosystem around FreeBSD and try to think why it happens and what's the difference between them.
- 15y ago
- tobiasu 15y agoThe Apache License 2.0 mixes copyright law with patent law. Its patent related claims are not acceptable to OpenBSD for example. This site gives a good overview: http://www.oss-watch.ac.uk/resources/apache2.xml http://www.oss-watch.ac.uk/resources/apache2.xml IMO, you may just as well use GPLv3, ALv2 source is almost as risky in commercial products.
- SeanLuke 15y agoThat URL provides no support for your claim at all, and OpenBSD isn't even mentioned. Sadly, a moderate amount of Googling has turned up nothing about why OpenBSD doesn't allow the Apache License: all dead ends. The only thing that turns up is "well, we don't like it philosophically". Perhaps you could point to something more concrete. "Mixing copyright law with patent law", whatever that means, has nothing to do with risk in commercial products. Apache is very well regarded as a BSD-style license in the commercial environment.
- bitdiddle 15y agoI agree that the Apache patent clause is important. In fact if I recall it motivated some of the changes in GPL3 in order to make it compatible with the Apache license
- naner 15y agoThe GPL is a complex license so here are some rules of thumb when using the GPL: you can charge as much as you want for distributing, supporting, or documenting the software, but you cannot sell the software itself. I don't believe this is correct. You can sell the software.
- ams6110 15y agoYes I think you can sell the software but you must make the source available. I'm not sure how this is different from charging for distribution, from a practical standpoint.
- dwrowe 15y agoMake the source available to the purchaser, not necessarily public I think, right?
- kenneth_reitz 15y agoCorrect, unless someone asks for it, I believe.
- pessimizer 15y agoI think to anyone who requests it, within a reasonable period of time, for at most a reasonable fee to cover your expenses for sending it to them IIRC.
- chousuke 15y agoIANAL, but my understanding is that anyone who obtains a GPL'd binary is entitled to receive the source as well, from the source that provided them with the binary. If you are careful with who you distribute the binary to, you could in theory keep the source sort of "secret", though I don't think it's a good general approach to GPL software.
- mkup 15y agoAnd after receiving that "secret" source the customer can just upload it to its website and give away to the world for free.
- slowpoke 15y agoI believe that a BSD-style license is generally good (personally I even prefer the WTFPL). In an ideal world, we wouldn't need licenses because nobody would be stupid enough to make proprietary software[1] or otherwise try to restrict the user's freedoms. We'd pretty much have implicit CC-BY or -Zero for everything and be done with it. For now, we need the GPL to force change. BSD-style does not slowly force the ever-stuck-in-the-past industry to stop making inferior unfree[2] software. It will not prevent the same people from leeching off the efforts of the FLOSS community without giving anything in return (or even trying to sabotage our efforts with patents or similar nonsense). [1] Yes, proprietary software is and always was an enormously stupid idea, probably up there with patents and copyright on the list of Most Ridiculous Bullshit In Human History. [2] Free as in Speech.
- jasonlotito 15y agoYour comment is a good one. People are downvoting not because you aren't contributing, but because they disagree with you and are trying to silence your opinion. They forget that upvotes should be used to encourage discussion, and down votes used to remove comments that don't contribute. Hopefully, posting here will highlight your comment so others will take note.
- phaylon 15y agoIt might also be that "in an ideal world nobody would be stupid enough," "an enormously stupid idea" and "most ridiculous bullshit in human history" aren't really arguments, and thus not really further the conversation.
- jasonlotito 15y agoThat ignores the rest of the comment. So yes, if you ignore the comment as a whole, and choose to pick out specific parts of the comment, you can claim the entire comment worthless. But I disagree with that approach. With that approach, you've essentially become no better than someone who down votes someone for making a spelling mistake.
- sc68cal 15y agoThe GPL explicitly disallows revoking the license. It has occurred , however, that a company (Mattel) purchased a GPL copyright (cphack), revoked the entire copyright, went to court, and prevailed [1] This may not be entirely accurate. Background: http://tbtf.com/resource/cphack-history.html http://tbtf.com/resource/cphack-history.html Original slashdot comment: http://yro.slashdot.org/comments.pl?sid=4703&cid=1162803 http://yro.slashdot.org/comments.pl?sid=4703&cid=1162803 Archive of one of the authors answering if cphack was GPL: http://web.archive.org/web/200102042331/http://www.islandnet.com/~mskala/cpbfaq.html#gpl http://web.archive.org/web/200102042331/http://www.islandnet...
- jeremysalwen 15y agoSort of off topic but the authors response is a bit insane. >"The origin of the confusion is that in one source file in cphack (note that cphack is just one of the four main items in the cp4break package), there's a comment saying "Released under the GPL". There is also a similar statement in the onscreen "About" box." But previously: "The suggestion that it might have been GPL surprised Eddy and I just as much as it did anyone else" Really? They think that the suggestion that a piece of software which says "Released under the GPL" in the source code and similar things in the about box is in fact released under the GPL is surprising? Then it goes on: "I think that doesn't mean much because saying "the GPL" doesn't really identify "the GNU General Public License version 2" as specifically as a copyright notice should." A very strange argument. Are they really claiming that the author purposely wrote that it was released under "the GPL", but was referring to a different GPL (and never mentioned it)? Or is he trying to say that by keeping the language ambiguous, he can retroactively change the intention? I'm not sure whether to interpret all this as ineptitude, stubbornness or deception. Look, it is quite clear that they did not release it under the GPL, I'm not contesting that. But what they're claiming is quite ridiculous, and I feel like there must be more going than what they're writing.
- jonpaul 15y agoI typically choose MIT; I'd like to see a comparison of BSD vs MIT/Apache.
- rbanffy 15y agoPlease see http://news.ycombinator.com/item?id=3402450 http://news.ycombinator.com/item?id=3402450
- tytso 15y agoWhat this essay (from 2008) fails to point out as an advantage is that the GPL requirements have forced many device drivers to be released as open source. And hardware support is critical for an operating system's viability. If a project is releasing frequently and often, such as the X Windows system did in the early days, and people want the features in the new releases, the overhead in constantly forward porting private, proprietary enhancements (whether they be I18N support or driver support) tends to encourage people who might be tempted to keep code to themselves to contribute it back to the mainstream codebase. But if the project releases too slowly, or tries too hard to keep internal API backwards compatibility, it can cause people to fail to contribute their changes back, and then the open side of the project stagnates. This is something that Charles Hannum, one of the NetBSD founders, eventually realized: http://onlamp.com/bsd/2006/09/14/netbsd_future.html http://onlamp.com/bsd/2006/09/14/netbsd_future.html In fact, he observed that a non-copyleft license tends to encourage fragmentation, and what do we see happening with Android? With a GPL license, things like Touchwiz would be have to be released as source code. (Of course, with a GPL license, there's a chance handset manufacturers would have been scared off, which is why apparently Andy Rubin very early chose Apache instead. Personally, I don't believe that to be true, given that Android did use the Linux kernel, which was GPL'ed. But, he was the startup founder, and he didn't want to take that chance with his baby, which is totally understandable.)
- diminish 15y agoI have some libraries on github with MIT and GPL licenses, I will release a major software soon. I am still not certain which one is the best license for my purposes: -I want everyone to freely use and distribute it, if they are contributing back their source code to the me or the community. - Except, I don't want my code to be used by patent-abusers/suers and their platforms (especially the patent war-lord Apple irritates me). I don't want them to suck my code like a black hole and avoid giving their code back to the community. Would BSD/MIT or Apache or any variation of them help me in this case? Does GPL really help?
- krzysz00 15y agoI don't think the BSD/MIT licenses will stop the patent-abusers from using your code because (as I understand them) they say "Here's the code, do whatever you want with it. Just keep the copyright notice on." If you want to stop your code from being sucked into a black hole, a more "restrictive" license like the GPL would be your best bet. I would recommend the GPL because it's well-known and a lot of people have some idea of what the terms are, as opposed to something like the Apache license, which people might have to look up.
- gioele 15y agoIf (if) you want to go BSD or MIT, why don't you go with the simpler and more honest public domain, UNLICENSE [1] or CC0 instead? Releasing software as UNLICENSE or CC0 has the same consequences of releasing it as BSD but it conveys a much stronger point. [1] http://unlicense.org http://unlicense.org cache: http://webcache.googleusercontent.com/search?q=cache:NQW6BVBMQe4J:unlicense.org/+unlicense&cd=1&hl=en&ct=clnk&client=ubuntu http://webcache.googleusercontent.com/search?q=cache:NQW6BVB...