conda-forge / conda-forge/conda-forge.github.io

Providing user's license choice

Open
#1,608 22 comments 3 reactions 0 assignees View on GitHub
Discussion
Dominant language
JavaScript
Stars
170
Forks
320
Avg merge
2d 10h
Merged PRs (30d)
5

Description

We have discussed in a few places over the years how to handle user's preferences on licenses in their installed environment. Though we often lacked the tooling and sophistication as an ecosystem to handle this. However I think this has changed recently and would like to present a proposal for discussion about how we might do this.

Now that we make heavy usage of SPDX, one way we might solve this is to create some `_license_*` packages (like `_license_MIT` or `_license_GPL-2.0-or-later`). These could live as split packages of a single `_license` feedstock.

When we go through and hot-fix the repodata to translate `license` to `license_family` entries, we could also add a `run` dependency to each package with the appropriate `_license_*` dependency. One thing to figure out here would be how we handle custom licenses. Maybe initially we just skip them, but would be good to have a plan for them (do they need to be add to `_license_*`? could we have `_license_other`?)

Packages that have particular features that would result in license changes, could split these out as variants and simply set the `license` metadata based on how this would affect the end package license. It would be up to package maintainers to make sensible choices of features for users and/or PRs from users within this framework.

Users then could add `_license_*`s they don't want to Conda's `disallowed_packages`. This way users won't get packages with those licenses they don't want. Also this could potentially benefit from other Conda solves that use more acceptable licenses.

Would be curious to hear others thoughts on this proposal 🙂

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.