Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License of extracted rules #23

Closed
drahnr opened this issue Feb 7, 2021 · 5 comments · Fixed by #24
Closed

License of extracted rules #23

drahnr opened this issue Feb 7, 2021 · 5 comments · Fixed by #24

Comments

@drahnr
Copy link
Contributor

drahnr commented Feb 7, 2021

I had brief look into the licensing of language tools rules, if they are permitted to be distributed under other licenses than the language tool library itself, which is LGPLv2.1.

Mostly in relation to #12 which would render the whole idea of including it at compile time rather pointless for most applications.

@bminixhofer
Copy link
Owner

Thanks for bringing this up. During development I was mainly going off of this comment (from here):

Of course the license allows you to take the LT files and use them in your project, no matter what language you use.

I am not sure in how far LGPLv2.1 restricts resources used by the LGPLv2.1 licensed application, to me it seems like it is mainly intended to protect source code (from TLDRLegal):

This license mainly applies to libraries. [...] Anything statically linked to the library can only be redistributed under LGPL, but applications that use the library don't have to be. [...]

In addition there is the fact that the relevant tokenizer.bin and rules.bin are not LanguageTool resources and not copies of LanguageTool resources; they are just derived in part from LanguageTool resources.

That said, I am by no means well versed in legal stuff so not sure how relevant this information is. @danielnaber would be great if you could chime in here :)

@bminixhofer
Copy link
Owner

I looked into this a bit just now. I believe there is no significant problem. From https://stackoverflow.com/a/10179181 and http://www.gnu.org/licenses/gpl-faq.html#LGPLStaticVsDynamic:

statically linked:

  • Either you must release both parts as LGPL.
  • Or provide everything that allow the user to relink the application with a different version of the LGPL source code. In this case the other requirements are the same as if it was dynamically linked.

As I see it including the binaries at compile time would clearly fall under the second point because everything is provided to use a different binary by nlprule being Open Source.

If I understand correctly the binaries have to be licensed under LGPLv2.1 since they are derived from LanguageTool. If the binaries are included at compile time, NLPRule is comparable to a library that statically links to an LGPLv2.1 library. This does not have any implications on the licensing of NLPRule itself and should thus be irrelevant to a user.

There has to be a notice that the binaries are LGPLv2.1 though.

@danielnaber
Copy link

I don't see any issue with having the rules in the binary and having it released under a different license, as long as it's clear which rules those are (as in "rules from LanguageTool 5.2", or a specific LanguageTool commit id, or having the rules in the nlprule source code).

@bminixhofer
Copy link
Owner

Great, thanks! There will be a note that the binaries are licensed under LGPLv2.1 and derived from LanguageTool vX.X then. nlprule will stay licensed under MIT OR Apache 2.0 (actually only the Rust core is alternatively under Apache 2.0 at the moment but I'll fix that).

@drahnr please confirm if that adresses your concern.

@drahnr
Copy link
Contributor Author

drahnr commented Feb 8, 2021

Feel free to close this as soon as the ref to the precise language tool version from which the artifacts were extracted are present.

Thanks for looking into this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants