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

Missing package license on unstable: cudaPackages.* are now unfree #312766

Open
bLuka opened this issue May 19, 2024 · 2 comments
Open

Missing package license on unstable: cudaPackages.* are now unfree #312766

bLuka opened this issue May 19, 2024 · 2 comments

Comments

@bLuka
Copy link

bLuka commented May 19, 2024

Summary

In order to whitelist CUDA packages license, we currently have to either whitelist CUDA packages one by one, or allow lib.licenses.unfree on the whole system.

This is a bit bothersome since there’s a lot of CUDA packages with Nvidia EULA currently with the bare lib.licenses.unfree license attached (even though they get proper license match on search.nixos.org.

I can’t figure out if the change was intended between 23.11 and unstable. For instance, for cudaPackages.cuda_cccl:

Proposed change

I didn’t want to push a PR as I don’t know if it would have side effects to unexpected packages, but I believe we could replace licenses.unfree by licenses.nvidiaCudaRedist on pkgs/development/cuda-modules/generic-builders/manifest.nix:344.

Would that make sense?


Add a 👍 reaction to issues you find important.

@eclairevoyant
Copy link
Member

the license seems to be correctly using nvidiaCudaRedist for cudaPackages.cuda_cccl on nixos-unstable:

$ nix eval --impure --expr '(builtins.getFlake "github:nixos/nixpkgs/nixos-unstable").legacyPackages.x86_64-linux.cudaPackages.cuda_cccl.meta.license'

{ deprecated = false; free = false; fullName = "CUDA Toolkit End User License Agreement (EULA)"; redistributable = true; shortName = "CUDA EULA"; url = "https://developer.download.nvidia.com/compute/cuda/redist/cuda_cccl/LICENSE.txt"; }

@bLuka
Copy link
Author

bLuka commented May 20, 2024

the license seems to be correctly using nvidiaCudaRedist for cudaPackages.cuda_cccl on nixos-unstable:

$ nix eval --impure --expr '(builtins.getFlake "github:nixos/nixpkgs/nixos-unstable").legacyPackages.x86_64-linux.cudaPackages.cuda_cccl.meta.license'

{ deprecated = false; free = false; fullName = "CUDA Toolkit End User License Agreement (EULA)"; redistributable = true; shortName = "CUDA EULA"; url = "https://developer.download.nvidia.com/compute/cuda/redist/cuda_cccl/LICENSE.txt"; }

Oops! I think I got a bit lost by the sources, thank you for pointing it out!

I got a bit confused also because I was unable to accept the license using allowlistedLicenses = with lib.licenses; [ nvidiaCudaRedist ];

It looks like the reason is because the link contained within the package’s license is different from the original license link:

$ nix eval --impure --expr '(builtins.getFlake "github:nixos/nixpkgs/nixos-unstable").legacyPackages.x86_64-linux.cudaPackages.cuda_cccl.meta.license'
{ deprecated = false; free = false; fullName = "CUDA Toolkit End User License Agreement (EULA)"; redistributable = true; shortName = "CUDA EULA"; url = "https://developer.download.nvidia.com/compute/cuda/redist/cuda_cccl/LICENSE.txt"; }

$ nix eval --impure --expr '(builtins.getFlake "github:nixos/nixpkgs/nixos-unstable").lib.licenses.nvidiaCudaRedist.url'
{ deprecated = false; free = false; fullName = "CUDA Toolkit End User License Agreement (EULA)"; redistributable = true; shortName = "CUDA EULA"; url = "https://docs.nvidia.com/cuda/eula/index.html#cuda-toolkit-supplement-license-agreement"; }

Is the package’s license definition allowing me to properly whitelist lib.licenses.nvidiaCudaRedist for all packages?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants