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

python3Packages.torch-bin: misleading license #222468

Closed
SomeoneSerge opened this issue Mar 22, 2023 · 6 comments
Closed

python3Packages.torch-bin: misleading license #222468

SomeoneSerge opened this issue Mar 22, 2023 · 6 comments

Comments

@SomeoneSerge
Copy link
Contributor

  • Package name: python3Packages.torch-bin

# Includes CUDA and Intel MKL, but redistributions of the binary are not limited.
# https://docs.nvidia.com/cuda/eula/index.html
# https://www.intel.com/content/www/us/en/developer/articles/license/onemkl-license-faq.html
license = licenses.bsd3;

It would seem that the license per comment should be licenses.unfreeRedistributable.
Switching to that would prevent allowUnfree = false users from accidentally fetching the compromised artifacts.
I'm also not sure we want these in hydra cache

CC maintainer @junjihashimoto

@SomeoneSerge
Copy link
Contributor Author

I expect users may experience breakages after the switch though

@fabaff
Copy link
Member

fabaff commented Mar 24, 2023

The Intel Open Source License is a modified version of BSD clause 3 and OSI approved. The CUDA EULA has distribution requirements. I'm not sure how those requirements apply in combination with torch but distribution requirements make something unfree quickly in the FSF definition.

@junjihashimoto
Copy link
Member

Thank you for checking the current status. Is the free/unfree based on the FSF definition?

@SomeoneSerge
Copy link
Contributor Author

Thanks @fabaff!
Pytorch wheels are built with MKL BLAS, which they download from the "intel" channel in anaconda: the license they specify there is Intel Simplified Software License, which in nixpkgs goes as unfree:

❯ nix eval nixpkgs#lib.licenses.issl.free
false

Not only unfree, MKL is not open source: it's just headers and pre-built static archives.
The same goes for CUDA: NVIDIA only ships pre-built binaries, together with some glue code.

@SomeoneSerge
Copy link
Contributor Author

SomeoneSerge commented Apr 1, 2023

This would be addressed by b73d050 from #221652

@SomeoneSerge
Copy link
Contributor Author

Since #227420:

nix eval github:nixos/nixpkgs/master#python3Packages.torch-bin.meta.license --json | jq
[
  {
    "deprecated": false,
    "free": true,
    "fullName": "BSD 3-clause \"New\" or \"Revised\" License",
    "redistributable": true,
    "shortName": "bsd3",
    "spdxId": "BSD-3-Clause",
    "url": "https://spdx.org/licenses/BSD-3-Clause.html"
  },
  {
    "deprecated": false,
    "free": false,
    "fullName": "Intel Simplified Software License",
    "redistributable": false,
    "shortName": "issl",
    "url": "https://software.intel.com/en-us/license/intel-simplified-software-license"
  },
  {
    "deprecated": false,
    "free": false,
    "fullName": "Unfree redistributable",
    "redistributable": true,
    "shortName": "unfreeRedistributable"
  }
]

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

No branches or pull requests

3 participants