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

[oxigraph_server] Add dependency licenses #4088

Closed

Conversation

jeremiahpslewis
Copy link
Contributor

@jeremiahpslewis jeremiahpslewis commented Dec 18, 2021

This is an experiment for rust binaries so that we can package the full licenses of package dependencies. Not sure what the Yggdrasil policy is / what appropriate convention is as to what licenses need to come along into the jll, but cargo-license seems to offer an elegant solution and it is a practice followed (in some instances) by conda-forge. (see here: https://github.com/conda-forge/oxigraph-feedstock)

Ref: https://github.com/onur/cargo-license

@giordano
Copy link
Member

Not sure what the Yggdrasil policy is / what appropriate convention is as to what licenses need to come along into the jll

Getting to the original question, we don't really have a policy for the case of static linking, simply because we almost never do it, apart from Rust and Go packages, which are a tiny minority of our ecosystem.

We want to ship in each tarball the license of the package itself, which is rather straightforward when we do dynamic linking: each tarball basically has a single package, and we have only its license. However, with static linking you basically smash dozens of packages into a single build, so it isn't clear what license you want to ship: only the "final" package or all of its dependencies? When in doubt, I usually look at Linux distributions. Debian is a good one as they take the matter of license seriously (Arch Linux is less conscious of license), do they have Rust-based packages? What they do in that case?

@jeremiahpslewis
Copy link
Contributor Author

jeremiahpslewis commented Dec 20, 2021

Fedora follows the following practices:

  1. "the effective license for the subpackage containing the built binary must be calculated from the individual licenses of all dependencies"
  2. "the list of individual licenses and the License tag with the effective license MUST be included"

On the other hand, Debian seems to just grab the top-level license and leave things at that, e.g. ripgrep.

@giordano
Copy link
Member

giordano commented Dec 20, 2021

But, as far as I can see, in Fedora they only ship the license files of ripgrep (which is exactly what we do as well), no?

@jeremiahpslewis
Copy link
Contributor Author

Useful thread about this issue suggesting rust community still developing an approach: rust-lang/rust#67014

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

Successfully merging this pull request may close these issues.

2 participants