Why not CC0?
My personal reasoning for using AGPL-3 instead of CC0.
Copyright, Intellectual Property, and Software Development
Under the current capitalist system, things like copyright and intellectual property exist with the outspoken “intent” to “protect” ownership for those who create, so “evil” people who want to clone or copy their idea instead of collaborate end up facing hefty fines and even imprisonment until they decide to stop. In reality, these things exist to protect the means of producing capital, which will eventually be owned by the highest bidder, and to stifle innovation unless consented to by the original “author” of the idea or media which would be built upon.
Against the grain, copyleft licensing has risen. It exists as a way to reduce the effect of copyright on innovation, through allowing things like copies or clones of software to exist, and even to generate capital, but to typically require that improvements or changes to the source code are public. Developer ecosystems have been primarily copyleft areas for some time now, spawning a slew of open source licenses from Mozilla Public License to GPL-3 in order to satisfy people’s craving for a truly open space where innovation can flourish at the hands of anyone who can use a computer.
Among these, CC0 is a specific license which, for all intents and purposes, aims to submit the licensed content to each country’s equivalent of the public domain, or release all rights to the content where no satisfactory equivalent exists. The idea behind it is generally to completely distance oneself from the limitations of copyright and allow anyone to do anything with what you make. It’s not often used, but on the surface it seems like a prime solution to the issue of copyright.
So, why not CC0?
CC0 does really seem like this perfect solution to the copyright issue, right? Well, sort of. It does succeed in its attempt to distance the author from any sort of infringement of rights that copyright brings, but it does not take any safeguarding against the issues with the public domain as it exists under capitalism.
Under capitalism, not only can software in the public domain be privately forked, iterated upon, and held without upstream contribution to generate as much capital as they can, but it’s intrinsically encouraged by the fact that if they contribute their changes, someone else may be able to use the same code in order to cut into the profit they’re able to generate.
Because of how capitalism is designed, allowing code into the public domain is sadly equivalent to performing free labor for a corporation which seeks to do nothing more than steal your labor, secretly iterate upon it, and use it for their own profit-bent purposes.
What then?
Many open source licenses seek to solve the capitalism problem, at the expense of using the tools of capitalism to do so. From restricting forms of usage to requiring commercial users to submit changes publicly, each license has its ups and downs for solving these issues.
AGPL-3 fits my use case quite well, and it’s what I’ve chosen. It enforces “keep innovation open-source,” which would, in a better economic system, be encouraged and incentivized much like how “keep everything closed and make as much profit as possible” is incentivized now. In addition, it not only requires commercial users to make changes open source with the same license but, like GPL-3, also requires all binaries that link a library licensed under AGPL-3 to also be licensed as AGPL-3. It also closes the SaaS loophole in GPL licenses, where if a company exposes a forked version of your code as a web service it’s not considered “distribution,” thus not requiring them to make changes public.
These assurances, among other restrictions, secure that my code will always be public, innovations and usages will always be public, and private for-profit forking and usage is legally discouraged. It’s not perfect, but it’s my personal choice while operating under the economic system we have right now.
