What the heck is a "free license"?

Funny thing about coders. We're not that good at saying what we mean. Many a flamewar has been fought over which is more "free", the GPL or BSD-like licenses. It's a silly discussion because who cares how "free" a license is? What we care about is how much freedom people have when they use our software.

Copyright law prohibits anyone from copying a piece of software, except the author. The author may choose to give up his exclusive control over copying to certain people. If he chooses to give up this control to everyone, and in all circumstances, we say he has put the work in the public domain. When it comes to software this is a somewhat risky proposition. If software is responsible for damages the author of that software can be sued, regardless of whether the software is in the public domain or not. To prevent this the author typically places a restriction on the software: you may use it, only if you promise not to sue me for damages caused by it.

The BSD-like licenses add a little more to this. They restrict the user of the software from removing the notice disclaiming responsibility for damages and the name of the author from the software. Some BSD-like licenses also require the user to attribute the author in any advertisements they make about the software.

The GPL places more restrictions on the user. It restricts which licenses may be used by the user to distribute derivative works and combined works of the software. Specifically it states that no more restrictions may be placed on the user of the software and that combined works must be distributed under the GPL. It also states that source code for the software must accompany any executable distribution of the software (or be provided upon request).

Software distributed under either of these licenses gives the freedom to copy the software to everyone. They just put restrictions on the way in which the software may be copied. If we assume that more-restrictions equals less-freedom, the GPL therefore provides less freedom for users than the BSD-like licenses. However, this assumption is flawed.

As users of BSD licensed software are free to redistribute the software with more restrictions than they themselves received it, not all users of the software have freedom. The GPL, by prohibiting the redistribution of software with more restrictions, ensures that all the users of the software have freedom. Therefore the GPL is actually a greater freedom providing license than the BSD-like licenses.

To ask which license provides the least restrictions on users of software is to assume that the least restrictions is the best way to achieve the greatest freedom for all users of the software. This would be true if not for cheaters who take software they have received without restrictions and pass it on with restrictions. By prohibiting cheaters from redistributing the software the GPL ensures all users of the software have freedom.

QuantumG
<< back to my home page