Delete dubious MIT license
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.
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
What about the good faith contributions made with the explicit understanding of it using the mit license?
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 : https://github.com/AttorneyOnline/AO2-Client/commit/de28c3e4f2b4b31cd7b531c6875fd040b7e430e7
and nobody bothered to ever clarify their license in their contributions, including me, who always assumed the MIT license was invalid anyway.
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.
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.
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.
Don't make things complicated, just cover it with (only) normal GPLv3 and be done with it.
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.
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.
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
- 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
- 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.
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.
Would a notice in the readme work? Point people to the last MIT commit and we are good?
Proposal:
- Review that we have no explicit contributions under MIT-only in the form of header comments, signed-off-by comments, etc
- Remove MIT license and statement from README
- Tag last release as
last-dual-licensed - 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
- 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.
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.
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
this review is not legal advice