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

Relicense under MIT? #3664

Open
paulmelnikow opened this issue Jul 7, 2019 · 6 comments
Open

Relicense under MIT? #3664

paulmelnikow opened this issue Jul 7, 2019 · 6 comments
Labels
needs-discussion A consensus is needed to move forward

Comments

@paulmelnikow
Copy link
Member

paulmelnikow commented Jul 7, 2019

Shields has always had a public domain dedication with the CC0 license.

I'd like to relicense it with a permissive free software license in order to provide a warranty disclaimer and limit our liability as contributors.

The absence of any disclaimer may create an implied warranty in certain circumstances, and I imagine we agree at least on the principle that no one who contributes to Shields cares to legally warrant that the code works. It makes me more comfortable, knowing I'm not responsible for problems this software might cause someone, and probably some other contributors will feel the same. Contributors who work on their employer's time – and their respective employers – may appreciate this as well.

The MIT License is the simplest, best understood, and (maybe?) the most widely used free software license. anafanafo and svg-to-image-proxy are both MIT-licensed, and so are many of our dependencies. It's my go-to for new projects.

It's very short:

Copyright (c) 2019 (list of names) and other contributors

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

This article does an excellent job of spelling out why the warranty disclaimer and limit of liability are useful provisions.

If we adopt the new license, we'd be asserting copyright on new revisions of Shields, which would be considered a copyrighted work that incorporates (and modifies) the public domain code from previous revisions.

(It's unusual to be able to relicense code without getting approval from all the copyright owners. It's possible here because the work is not copyrighted. That means the modified work can be released under whatever terms the creator likes.)

Notwithstanding any of the above, it's worth mentioning that I really appreciate the spirit of Shields' public domain dedication, and think it may have been a big part of the ethic of the early years of the project. Changing the license isn't about changing that spirit. (If we do change it, we should also mention the history of the license in the readme.)

(continued from badges/svg-to-image-proxy#29 (comment))

@paulmelnikow paulmelnikow added the needs-discussion A consensus is needed to move forward label Jul 7, 2019
@PyvesB
Copy link
Member

PyvesB commented Jul 7, 2019

I'm up for this change as well!

@chris48s
Copy link
Member

chris48s commented Jul 9, 2019

I'm also on board with this

@paulmelnikow
Copy link
Member Author

I was in contact offline with @espadrine who is on board with this, and suggested we consider the Apache 2.0 license which includes an explicit patent grant. Kyle Mitchell who wrote the blog posted I linked to above, calls it "the best permissive license" based on business perception.

I'm happy to go in this direction if other folks are comfortable with it.

@calebcartwright
Copy link
Member

SGTM

@paulmelnikow
Copy link
Member Author

Discussion on this continued at #3736 but did not resolve.

Ideally we'd have some professional legal advice on whether to use MIT or Apache 2.0. In the absence of that – and in the interest of wrapping this up – how about we go the Rust route and dual-license under MIT and Apache 2.0.

At a future date if we decide we want to drop one or the other, we can easily do that.

@jameschensmith
Copy link
Contributor

suggestion: You could use MIT-0 for the code, and CC0 for the prose.

I think it fits what you are looking for perfectly (I can expand on this if needed), and would be (I would think) easy to adopt. 0BSD is another popular alternative, but as stated in the initial message most developers know the MIT license fairly well. The quote below is the rationale stated from the AWS repository:

This license has proven useful for code that is intended for developers to use as reference, teaching samples, examples, or templates that other developers may modify for their own purposes.

In many of these cases, the initial developer may not want to impose even the cost of attribution, or the use cases may not be conducive to attribution.

The CC0 and various "do what you want" licenses and various public domain dedications may be less attractive to the initial developer for various reasons (i.e., a license is preferable to a public domain dedication). The MIT license with all the attribution requirement language removed fills this need.

source

I also love this line:

It is roughly the same as an MIT license consisting of a sandwich of (paragraph, line, paragraph), but it is missing the middle line of the 'sandwich'.

source

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-discussion A consensus is needed to move forward
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants