Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0)

As was discussed last year, Joplin is switching to the GNU Affero General Public License v3 (AGPL-3.0) for the desktop, mobile and CLI applications, as well as the web clipper.

Any open source or commercial fork of Joplin will have to license any changes they make under AGPL, and share these changes back with the community. This is the main reason we switch to this license. It allows us to continue releasing the project as open source while ensuring that those who benefit commercially (or not) from it share back their changes.

What is the GPL license?

The AGPL license is based on the GPL license. This is what tldr;Legal has to say about the GPL license:

You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions. (source)

What is the AGPL license?

This is the license we'll use for Joplin from now on:

The AGPL license differs from the other GNU licenses in that it was built for network software. You can distribute modified versions if you keep track of the changes and the date you made them. As per usual with GNU licenses, you must license derivatives under AGPL. It provides the same restrictions and freedoms as the GPLv3 but with an additional clause which makes it so that source code must be distributed along with web publication. Since web sites and services are never distributed in the traditional sense, the AGPL is the GPL of the web. (source)

What does it change for users?

There is no changes for users of Joplin - the apps remain open sources and you can still use them freely.

What does it change for developers?

Any code you develop for Joplin will also remain open source. The only difference is that we'll ask to sign an Individual Contributor License Agreement (CLA) to ensure that the copyright of the entire codebase remains with the Joplin organisation. This is necessary so that if we ever want to change the license again we are able to do so without having to get the agreement of each individual contributor afterwards (which would be nearly impossible).

This is a bit of an extra constraint but it is hard to avoid. Contributor License Agreements are very common for GPL or AGPL projects. For example Apache, Canonical or Python all require their contributors to sign a CLA.


If you have any questions please let us know. Overall we believe this is a positive improvements for Joplin as it means any work derives from it will also benefit the project.


How about simplifying the signing process by bots like these?

Thanks for the suggestion. I'm actually trying at the moment but it doesn't seem to be working well. Maybe that GitHub Action would be better for us, since that's already what we use.

I'm guessing this doesn't place too many restrictions on programs that use the joplin data api to interact with software and still take the mit license?

1 Like

Yes, programs that use the API or plugins can still be in any license of your choice, there's no restriction on this.