- cross-posted to:
- programming@programming.dev
- cross-posted to:
- programming@programming.dev
This is from last month, but I haven’t seen any discussion of it. Seems like Forgejo is now a hard fork of Gitea, instead of being a soft fork like it was over the previous year.
The main reason I’m posting it now is this: “As such, if you were considering upgrading to Forgejo, we encourage you to do that sooner rather than later, because as the projects naturally diverge further, doing so will become ever harder. It will not happen overnight, it may not even happen soon, but eventually, Forgejo will stop being a drop-in replacement.”
No, it can happen when the organization that owns the product decides to change the license, to include making a product closed-source. Redis just changed from BSD to dual-license SSPL and a custom license, for example.
Because Gitea is MIT-licensed, Gitea Ltd. is well within their rights to change the license on Gitea to any license they please, including the “fuck you all rights reserved” license. However, unless specified in the license, you cannot revoke a previous license. So even if it’s closed going forward, you can still continue to use the last MIT version under that license.
You cannot do this with GPL code, however, because the GPL states that any work derived from something under the GPL must also be licensed under the GPL (“copyleft”). The person you are replying to seems to not know that the MIT license has no such requirement.
Well yeah, that’s how licenses and copyright work - licenses can change. And sure on an adversary take-over (or corporate overloads taking control), that’s problematic. However the beauty is, it’s still MIT code: It can be forked (see what’s happening with redis). However a project copyright (and DCO) is not in place to enable just that, it’s in place to enable any license change by the project. Say a license is updated and there are good reasons for the project to move to the updated license - I think it’s pretty reasonable that the project would like to be able to do that and therefore retain copyright. Of course you are also free not to contribute such a project. However claiming it’s a license violation or unheard of is pretty disingenuous (formerly ingenious, thanks :) ).
This has nothing to do with GPL or MIT: If you own copyright of a GPL licensed code-base, you can change that license at any time. Of course that only applies to new code. And that’s the same for GPL or MIT or any other license.
That last bit isn’t quite true. When contributions themselves are MIT-licensed, they can be relicensed. When the contributions are GPL-licensed, they can’t be relicensed by the product owner, because that right was not granted to them by the contributor. That’s where contributor agreements and copyright assignments come in.
(Also I’m pretty sure you wanted “disingenuous”, not “ingenuous”.)
Right. I was focusing on the point that what matters is the copyright notice. While your pointing out that you can relicense MIT code because MIT is so permissive, while you can relicense GPL to almost nothing, as it’s not compatible with most other licenses. However that’s kinda moot, you couldn’t include GPL code into an MIT licensed project anyway due to the copyleft.
(Thanks for the “ingenuous” correction, I did indeed - to my non-natively speaking brain the “in” acted as a negation to the default “genuous”, which yeah, just isn’t a thing of course)