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 generated code #376

Closed
Dav1dde opened this issue Mar 8, 2020 · 3 comments
Closed

License of generated code #376

Dav1dde opened this issue Mar 8, 2020 · 3 comments

Comments

@Dav1dde
Copy link

Dav1dde commented Mar 8, 2020

I am the maintainer/author of glad, a code generation tool which uses the specs to generate Code for multiple languages, C/C++, Nim, Volt, D, Rust etc.

Now the issue has come up multiple times what license the generated code has:

To summarize the specs are Apache v2 licensed and would mean derivative work has to include the notice file, but the code is just loosely related to the original specs (completely transformed from XML to code). But on the other hand Vulkan explicitly contains this section:

As an exception, if you use this Software to generate code and portions of
this Software are embedded into the generated code as a result, you may
redistribute such product without providing attribution as would otherwise
be required by Sections 4(a), 4(b) and 4(d) of the License.

Could you clarify what the actual correct license for generated code is and if possible clarify this in the specs/specs repository?

From what I can see other projects that are also based on the XML specs also license the code generated not based on the Apache v2 (glbinding just says MIT).

Libepoxy uses the wording The generated code is derived from Khronos's xml files, which appear under the following license in their "COPYING".

@oddhack
Copy link
Collaborator

oddhack commented Mar 8, 2020

We added the exception clause to the Vulkan vk.xml license because of concerns about GPL2 / LGPL2.[01] incompatibility with Apache-licensed code, and it seems to have succeeded at that in the sense that we aren't getting those specific complaints now. I then attempted to push adoption of the exception clause more widely across Khronos Apache-licensed software, and as with all matters involving license changes, it is taking much, much, much longer than anyone would like.

Informally - understand that I am not speaking as a Khronos legal representative or binding the organization by saying this, just giving you a call as I see it, as the person most involved in these licensing issues - you are going to be OK using other licenses on your generated outputs. We don't have any interest in preventing people from using the XML. We do have an organizational structure that makes it take a very long time to get all the member companies to agree on licensing changes.

Getting a binding formal answer from Khronos' lawyers would take an extremely long time, so I hope this gives you enough confidence to do what you need to do.

@Dav1dde
Copy link
Author

Dav1dde commented Mar 8, 2020

@oddhack thanks for the quick response, this is good to hear and aligns with what I thought/hoped.
I'll update my LICENSE/COPYING and readme to reflect this.

@Dav1dde Dav1dde closed this as completed Mar 8, 2020
@Perksey
Copy link
Contributor

Perksey commented Mar 8, 2020

Another interesting point (that doesn't necessarily need an answer, just something to think about): does Khronos even have the grounds to change the license for something like gl.xml? A file that has received many contributions from external contributors without any formal contribution license agreement assigning all IP to Khronos - theoretically you'd have to get every single contributor to agree to such a change, which is also one of the problems that the Linux kernel has accrued over the years.

Again, doesn't need an answer, just some food for thought :)

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

3 participants