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

Clarification on GPL Licensing #384

Open
psadda opened this issue Mar 14, 2024 · 1 comment
Open

Clarification on GPL Licensing #384

psadda opened this issue Mar 14, 2024 · 1 comment

Comments

@psadda
Copy link

psadda commented Mar 14, 2024

I was hoping to use lrama to generate a parser for a personal project and did a dive into the licensing since LEGAL.md mentioned that there are some GPL'd files in the tree.

According to the GNU website, the Bison parser skeleton code is GPL, but there is a special license exception for the output of the bison program. (See https://www.gnu.org/software/bison/manual/html_node/Conditions.html.) Specifically they say

You can tell whether the exception applies to a Bison output file by inspecting the file for text beginning with “As a special exception…”. The text spells out the exact terms of the exception.

And of course that exception is present in the GPL files in the lrama repository. (https://github.com/ruby/lrama/blob/master/template/bison/yacc.c#L23)

As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton.

(Emphasis is mine.) Based on my reading of this, it would seem that lrama might not meet the criteria for the GPL exception because it is "a parser generator using the skeleton or a modified version thereof." Also, what is the license status of the code produced by lrama using these skeletons? If lrama itself doesn't qualify for the exception, would its output still qualify for the license exception? That scenario doesn't seem to be addressed by the exception text. Probably worth clarifying with some of the GNU folks?

@yui-knk
Copy link
Collaborator

yui-knk commented May 23, 2024

@psadda Thanks for the heads up and sorry for the late response. I will confirm it.

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

No branches or pull requests

2 participants