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.
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 (edit: both the aforementioned projects seem to adopt CLAs, though it seems that they aren't hostile and are especially pro-copyleft. see this amazing correction by @princessnorah@lemmy.blahaj.zone for context). 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.
thanks for the awesome info, I should've at least check the repo of the individual projects first (only did so with Forgejo).
I totally agree with you, and do think that it is possible to have positive and harmless CLAs. though I do think we should always take a step back and not assume that a project's CLA will be in favor of our copyright, with the case being more the exception than the norm, unfortunately.
in the end, I will always be happy that a copyright holder wants to be able to reliably make money with copyleft software, but I can never really face a CLA without at least initial hostility anymore. you may say I have prejudice against CLAs lol
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.
there’s certainly a camp in FOSS that considers “whatever you like including commercial activity” to be the one true valid version of “free software”
like… if someone wants to take an MIT project, add a bunch of extra features to it keeping some available only with payment, and contribute back bug fixes and some minor features etc, i wouldn’t necessarily say that’s harming the project and this is overall a good thing? it gets the original project more attention
like it’s perhaps a little unfair, but if the goal is quality and scope of the original project - or even broader of the goal is simply to have technology AVAILABLE even if it is with a few - then that goal has been met more with an MIT-like license than it would be with a copyleft license
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?)
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.
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
"Copyleft licenses do not only benefit the developers. They also guarantee freedoms to users of the software. They reduce the risk of exploitive business practices, like creating a modified version of Forgejo with less freedoms to the users, which could ultimately trap users in a vendor lock-in."
God, you absolutely love to see it. So called "permissive" licenses should be banned because of this.
GitHub has long sought to discredit copyleft generally. Their various CEOs have often spoken loudly and negatively about copyleft, including their founder (and former CEO) devoting his OSCON keynote on attacking copyleft and the GPL. This trickled down from the top. We've personally observed various GitHub employees over the years arguing in many venues to convince projects to avoid copyleft; we've even seen a GitHub employee do this in a GitHub bug ticket directly.
You only need to know that corporations do not like copyleft to know it is good. The same goes with capitalists and wealth tax / inheritance tax.
It really applies to anything. Whenever you read of policy related arguments always look at the people complaining. Rule of thumb is it gives you a good idea of who the policy hurts the most. If it's large companies or rich people complaining by and large it's probably a good policy.
I am against any wealth tax. The revenue services for many governments are very focused on not blocking economic growth, and then periodically taking a reasonable amount of wealth.
In the end, only wealth can be taxed (things that aren't physical can't be seized and auctioned). However, I don't want to be forced to let someone into my house to calculate how much stuff I have.
In general, I think it’s more reasonable to monitor wealth moving (and more so if wealth moves between people) rather than to force people to cooperate with monitoring wealth staying in the same place. I don’t want someone checking up on whether I own the same stock certificates or gold bars each year; that seems like an insult to my dignity.
I don't think that focusing on people who already pay a disproportionate amount of tax will be very helpful. Rapidly changing what is taxed (wealth vs income) would probably be harmful, as people will probably have trouble adapting to significantly different policies. For example, we'd probably hear about people who happen to have inherited expensive houses being unable to pay thousands of dollars for tax bills, after thinking that they wouldn't be affected by policy changes.
Avoidance
If there was a wealth tax and I was rich enough to spend a lot of time managing my money, I would just create a "charitable organization" that I and my family completely control, then have it pay people to do things I would want them to do anyway, and maybe even try to let the charity pay a high wage to its managers (such that I could be a manager and get the charity to pay for my yearly living expenses, directly or indirectly). I also might be able to get away with using a trust or charitable remainder trust to avoid being affected by a wealth tax.
I don't know the degree to which tax exempt organizations affect my life, but I do know that trusts have a relevant affect on my life, since they are often used to own land, specifically by landlords of housing and by people who own land that is worth a lot of money. How they are dealt with would probably have to significantly change in order to accommodate a wealth tax.
However, having separate inheritance law might also make things less painful for some people. If my assets suddenly gained or lost a large amount of value just before I died, I wouldn't want that to justify taking more wealth from my heirs. Having a special way to value assets gained due to someone dying might be more reasonable than treating each receipt as a gift.
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.
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.
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.
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.
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.