Why I use the GNU General Public License
The GPL receives a significant amount of criticism for the way it claims to be a free software license yet imposes a number of restrictions and requirements upon the users and developers of GPL software.
One of the most common arguments against the GPL is that it intentionally restricts its users despite claiming itself as a free software license. These claims are accurate, but in my opinion looked at in the wrong light.
The GPL prevents anyone from relicensing the software or derived works under any other license, making it a viral license. It can only grow in number. This was an important decision made by Richard Stallman (author of the license) in order to prevent anyone from making nonfree software using the work of free software developers.
The most free way to license any software would be to give up your copyright and release it into the public domain, allowing anyone to do literally anything with your software. Freedom is good, so we should do that, right? Eh, not really. The problem lies in the fact that at this point, freedom becomes dangerous. Anyone could use their freedom to attack the freedoms of others. The same problem exists with other permissive licenses like the BSD and MIT licenses.
The GPL treats software freedom much like the United States treats freedoms such as the freedom of speech. You can do whatever you want except take away that freedom from other people. The GPL perpetuates free software, and I truly respect that.
I will continue to license my software under the GPL because of its restrictions. It is through those restrictions that it promotes freedom for all.
Since writing this, my opinions have changed. I discuss them in another article.