The problem with the GPL license is that it didn’t imagine cloud computing and how the cloud would come to dominate the world of software. Cloud companies download open source software, modify it, run it on their servers and resell it as a service.
They’re not actually “distributing” the software because users never have the software installed on their computers. It means that cloud corporations have no obligations to contribute their modifications back to the open source community.
And this is against the spirit of free and open-source software. So there’s a license that considers cloud computing too.
Copyleft license: “If you make a derivative work of this, and distribute it or run it as a service on a server to others then you have to provide the source code under this license”
In the early 2000s, Stallman and others tried to close this cloud computing loophole and protect open source from this abuse by creating a new license. The GNU Affero General Public License (AGPL) was born.
The AGPL license is identical to the original GPL license with the only additional term being to allow users who interact with the licensed software over a network to receive the source for that program.
AGPL is designed to ensure corporations contribute back to the open-source community even when running the software as a service in the cloud.
If you used AGPL-licensed code in your web service in the cloud, you are required to open source it. It basically prevents corporations that never had any intention to contribute to open source from profiting from the open-source work.
It explicitly prohibits corporations from parasitically competing with an open source project. They won’t be able to take the code, make changes to it and sell it as a competing product without contributing those changes back to the original project.
Here’s that extra paragraph:
If you run a modified program on a server and let other users communicate with it there, your server must also allow them to download the source code corresponding to the modified version running there.
So how can a corporation commercialize a FOSS project without open sourcing their modified code? They can purchase a commercial license to remove the copyleft restrictions and in that way support the original project.
FSF recommends the AGPLv3 license for projects in the cloud
Free Software Foundation (FSF) and the GNU project state:
We recommend that people consider using the GNU AGPL for any software which will commonly be run over a network.
If it is likely that others will make improved versions of your program to run on servers and not distribute their versions to anyone else, and you’re concerned that this will put your released version at a disadvantage, we recommend the GNU Affero General Public License (AGPL). The AGPL’s terms are almost identical to the GPL’s; the sole substantive difference is that it has an extra condition to ensure that people who use the software over a network will be able to get the source code for it.
In theory I agree that the AGPL would be a nice license for Matomo (see also https://plausible.io/blog/open-source-licenses for some arguments).
The issue* is: The copyright over the Matomo code is spread over all of its contributors. So if you want to relicense Matomo you would need to have a written agreement of every person that every contributed to Matomo that they are okay with their code now being licensed under the AGPL. This means contacting over 250 people who contributed in the last decade, some of which may not be reachable or even alive anymore.
* Personally I don't see this as an issue as this guarantees that Matomo will stay GPL licensed no matter what happens in the future.
Disclaimer: This post was written quickly and might misrepresent some legal details.