Is it possible to summarize the differences among various open source licenses in one sentence?

Some require that the source remain open forever (GPL), and others let you fork derivatives as closed source (is this considered equivalent to CC-share-alike?). Some require attribution. Some require non-commercialization. Speaking along this line of thought, is it possible to summarize various open-source licenses with the above 3 criterion?

Questions on Stack Overflow are expected to relate to programming within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers
3

Open Source has nothing to do with non-commercialization per se. Maybe you're mixing up open source and freeware (Gratis versus Libre)? In fact, I'm not aware of any licence generally considered open source which requires non-commerical use. Attribution isn't tied to the idea of free software either, but all licences I'm aware of (certainly MIT, GPL and BSD) do require attribution - usually, you have to retain the original copyright notice.

The main difference is the presence of copyleft, i.e. the requirement to release modifications of the source code as open source (usually under the same licence as the original code was) - this is the closest to CC-share-alike. The most prominent example is the GPL. MIT and BSD are so-called permissive licences, they allow you to release derivates under another licence, including as closed source.

CC is a different kind of animal, it is worded generally enough to be appliable to e.g. visual art, music, texts and other contents, while open source licences generally only work for... well, stuff with source code - software. The CC-no-derivates is incompatible with the idea of free software and CC-non-commercial module is more in the spirit of freeware than in the spirit of free software. Note that the guys behind CC recommend using an existing open source license over CC for software.

MIT followed by BSD are most liberal, which allows you to close-source your code, governed by very little conditions.

GPL causes anything that "uses" the code to become GPL, which is open source. many project would use GPL with caveats. For example: before LGPL, the so called GPL+library (or GPL linking exception) was used. GCC license draws the distinction between using the compiler for compiling and "using it"

LGPL is a license for libraries. It allows you to use the library and keep your project closed source, provided you do not edit the library. If you need to extend the library for your project, you will only need to publish the part that you have extended, and keep the rest of your project closed source. If you dynamically link the library, there are very little more constraints.