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

Add a runtime exception to the license #28

Open
brson opened this issue Jan 11, 2022 · 3 comments
Open

Add a runtime exception to the license #28

brson opened this issue Jan 11, 2022 · 3 comments

Comments

@brson
Copy link
Contributor

brson commented Jan 11, 2022

It"s not pressing now, but at some point people may use dada, and it would be nice to avoid the mistake Rust made of not having a runtime exception in its license.

A runtime exception allows people to distribute binaries of software that contains runtime code like the standard library without any attribution, and is common for most open source standard libraries.

Rust doesn"t have this exception and it"s a quietly huge mess that will probably never be fixed.

It would be nice to set the right precedent for the dada ecosystem and choose a licensing regime with a runtime exception.

It doesn"t matter yet since there"s no runtime or standard library and only a few contributors, but the more contributors the harder it is to relicense things.

A simple interim solution would be to add a CC0 dual license, which is effectively public domain, and gives maximum freedom to relicense more perfectly in the future.

@nikomatsakis
Copy link
Member

Seems reasonable to me. We should probably adopt Apache 2 as well.

@nikomatsakis
Copy link
Member

If you have suggested wording changes, feel free to open a PR.

@brson
Copy link
Contributor Author

brson commented Jan 12, 2022

Well I suggested a bold CC0-based solution in #38. I think it"s the most general and leaves the most options open.

Others I"ve considered:

  • MIT or Apache 2 + LLVM exception, though I have some concerns about the exact terms of the LLVM exception. Also the LLVM exception appears to make the MIT option unnecessary, though there may still be cultural or other reasons to keep the dual license.
  • MIT or Apache 2 or Boost (or Zlib)

It"s such a hard thing to get perfectly right, and as we"ve seen with Rust, the practical impact of getting it wrong is almost none, and few people care.

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

No branches or pull requests

2 participants