Skip to content

License mismatch: Dependency context_error requires special compatible licenses #95

@tkschmidt

Description

@tkschmidt

Hey,
I was testing mzcore and noticed that my CI/CD pipeline (using cargo deny) flagged an issue with one dependency (context_error) being licensed under the European Union Public Licence, Version 1.2 (EUPL-1.2).

According to the EUPL-1.2 licence text and its compatibility clause (Appendix, see https://eupl.eu/1.2/en/), Apache-2.0 and MIT are not listed as compatible outgoing licences.

Since context_error (the dependency with the EUPL-1.2 license) is statically linked into the Rust binaries and mzcore distribute those binaries, this creates a derivative work. As a result, mzcore cannot be distributed under Apache-2.0 or MIT while including this dependency.

The combined work would need to be licensed under EUPL-1.2 or one of its listed compatible licenses.

This makes this project very dangerous for a lot of people because the license field within the Cargo.toml now clearly states a wrong fact.

I would also advocate to not move the whole project to any of the compatible licenses because they are too restrictive.

Questions/Ideas

  • Are there any easy ways to change the historical Cargo.toml content to warn people? I only see ways to yank it which doesn't change/warn.
  • Ask @douweschulte to move context_error to Apache-2.0 or MIT if the license is not too important to him.
  • A lot of rework: make context_error an optional dependency

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions