A case against permissive software licenses
October 19th 2020 on Dušan's blog
The Free Software Foundation defines the four essential software freedoms as follows:
- Freedom 0: The freedom to run the program for any purpose, as you wish.
- Freedom 1: The freedom to study how the program works, and change it so it does your computing as you wish.
- Freedom 2: The freedom to redistribute copies so you can help your neighbor.
- Freedom 3: The freedom to distribute copies of your modified versions to others.
I think that preservation of these freedoms is not only in our best interest, but vital towards the entire goal of free software. In other words the software we use and/or the software we write should be and should remain free. All of this with the exception of Freedom 0, of course, requires access to the software source code.
It's my opinion that our hard work should be protected and that the people that inherit our freedom should pass on those same freedoms to others. It's here that the choice of software license becomes important.
Some licenses belong to the category of so called "permissive" software licenses. These usually take almost no effort to comply to. A classic example is the MIT license, a license so permissive that all it actually asks for is that you keep the copyright notice and not much else. On one hand this may seem like a good thing. Short, easy to understand, no nonsense free software license, yet it has a critical flaw, it doesn't guarantee that your freedoms are preserved. Modified versions of software licensed under MIT can be re-released under a different license or even made entirely proprietary.
By contrast, a license designed to ensure these freedoms ,the GNU General Public License, is much more difficult to comply to. Requiring not only that the copyright notice remains intact, but that all future versions of the software be licensed under the same license, requiring, in essence, that all derivatives remain free software.
And this is what I feel to be really important. Developers who tirelessly, and often unpaid, made their work available for free should enjoy the prospect of the community backing them up by giving back all of the potential modifications.
This stops the free software project from essentially competing with it's proprietary derivatives.
This is why It's my belief that all software we write should be licensed under the terms of a strong "copyleft" license, as they are called, such as the GNU GPL, ensuring that the same spirit we poured into writing it continues to live with each coming generation.