On Software, Licenses, Morals and Ethics
From time a discussion takes place on issues related to free software vs open source licenses. In this type of discussion, there are always free software advocates who defend the GPL and the AGPL and open source advocates and detractors of the free software movement (and more specifically of Richard Stallman and the Free Software Foundation), who defend the use of more permissive licenses such as MIT and the various BSD.
Generally speaking when people talks about open source software they focus on the technical side of things: collaborative development, better software quality by being developed by more people, greater security by having more eyes to review it, etc. Others focus more on the economic side which is mainly that they don't have to pay for the software. On the other hand when people talk about free software, they inevitably talk about concepts of a more humanist nature: ethics and morality, what is just and unjust for people, the greater good to say it in some way.
More or Less Free (As In Freedom) Licenses
The classic argument against the GPL and the AGPLv3 is that these licenses enforce certain restrictions so they are not really free while other most permissive licenses are. In short, these people complain about the fact that the GPL and, especially, the AGPLv3 doesn't allow someone to take a free software program and make a proprietary version of it.
Another argument that comes up from time to time is that, because of these "restrictions", if you license your project under the terms of the GPLv3 or the AGPLv3 no one is going to use it, so why do you want to do something no one will use? This is nonsense because many people use software under both licenses every single day, very likely even those who make such ridiculous comments.
When the free software movement talks about freedom, it talks about freedom for the users, understanding as a user someone who uses a program and / or the source code of a program, so the freedom to protect is mainly the freedom of individuals. Therefore both, the GPLv3 and the AGPLv3 seek to give a number of rights while ensuring no one can take them away.
This is why these licenses contain terms that allow users to redistribute the software with or without changes, free of charge or charging an amount, but with the obligation to do so under the same license. On the other hand the most permissive licenses do not include such "restrictive" terms, so in practice they allow anyone to deprive others from the same rights he is enjoying.
Both the GPL and the AGPL give these rights when the program is distributed, that is, a copy of it is given to the user. According to the GPL, the distribution occurs when the user receives a copy of the program to run it on his or her device, either by an online download of a file or set of files, or by distribution on a physical support: diskette, data tape, pendrive, cdrom, etc. As the saying goes, "where there's a law, there's a loophole" and certain actors found a way to take advantage of free software, make a profit from it and give nothing back. Thus Software as a Service (Saas) was born.
Those who offer software as a service, according to the terms of the GPL don't give a copy of the software, so they have no obligation to give back the changes they made to the software. The AGPLv3 comes to solve this loophole by adding the following in Section 13:
… if you modify the Program, your modified version must prominently offer all users interacting with it remotely through a computer network (if your version supports such interaction) an opportunity to receive the Corresponding Source…
This renders nearly impossible to offer the software without giving the source code to the user.
Who Profits From What?
Taking into account all of the above, it is quite easy to realize that a program under a more permissive open source license is interesting for companies of a certain size that have the means to capitalize this software either by selling it as a service, or by making some changes to it and by reselling it as proprietary software. The typical cases are, of course, those companies known as big tech. Apple took permissively licensed software under BSD licenses, modified it and made their propietary OSes Mac OS X and iOS. Microsoft and Amazon with their cloud computing services are another example of how to profit from GPL-licensed software without having to give anything back.
Regarding the argument of "why do you do something if no one is going to use it", I think that "no one" mainly refers to this type of companies. One example is Google prohibits its engineers to use any code licensed under the AGPLv31.
Among the affected there are many cases to choose from, individuals and, not so big, tech companies alike. Some famous ones are the case of javascript colors and faker packages2 (licensed under the MIT license), Log4j3 (licensed under Apache APL 2.0) and Redis4 (originally licensed under BSD-3 clause), MongoDB5 (originally licensed under AGPLv3) and ElasticSearch6 (originally licensed under Apache APL 2.0).
Anyway, Software Has To Be Open Source, Right?
Taking into account the criticism made by members of the open source community to Redis, MongoDB, ElasticSearch and even to the colors and faker developer, Marak Squires, anyone could think that the only thing everyone agrees with is that software has to be open source. However, some facts seem to indicate that it depends.
If you are a small actor like an indie developer, a small development team or a company that is not extremely large, it matters a lot that your software is not proprietay. On the contrary, much less importance is given when the proprietary software turns out to be the MacOS operating system running on the MacBooks used by many open source developers, or if the proprietary software makes nVidia graphics cards and Qualcomm WiFi chipsets work properly on Linux kernel based systems.
No surprises here given that an important number of those who give ethical and moral lessons, and advise on software licenses, do so as they are on their way to the bank in order to cash their checks signed by RedHat (IBM), Google, Meta, or Microsoft, among others. In this charming panorama, you'll find all sorts of gems, from the open source community leader who get mad because someone tries to reverse engineer a proprietary program to make a free version of it7, to the open source flagship company that takes all the free software it wants and make a de facto proprietary product out of it8.
Final Thoughts
Time and experience taught me that free and open source programs can be made and used for abusive purposes, the very same way that I have also seen indie developers and small development teams make proprietary programs that provide them with a decent income without exploiting, extorting or taking advantage of anyone. I think everyone can do with their time and money whatever they want and like, as long as they don't harm anyone.
I'm ok with people who make free software under whatever license they like, even though I always recommend the AGPLv3, because they want to contribute altruistically to society and/or make a living out of it, and I'm also ok with people who make an honest living by doing proprietary software. On the other hand I'm absolutely not ok with people who act in bad faith, who say one thing while they're doing the opposite, who are trying to give an appearance of commitment to society when they actually manipulate things so that the coporations that sign their checks get outrageous earnings by deceiving and exploiting everyone else.
The bad is not in licenses or programs. The bad is not in whether you do free software, open source software, or proprietary software. The bad lies in the lack of critical thinkng and the lack of honesty. The bad is in people's egos and sick ambitions.