Forgejo is changing its license to a Copyleft license. This blog post will try to bring clarity about the impact to you, explain the motivation behind this change and answer some questions you might have.
...
Developers who choose to publish their work under a copyleft license are excluded from participating in software that is published under a permissive license. That is at the opposite of the core values of the Forgejo project and in June 2023 it was decided to also accept copylefted contributions. A year later, in August 2024, the first pull request to take advantage of this opportunity was proposed and merged.
...
Forgejo versions starting from v9.0 are now released under the GPL v3+ and earlier Forgejo versions, including v8.0 and v7.0 patch releases remain under the MIT license.
I'm assuming that there has been some resistance to using the GNU AGPL with Forgejo (it seems the discussions about licenses has been contentious), and the GNU GPL seems to have been discussed much more than the GNU AGPL. It was probably overwhelmingly likely that we would get Forgejo with the GNU GPL rather than the GNU AGPL. I would have preferred that the GNU AGPL was used instead, but I'm not going to worry about it much since I probably can't change this situation for the better.
Please note that the GNU AGPL is not compatible with GPLv2. It is also technically not compatible with GPLv3 in a strict sense: you cannot take code released under the GNU AGPL and convey or modify it however you like under the terms of GPLv3, or vice versa. However, you are allowed to combine separate modules or source files released under both of those licenses in a single project, which will provide many programmers with all the permission they need to make the programs they want. See section 13 of both licenses for details.
As someone who worked at a business that transitioned to AGPL from a more permissive license, this is exactly right. Our software was almost always used in a SaaS setting, and so GPL provided little to no protection.
To take it further, even under the AGPL, businesses can simply zip up their code and send it to the AGPL’ed software owner, so companies are free to be as hostile as possible (and some are) while staying within the legal framework of the license.
simply zip up their code and send it to the AGPL’ed software owner
That seems good enough to me. No?
Sure, it would be nice to have the whole versioning system history,
but even having the current version of the code makes it possible to do a code review.
And modification too.
Self-Building and deployment might turn out to be harder, but that would just be about which side is having to put the effort of making something comprehensive.
Ever since I read this Article I have been wanting to delete my GitHub account and migrate over to another platform. I would give a summary but I'm incapable of doing so.
If this info is outdated or misinformation then please let me know.
Forgejo appears to be a self hostable code sharing web platform like gitea or GitHub. I've used gitea for this. Is Forgejo better or what? There is also Gitlab which is way bloated.
Its a fork of gitea. It formed when gitea did something that the community didn't like. I don't remember the reasoning. But, I remember someone sending me a bunch of info about it in the past and it was enough for me to switch.
Copyleft = permanently open source? Ie, you can't take the open source code/project and make it closed source? (or build a new closed project off of it?)
AGPLv3 is not anti-business or anti-money. It's saying if you want to use the code in a closed source project you need to pay the copyright holder
The copyright holder is the original author, not a maintainer or someone who forked a project and renamed it.
That's why the #1 thing mentioned in copyleft licenses is you can't alter the copyright notice and declare yourself the original author
AGPLv3 is a good license to choose. All the other licenses are naive and do not combat closed source projects and the slave worker that keeps our projects unfunded
Yep, that's the gist of it. In order to change the license from the GPL, they'd need the permission of all of the copyright holders who've contributed code under the GPL to the project. After a few months have passed, this basically makes it impossible (or at least extremely difficult) since at least one person (and likely many people) will say no.
always a pleasure to see bigprojects going full copyleft amidst the recent influx of projects sadly going source-available
this is the main reason not to sign a CLA. you should not let a third-party use your copyright to restrict user freedom in the future because they swear "they ❤️ open source" now, and would never use your code to only their own benefit.
Except both of the projects you just linked too have CLAs, which they updated on switching to AGPLv3. Both use them as a way to offer dual-licensing, so they can charge companies for an AGPL-exception by selling them a proprietary-licensed version, which then supports the FOSS-development. They both were also only able to change to AGPL because of already existing CLAs. At least in Element's case though, they created a two-way commitment in their CLA:
Now, CLAs come in all shapes and sizes: some good and some bad. It’s critical to understand that our reason for requiring one here is to give us the right to sell AGPL exceptions: not to “do a Hashicorp” and switch to a non-FOSS licence in future. We’ve made this clear in the wording of the CLA (using a similar approach to Signal’s CLA) by committing to distributing contributions as FOSS under an OSI-approved licence – many thanks to those who gave feedback on the original announcement to suggest this. You can find the final CLA wording here, derived from the well-respected Apache Software Foundation CLA.
Here's the specific text from the CLA:
Element shall be entitled to make Your Contribution available under Element's proprietary software licence, provided that Element shall also make Your Contribution available under the terms of an OSl-approved open-source license.
I personally consider that a fairly reasonable term. Especially because they specified an OSI-approved license. Element are always going to be bound to that now. This is like the copyleft of contributor license agreements.
Maybe a more appropriate practice is to only engage with a Contributor License Agreement if the repository one contributes to is already available with the GNU AGPL or one is actually in control of some money the person one contracts with will gain due to one's changes. For example:
Before I contribute to a project, I should make a copy of as many relevant repositories I'm able to and ensure each one is easy to redistribute, and only make changes to my copies. That way, I can continue distributing the improved software if a person I engage in a CLA with does something I don't like later, but they are still able to apply any change of mine to a repository that gets more attention (thus helping more people). Also, I might get money (as an employee) for doing this, which would prevent that money from being used against the Free Software Movement.
If I were a board member, manager, or employee and someone engaged in a CLA with an entity I have influence over, I have a good chance to direct more money to support the Free Software Movement (or block dealing with a person where doing so would be harmful).
If I have already fixed a software issue, made it clear what license should be used with my change, and made it available to the public, I wouldn't necessarily be against engaging in a CLA (though I might ask to be paid to do so since I wouldn't normally go out of my way to manually sign things, and I do value my time).
Unless you're selling the software or licenses to it, I don't really see a reason not to go copyleft. I mean, think about it. If someone tries to make your thing but better, they have to release the modifications, so you can grab it for yourself and suddenly you're at the same level. If they piggyback off your work, you can piggyback off theirs, and you have the advantage of being the original. Correct me if I'm wrong.
Copyleft software licenses are considered protective or reciprocal in contrast with permissive free software licenses,[2] and require that information necessary for reproducing and modifying the work must be made available to recipients of the software program, which are often distributed as executables. This information is most commonly in the form of source code files, which usually contain a copy of the license terms and acknowledge the authors of the code. Copyleft helps ensure everyone's rights to freely use the product but it prohibits owning, registering copyright and earning royalties from copyright.
Permissive licenses permit a broader range of use compared to “copyleft” licenses.
“copyleft” here just being a cute way of being the opposite of copyright - instead of disallowing others from what they can do with “copyrighted” code, “copyleft” requires that they (upon request) share modifications to your code.
Permissive takes away this requirement to share your modifications. “copyleft” is considered more free and open source (FOSS), permissive is more business friendly.