KhronosGroup / glslang

Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
Other
3k stars 828 forks source link

glslang/MachineIndependent/preprocessor is currently only suitable for "personal" use #3090

Closed Hixie closed 10 months ago

Hixie commented 1 year ago

A number of files in glslang/MachineIndependent/preprocessor have a license from Nvidia that says that "NVIDIA grants you a personal, non-exclusive license". It seems to me (and my legal counsel) that this is incompatible with the Open Source Definition, specifically the "personal" license implying that this is not suitable for non-personal use (e.g. use by corporations), which contradicts the "5. No Discrimination Against Persons or Groups" part of the OSD.

Is there any chance that NVidia would be willing to relicense these parts of glslang to avoid this issue?

jeremy-lunarg commented 1 year ago

The annotated version adds context to Section 5 of the OSD.

Rationale: In order to get the maximum benefit from the process, the maximum diversity of persons and groups should be equally eligible to contribute to open sources. Therefore we forbid any open-source license from locking anybody out of the process.

Some countries, including the United States, have export restrictions for certain types of software. An OSD-conformant license may warn licensees of applicable restrictions and remind them that they are obliged to obey the law; however, it may not incorporate such restrictions itself.

With respect to Section 5, I do not see a conflict. That said, this license is fairly old and it wouldn't hurt to get a new license if NVIDIA would be willing to supply one.

Hixie commented 1 year ago

Ah yes sorry I meant the "6. No Discrimination Against Fields of Endeavor" part.

jeremy-lunarg commented 1 year ago

Adding context. Section 6 with rationale:

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.

I'll try to get someone from NVIDIA to review this.

KarenGhavam-lunarG commented 10 months ago

I'll try to get someone from NVIDIA to review this.

We sent the request to Nvidia a year ago. We have nudged a couple of times. But no progress has occured. If we were to change the Nvidia license, if I understand process correctly, it would require us to get approval from any glslang contributors that the license is changing. This is a daunting activity that is almost impossible, considering the number of contributors and how long this license has been in use.

I believe this issue needs to be closed as not planned.