Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: What are the differences between the major free software licenses?
2 points by LearnYouALisp on Feb 1, 2012 | hide | past | favorite | 6 comments
This has been a recurring question. Where can I learn about the differences between commonly used licenses (MIT license, BSD, GNU GPL, and so on) in a clear way?

I've taken a look at the actual statements, and they were not as daunting as I had supposed. However, it is still a little difficult and time-consuming to process the unfamiliar clauses, translating them into normal English and simplifying them into basic points. Do you know of a website or guide that has done this already?

Update: I have found the following chart, but it only gives two items: "Link with code using a different license", and "Release changes under a different license".

http://en.wikipedia.org/wiki/Comparison_of_free_software_licenses



First of all, let me start with the disclaimer that no summary substitutes for reading the licenses in question. The MIT and BSD licenses require almost no effort to understand. The GPL (v2 or v3) makes for fairly easy reading, and seems intentionally written in a way that non-lawyers can easily understand and apply. The same mostly goes for the LGPL and Apache licenses, though the use cases for the latter don't become immediately evident at first glance.

For a quick overview of the most popular licenses, I really like this diagram: http://paulmillr.com/posts/simple-description-of-popular-sof...

That diagram rather effectively captures the most important differences between the licenses: copyleft of various strengths (GPL versus LGPL versus BSD/MIT), the added protections in the GPLv3 and LGPLv3 versus the v2 licenses, the rationale for the Apache license rather than MIT/BSD, and the subtle difference between BSD3 and BSD2 that you mostly don't need to care about.

If you want a more extensive analysis, I'd suggest reading the FSF's license list, which provides a rather comprehensive list, including specific issues with various licenses, and links to more information about common license features: https://www.gnu.org/licenses/license-list.html

One critically important disclaimer about that list: ignore everything it says about the GFDL (GNU "Free" Documentation License) and stay far away from that license. Always license your documentation under the same license as your code; don't use a separate, incompatible license.

You may also find the rather extensive and provocatively titled essay "Make your Open Source Software GPL-Compatible or Else" useful: http://web.archive.org/web/20110718154125/http://www.dwheele... . (Link to the Internet Archive because dwheeler.com seems down at the moment.)

Hope that helps.


Thank you, that is very helpful! You put a good amount of effort into that.

And yes, I agree, you have to know exactly what they say--but I fear becoming confused and forgetting which license allows exactly what after trudging through the legal constructions and lists of verbs such as "use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies" (well that's not so bad now).

Now this is a heavy, full-contract-like license: http://www.gnu.org/licenses/gpl.html

Thankfully, that sounds to be the exception among licenses.


Could you explain what you mean by this, please?

> ...Ignore everything it says about the GFDL (GNU "Free" Documentation License) and stay far away from that license. Always license your documentation under the same license as your code; don't use a separate, incompatible license.

I am about to open the essay you gave a link to. Also, for those interested, here is the discussion linked below the diagram:

http://news.ycombinator.com/item?id=2501536


Sure, happy to elaborate on that.

The GNU project repeatedly talks about documentation and other works as somehow separate from software, and makes comments like this: "However, for manuals and textbooks, or more generally any sort of work that is meant to teach a subject, we recommend using the GFDL rather than the GPL.". See this FAQ entry for a more extensive example: https://www.gnu.org/licenses/gpl-faq.html#WhyNotGPLForManual... . (Disclaimer again: I disagree entirely with just about everything said in that entry, as do numerous other FOSS developers.)

In general, the GNU project doesn't care much about things other than software. In particular, they've said they don't care much about the ability to modify data (such as media for a game), and they actively oppose modifiability of non-technical writing (such as their own essays, which allow unmodified copies only).

Among other things, the GFDL allows manuals to contain extensive unremovable and unmodifiable sections, such as the GNU Manifesto (which many people mostly agree with and find inspiring) and "Free Software Needs Free Documentation" (which many people strongly disagree with due to it propagating many of the same advocacy of the GFDL). The GFDL also contains very particular requirements about text placed on the front and back covers of a printed book (beyond just attribution), which also does not permit modification. (That requirement seems particularly hypocritical given the FSF's own essay about the GPL-incompatible 4-clause BSD license with advertising clause, https://www.gnu.org/philosophy/bsd.html .)

Most importantly, the GFDL and GPL remain incompatible licenses, which means you can't copy anything between documentation and code.

All of the above contributes to my recommendation that you ignore anything the GNU project says about the GFDL, and anything they say about not using the GPL on manuals.

All that said, I do actually consider almost all of the GNU project's "philosophy" section (https://www.gnu.org/philosophy/) well worth reading; it certainly inspired me when I first started learning about Free Software. Just take some of it with a grain of salt, particularly when it comes to anything other than software, because the GNU project really doesn't care about anything other than software.

Fortunately, the most recent update to the GFDL provided a way for Wikipedia and other large wikis to transition away from the GFDL and to the Creative Commons Attribution Share-Alike (by-sa) license, which doesn't have the issues with Invariant Sections and Cover Texts. Creative Commons licenses remain GPL-incompatible, which can cause practical problems for anything that might mix with other FOSS work, but not for Wikipedia and other similar wikis. Many people avoid them for software documentation for that reason, but they seem like perfectly reasonable licenses for almost any other work.

Recommendations for non-software: For documentation or other bits associated with a software project, use the same license as that software project. (For instance, X11 documentation uses the all-permissive MIT license, and the documentation for most non-GNU GPLed projects uses the GPL.) For any other work, use the GPL if some clearly identifiable "source" form exists that you want to preserve access to, use CC-by-sa if not but you still want a copyleft, and use CC-by or a simple all-permissive license like MIT otherwise.


That is a lot to take in, thank you for another extensive response.


This seems to have died out very quickly without any visibility.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: