Page MenuHomePhabricator

Cite extension code uses mixed licenses
Closed, DeclinedPublic

Description

  • COPYING.txt contains the GNU GENERAL PUBLIC LICENSE, Version 2
  • MIT-LICENSE.txt contains The MIT License
  • extension.json states GPL-2.0+
  • CiteCSSFileModule.php and Cite_body.php state GNU General Public License 2.0 or later
  • ApiQueryReferences.php added via https://gerrit.wikimedia.org/r/271422 comes under WTFPL 2.0
  • CiteDataModule.php, CiteHooks.php and files in modules/ve-cite/ come from VisualEditor and are subject to The MIT License

Event Timeline

@Jdlrobson are you willing to relicense code in ApiQueryReferences.php under GPL-2.0+ and/or MIT?
Thanks in advance.

Why was ApiQueryReferences added using WTFPL? That's not an OSI-approved license, and we need to be working to remove usage of it. :(

Fine with me. I think I only used that license to be consistent with a similar API that was using that license.

I would prefer GPL anyhow.

Change 295033 had a related patch set uploaded (by Legoktm):
Relicense ApiQueryReferences as GPL-2.0

https://gerrit.wikimedia.org/r/295033

Fine with me. I think I only used that license to be consistent with a similar API that was using that license.

I would prefer GPL anyhow.

Thank you very much, I've uploaded a patch to change that file to GPL.

For the rest of the extension, I think switching it all to GPL will be the cleanest.

Change 295033 merged by jenkins-bot:
Relicense ApiQueryReferences as GPL-2.0

https://gerrit.wikimedia.org/r/295033

Change 295110 had a related patch set uploaded (by Legoktm):
Relicense ApiQueryReferences as GPL-2.0

https://gerrit.wikimedia.org/r/295110

I don't understand this task. "Mixed licences" is not a problem (otherwise we'll have to go delete MediaWiki and start again). Close Invalid now that the WTFPL code is relicensed?

Change 295110 merged by jenkins-bot:
Relicense ApiQueryReferences as GPL-2.0

https://gerrit.wikimedia.org/r/295110

I don't understand this task. "Mixed licences" is not a problem (otherwise we'll have to go delete MediaWiki and start again). Close Invalid now that the WTFPL code is relicensed?

Reducing licensing complexity is beneficial to potential contributors & re-users, so they dont need to be a lawyer to understand the implications of mixed licenses. Also, comparision to MediaWiki is a bit strained; in fact, difficulty in simplifying licensing 15 years afterwards is precisely why these tasks should be done asap, while the list of conributors is still small and nobody is dead.

What is the benefit of CiteDataModule.php and CiteHooks.php being MIT? They are tiny and mostly tightly integrated with the rest of the GPL code, so not very likely to be copy-able without also copying GPL code.

modules/ve-cite looks like it has more benefits in remaining MIT , and it is easier to justify, communicate and hopefully comprehend that the backend and frontend code use different licenses, as they are not running in the same execution context. A different license file can be put in that subdirectory. But again, it is worth asking if it is worth it, now, before it is too late.

I don't understand this task. "Mixed licences" is not a problem (otherwise we'll have to go delete MediaWiki and start again). Close Invalid now that the WTFPL code is relicensed?

What is the benefit of CiteDataModule.php and CiteHooks.php being MIT? They are tiny and mostly tightly integrated with the rest of the GPL code, so not very likely to be copy-able without also copying GPL code.

Except that we took them from MIT code we wrote in VE. Stealing MIT code and re-labelling it the less open GPL licence is a ghastly anti-pattern.

modules/ve-cite looks like it has more benefits in remaining MIT , and it is easier to justify, communicate and hopefully comprehend that the backend and frontend code use different licenses, as they are not running in the same execution context. A different license file can be put in that subdirectory. But again, it is worth asking if it is worth it, now, before it is too late.

Then the answer is "no".

Which MIT code was copied for those php files?

Which MIT code was copied for those php files?

The commit that moved the code into the Cite repo from the VisualEditor-MediaWiki one is https://phabricator.wikimedia.org/rECIT18f616b9b8f3c1fa5f4c3d1b1ede6890f815e4e7 — it was all MIT licensed (obviously) at that point. Note that this code and derivatives of it appear in quite a few extensions.