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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions