Reasons Not To Use the GPL - 2017-03-25
NOTE: I am explicitly referring to the GNU General Public License version 2 and 3 when I say GPL, it is not referring to other licenses such as the Lesser General Public License or the Affero General Public License.
However, this is only on the user-side on how to protect ourselves, but this also has consequences on the developer-side as well, more specifically if you are going to license any of your programs under GPL. This is something that concerns you even if you are not making a web application, and it concerns everyone who wants to put a GPL license on their next project.
To start, let me explain the difference between the GPL and AGPL licenses: AGPL was born because in the era of these web applications a flaw in the GPL was perceived where one could modify the source code of another person's back-end and run that modified copy in a production environment, yet because they are not distributing binaries per se they are not legally obliged to provide the sources. This is the case with web apps such as Wordpress. This change was not integrated into a GPLv4 or similar because some people (such as Wordpress) are fine with others hosting modified copies of their program and not providing sources. This is their choice. And this difference is quite obvious when we are looking at web applications, it is quite simple to understand the consequences and how you are affected as a developer. However, what happens when this does not apply to a web app? What's more, what happens when this applies to your client?
We are reaching the technological capability by which almost everything can be put on a web service (SaaSS, or more commonly referred to as 'The Cloud'), mostly through the means of web apps such as webmail, remote file storage, and even document editing. These remote services have ethical issues of their own (independently of whether or not the source code be available under a Free Software license). However, at the same time we are starting to see the capability of running our own desktop applications remotely via a web interface, and this is where the issues with the GPL come into play.
Let's say that you created a document converter to convert between multiple file types. It's a command line application where you simply input filenames as arguments, and since you are a supporter of copyleft, you license it under the GNU GPL (version 2 or 3, it does not matter). At this point someone can take your software, enhance it (perhaps by allowing it to convert to more file types), hook it up to a web front-end, and at this point they are now allowing your program to be used, while modified, and yet they are not at all obliged to distribute their modified copy. Through the web they have effectively bypassed your copyleft license restrictions.