Skip to content

Conversation

@Salanto
Copy link
Contributor

@Salanto Salanto commented May 25, 2025

This license was added under dubious legal ground and, at best, should've only been added once consent from all contributors whose code was incorporated was given.
To relicense to MIT, all current code must be examined to determine who owns it, and contributor licenses must be signed to allow this dual-license or relicense nonsense.

AO2 does not gain copyright by people adding code. This license was added under dubious legal ground and, at best, should've only been added once consent from all contributors whose code was incorporated was given.
@in1tiate
Copy link
Member

Agreed. Although my contributions were all made after the dual-license, I have heard testimony from contributors whose code was present before the dual-license and did not agree to it. Regardless of my personal feelings the MIT relicense was done improperly and we shouldn't be distributing under it

@in1tiate in1tiate added internal For internal changes that do not affect the user DOOM#% Something is doomed to be destroyed labels May 25, 2025
@OrioleNix
Copy link
Contributor

What about the good faith contributions made with the explicit understanding of it using the mit license?

@Salanto
Copy link
Contributor Author

Salanto commented May 25, 2025

This is the issue here. Honestly, at this point, we might need a copyright lawyer to do this properly.
In prior precedence cases it was agreed that the GPL license is the one to go for, like the case where CC was redistributing an AO2 client with a changed logo from a forked repo.

Additionally, the oldest license IS the GPL license, see :
de28c3e

and nobody bothered to ever clarify their license in their contributions, including me, who always assumed the MIT license was invalid anyway.

@TrickyLeifa
Copy link
Contributor

TrickyLeifa commented May 25, 2025

This license was added under dubious legal ground and, at best, should've only been added once consent from all contributors whose code was incorporated was given. To relicense to MIT, all current code must be examined to determine who owns it, and contributor licenses must be signed to allow this dual-license or relicense nonsense.

The MIT license after the whole debacle of custom clients, as it was realized GPL was too restrictive for the project. He eventually relicensed AO2 as MIT MIT (which was forked and preserved as evidence for future things) which was why AO2 was eventually dual licensed.

If you want to remove the MIT license, only OmniTroid, legally speaking, is allowed to.

@OmniTroid
Copy link
Contributor

The dual licensing was indeed dubious because it was never done with consent from all contributors. The way I see it is that it has never really been valid and removing it is the most sensible choice.

stonedDiscord
stonedDiscord previously approved these changes May 25, 2025
@Salanto
Copy link
Contributor Author

Salanto commented May 25, 2025

I think, for the sake of community contributions, we should carve an exception in the GPL for any commit prior to this one?
That is for Omni to decide tho.

@OmniTroid
Copy link
Contributor

Don't make things complicated, just cover it with (only) normal GPLv3 and be done with it.

@Salanto
Copy link
Contributor Author

Salanto commented May 25, 2025

Gonna leave this open for a while to ensure people have the opportunity to give their final thoughts, but currently it seems the MIT is being invalidated.

@Salanto
Copy link
Contributor Author

Salanto commented May 25, 2025

Don't make things complicated, just cover it with (only) normal GPLv3 and be done with it.

We have a legal obligation to respect the copyright holders of every commit in this repo. Maybe it's a triviality to some, but using peoples code outside of the license terms they invoked opens the project to potential C&D issues down the road. All it takes is one bitter former contributor. Let's not just close our eyes and pretend like copyright law does not exist. If you want to license the repo exclusively under GPL-3, get written consent from every contributor and remove contributions from those who do not agree or cannot be reached.

Just because the process was botched in the first place doesn't mean we should botch the correction to it.

I am already trying to locate the contributors of any contribution ever made in AO2. Though some will be harder to reach than others.

@mposs00
Copy link
Contributor

mposs00 commented May 25, 2025

Ok, after consulting some info online and more knowledgeable people, I came to a different conclusion.

We offer end users the rights to use the project under either MIT or GPL. This is clearly stated in the project README. This means that by contributing, authors are agreeing to both licenses. Therefore, every author has agreed to the GPL already. Furthermore, the MIT license is more permissive. GPL does not grant any new rights to use the code that was contributed.

Therefore, by removing the MIT license, we are not distributing the code in any way that has not already been agreed to by contributors. So, we should be able to remove it without friction.

The big caveats here are that

  1. Any version released prior to the removal of MIT must remain available under dual GPL/MIT. GPL restrictions won't apply if users choose to use these past versions under MIT
  2. We must ensure that no files or signed-off-by lines are marked as explicitly only being MIT. I doubt this applies here but we should do our due diligence. The copyright is clearly stated as both MIT and GPL in the license files and the README in the root of the project, so implied assent applies.

@mposs00
Copy link
Contributor

mposs00 commented May 25, 2025

Also, we must make it absolutely clear to any new forks or existing forks that rebase on any commit made after this change that they MUST provide source if requested from this point onward.

@Salanto
Copy link
Contributor Author

Salanto commented May 25, 2025

Would a notice in the readme work? Point people to the last MIT commit and we are good?

@mposs00
Copy link
Contributor

mposs00 commented May 25, 2025

Proposal:

  1. Review that we have no explicit contributions under MIT-only in the form of header comments, signed-off-by comments, etc
  2. Remove MIT license and statement from README
  3. Tag last release as last-dual-licensed
  4. Add a RELICENSE.md file to the root of the repo explaining the GPL restrictions clearly, and highlight that previous versions are also available under MIT
  5. Identify maintainers of closed-source forks and make the new license terms clear to them. If they choose to rebase on any new commit after the relicense, they must provide source.

@in1tiate in1tiate changed the title Delete diubious MIT license Delete dubious MIT license May 25, 2025
@Crystalwarrior
Copy link
Contributor

Since Omni said it's dubious I do not object to GPLv3, my contributions were done under the assumption of the GPL license and I never could figure out the MIT dual license. Was just confusing.

@OrioleNix
Copy link
Contributor

I don't think any direct code contributions of mine ever made it to prod (because thankfully people make better implementations than I do), but if they have, I consent to gpl3 exclusive licensing

@Salanto Salanto requested a review from stonedDiscord May 30, 2025 06:59
@stonedDiscord
Copy link
Member

this review is not legal advice

@stonedDiscord stonedDiscord merged commit 4e16537 into master May 31, 2025
3 checks passed
@stonedDiscord stonedDiscord deleted the delete-mit-license branch May 31, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

DOOM#% Something is doomed to be destroyed internal For internal changes that do not affect the user

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants