Skip to content

deps.rs EXCEPTIONS needs to be re-triaged #63238

Closed
@brson

Description

@brson

The EXCEPTIONS list lists license exceptions.

After reviewing a few of them, they seem to be out of date, and some that were copyleft are now permissive, and some have the proper license.

The purpose of this list is primarily to prevent non-permissively-licensed code from entering the Rust codebase, particularly the runtime. Permissively licensed code here effectively means "MIT or weaker", though as structured currently it actually makes anything without an MIT license an exception (BSD licenses are considered exceptions). This is fine and simplifies std's license (it's all MIT and most can be Apache, with the unfortunate exception of libbacktrace, which is BSD-3-Clause, and not represented in the exception list, potentially because of rust-lang/backtrace-rs#234).

They should all be re-triaged, and re-commented or removed from the exception list as appropriate. Here are some examples from a quick look:

  • thread-id - now Apache-2.0/MIT, was Apache-2.0, no longer an exception
  • ryu - now Apache-2.0/BSL-1.0 (nice decision @dtolnay w/ the permissive license + runtime exception). Still an exception per the rules in this file because it doesn't carry MIT. Aside: Apache-2.0/MIT/BSL-1.0 would be a good relicense for Rust. I'd prefer ryu be tri-licensed with MIT just for uniformity with the rest of the Rust MIT-licensed ecosystem.
  • utf8parse - Apache-2.0/MIT, not an exception
  • vte - Apache-2.0/MIT, not an exception

Metadata

Metadata

Assignees

No one assigned

    Labels

    T-coreRelevant to the core team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions