link-grammar
link-grammar copied to clipboard
LGPL-2.1 is a deprecated SPDX license
LGPL-2.1 is deprecated by SPDX, please consider using LGPL-2.1-only or LGPL-2.1-or-later. Thanks!
relates to Homebrew/homebrew-core#76926
also relates to https://github.com/Homebrew/homebrew-core/pull/84708
cc @linas
Possibly commit a613961489bbeaf4333a53c6139ab6a9adb363a9 fixes the install path issue in Homebrew/homebrew-core#84708
I have no clue what Homebrew/homebrew-core#76926 means, or what I can do to fix it. There's no SPDX anywhere in the source that I know of.
@linas 👋 I think what you need to do is to specify the header part in either the README or in the license part of each file (if they got licensed differently), let me know if that makes sense.
Or you can probably the man page to include license field and specify the license identifier.
Since this issue is still open almost three years later, I'll add this comment as a reminder to do something about it.
SPDX license identifiers are becoming the customary way in which license information is communicated, and Homebrew evidently uses these labels on its packages. SPDX used to define an identifier LGPL-2.1 but it is deprecated because it could be unclear whether this meant that a project was licensed under LGPL version 2.1 only and no other version, or under LGPL version 2.1 or any later version at the user's option. New identifiers LGPL-2.1-only and LGPL-2.1-or-later were introduced to resolve the ambiguity.
The ambiguity might remain in this project, however: is link-grammar licensed "under the LGPL 2.1 only" or "under the LGPL 2.1 or any later version"?
The web site says LGPL 2.1 but does not say "only" or "or any later version" so this might be unclear:
https://github.com/opencog/link-grammar-website/blob/a177a3766f65e6f2450e81bac5541c47f73944b2/index.html#L687-L691
Source code headers say to look at the LICENSE file:
https://github.com/opencog/link-grammar/blob/3a2612761f17e2579cb213a02aa1cef394f98763/link-grammar/error.c#L7-L8
The LICENSE file is just the generic LGPL 2.1 file which in particular says:
https://github.com/opencog/link-grammar/blob/3a2612761f17e2579cb213a02aa1cef394f98763/LICENSE#L419-L425
The third option, not mentioned in the above paragraph but implied, is that if a project indicates a license version number but does not specifically mention allowing "any later version", then only that version would apply. So I guess that is the answer for link-grammer: it is licensed LGPL 2.1 only. But you could make that clearer by saying so explicitly in the README, web site, etc.
I also recommend adjusting your code headers. Simply pointing to the LICENSE file is ambiguous since the LICENSE file would be the same whether you have chosen to license the project "LGPL 2.1 only" or "LGPL 2.1 or later". A recent practice is to use SPDX license identifiers in the header of every file.
Incidentally, source code headers also say "All rights reserved" which has been obsolete for decades:
https://github.com/opencog/link-grammar/blob/3a2612761f17e2579cb213a02aa1cef394f98763/link-grammar/error.c#L5
The -or-later variant works for me. I'll merge any pull request that fixes everything to say all the right things in all the right ways.