The following is a typical exchange from an Internet discussion about software licensing issues:
Person #1: I posted my code under the [license] license.
Person #2: You should have used the [LICENSE] license. It is the only license that is free.
Person #1: I chose the [license] because only [license] really is free!
Person #2: You chose wrong.
Person #1: You only think I chose wrong! You fool! You fell victim to one of the classic blunders! The most famous of which is never choose emacs over vi, but only slightly less well-known is this: never ever license your code under [LICENSE]! Ha ha ha ha ha ha ha! Ha ha ha ha ha ha ha! Ha ha ha....
There have been many hours and pages dedicated to analyzing the difference between different software licenses. Software licensing can be a headache—one of the unfortunate costs that the intellectual property system imposes on society. Nevertheless, we spend the time because it is vital to get these issues handled correctly.
Intellectual property (and copyright in particular, which covers source code) is oriented toward preventing use of copyrighted material. Speaking generally, if you don’t license your code, it can’t be used (legally) by other people.
More specifically, software licensing is about setting boundaries on what other people can do with your code. The complexity of licensing comes from defining and explaining those boundaries in legal, enforceable terms.
The most ...