Coder Social home page Coder Social logo

Clarify license for generated code about jacc HOT 2 OPEN

zipwith avatar zipwith commented on May 1, 2024
Clarify license for generated code

from jacc.

Comments (2)

zipwith avatar zipwith commented on May 1, 2024

Under normal circumstances, I wouldn't even think about a license for the code that is generated by jacc; it is just an artifact of the compilation process, much like the .class files that might be produced when you run a Java compiler. The issues that you've mentioned in relation to Bison do not apply here because there are no substantial parser templates, GPL-ed or otherwise, in the jacc distribution.

In some situations, it may be useful to include jacc-generated Java code in a source distribution so that users can compile and run a program without having to install jacc. So long as both the source and generated code are included in the distribution, I would expect the generated code to have the same license as the source, with no requirement for them to use the same license as jacc itself.

The statement above does not address situations where jacc-generated code is distributed without the original .jacc source code. Such uses should be discouraged because they will substantially limit the opportunities for understanding and modifying the generated parsers.

from jacc.

travisdowns avatar travisdowns commented on May 1, 2024

Thanks for the comments! In my scenario (MIT-licensed project), I am including the .jacc grammar file and the resulting generated parser .java file in the source, so that the usual end-user build process doens't need invoke jacc and I do not include jacc itself as part of the project.

I don't think it is that obvious that the output jacc produces wouldn't be covered under the GPL. The parser doesn't include large portions of GPLed code, but it does include some boilerplate code like the yyexpand function whose code presumably falls under the GPL. Whether it is substantial enough to cause the whole work to be considered a "derived work" and hence fall under the GPL is certainly not clear to me. I have been told that even a single line can be enough, depending on your circumstances.

You mention compilation with javac - I'm not sure on the licensing situation there, but I do now that gcc includes specifically includes an exception from the GPL for the binaries produced by gcc compilation since otherwise it might be unclear whether such binaries would fall under the GPL since various bits of GPL'd code get embedded in as part of the compilation process.

I'll continue using jacc in my MIT-licensed project based on your comments here since after all it is only a small personal project for research purposes, but if you had a few minutes you might want to consider making this explicit with an exception note in the license. I would rest easier :).

from jacc.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.