TextAttack icon indicating copy to clipboard operation
TextAttack copied to clipboard

MIT license is invalid - multiple GPL3 dependencies used

Open OGordon100 opened this issue 1 year ago • 2 comments

This package uses a small number of GPL/lGPL dependencies/sub-dependencies.

My understanding is that this means that the MIT license of this package is invalid, as GPL is a viral/copyleft license.

Packages are:

  • language-tool-python
  • FuzzyTM
  • gensim
  • num2words

According to python-license-checker:

    FuzzyTM (2.0.5): ['GNU General Public License v3.0']
      dependencies:
          FuzzyTM << gensim << bpemb << flair << textattack
          FuzzyTM << gensim << flair
    gensim (4.3.0): ['LGPL-2.1-only']
      dependencies:
          gensim << bpemb << flair << textattack
          gensim << flair
    language-tool-python (2.7.1): ['GNU GPL']
      dependency:
          language-tool-python << textattack
    num2words (0.5.12): ['GNU Library or Lesser General Public License (LGPL)']
      dependency:
          num2words << textattack

OGordon100 avatar Mar 01 '23 13:03 OGordon100

Gensim is released under the LGPL, which allows re-use in non-copyleft projects, so no change is required by TextAttack to conform with Gensim's licensing. (This same analysis likely applies to LGPL-licensed num2words.)

It appears FuzzyTM is only being pulled-in here because Gensim was declaring FuzzyTM as a prerequisite. That declaration was in error, and has been corrected in the recently-released gensim-4.3.1.

That leaves language-tool-python, and while that declares a plain-GPL license, it also appers to be maintained by the primary contributor to TextAttack, @jxmorris12. Further, it's a fork of a long-untouched predecessor project, https://github.com/myint/language-check/, which seems to be dual GPL/LGPL-licensed, and a thin wrapper around https://github.com/languagetool-org/languagetool, which is LGPL-licensed. So it's unclear if any rightsholdrs' wishes have been violated here – but choosing to mark language-tool-python as also LGPL-licensed could help minimize any perceptions of GPL-disallowed uses.

gojomo avatar Mar 15 '23 21:03 gojomo

Thanks for the information @gojomo - I can change the license to language_tool_python to LGPL, I don't mind.

jxmorris12 avatar Mar 15 '23 22:03 jxmorris12