You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently (2023-03-14) the json manifests simply say "license": "CUDA Toolkit". On the first read, I thought that it "obviously" refers to the CUDA Toolkit's EULA whose existence precedes NVIDIA's redist packages. This leaves the following questions still open:
How does a user or distribution maintainer resolve the "license": "CUDA Toolkit" stanza into an actual license text?
The redistributable packages include extra paths like e.g. pkg-config/cudart-11.7.pc that are not explicitly white-listed by the EULA text
The nvidia_driver redistributable package contains nvidia_driver-linux-x86_64-530.30.02-archive/lib32/libcuda.so.530.30.02 which, under the EULA text, may only be redistributed when derived from an NGC docker container image and distributed as a part of a docker image
The EULA's text only explicitly allows redistribution of...
variations of these files that have version number or architecture specific information embedded in the file name -
...but not, for instance, in the ELF header, as would be required for some Linux distributions.
More of a rhetorical question: license-wise, what is the difference between the cudatoolkit's .run file and the "redistributable" packages?
A resolution might involve all or a subset of the following:
Permissions and restrictions are distributed in machine-readable form together with the json manifests
The license string is replaced with a dictionary { name :: String, url :: String } where url refer to a downloadable file with the license text and name be a stabilized name, from which permissions and restrictions could be inferred
Redistribution of the redistributable components of CUDA Toolkit is explicitly permitted by the linked license text
Usage of patchelf prior to redistribution is explicitly permitted by the linked license texts
Redistribution of the user-space cuda driver (libcuda.so) from nvidia_driver be explicitly permitted. For instance,
jq .nvidia_driver.license redistrib_12.1.0.json links to a license that allows to ship the contents of nvidia_driver-linux-x86_64-530.30.02-archive.tar.xz with an application.
The clarifications about docker images are dropped
Licenses explicitly allow to patch paths in pkg-config files
Currently (2023-03-14) the json manifests simply say
"license": "CUDA Toolkit". On the first read, I thought that it "obviously" refers to the CUDA Toolkit's EULA whose existence precedes NVIDIA's redist packages. This leaves the following questions still open:How does a user or distribution maintainer resolve the
"license": "CUDA Toolkit"stanza into an actual license text?The redistributable packages include extra paths like e.g.
pkg-config/cudart-11.7.pcthat are not explicitly white-listed by the EULA textThe
nvidia_driverredistributable package containsnvidia_driver-linux-x86_64-530.30.02-archive/lib32/libcuda.so.530.30.02which, under the EULA text, may only be redistributed when derived from an NGC docker container image and distributed as a part of a docker imageThe EULA's text only explicitly allows redistribution of...
...but not, for instance, in the ELF header, as would be required for some Linux distributions.
More of a rhetorical question: license-wise, what is the difference between the cudatoolkit's
.runfile and the "redistributable" packages?A resolution might involve all or a subset of the following:
cuda_cudart/LICENSE.txtlicensestring is replaced with a dictionary{ name :: String, url :: String }whereurlrefer to a downloadable file with the license text andnamebe a stabilized name, from which permissions and restrictions could be inferredpatchelfprior to redistribution is explicitly permitted by the linked license textslibcuda.so) fromnvidia_driverbe explicitly permitted. For instance,jq .nvidia_driver.license redistrib_12.1.0.jsonlinks to a license that allows to ship the contents ofnvidia_driver-linux-x86_64-530.30.02-archive.tar.xzwith an application.Thanks!