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

chore: Dual license between Unlicense and MIT #4870

Closed
wants to merge 26 commits into from

Conversation

Tyler887
Copy link
Contributor

@Tyler887 Tyler887 commented Apr 13, 2022

Description

Resolves the discussion at #4868.

Motivation and Context

This PR should close #4868.

See the issue (community) or read my recent email (maintainers) for more info.

Checklist:

  • I have read the Contributing Guide.
  • I have updated the documentation accordingly.
  • I have updated the tests accordingly.

@Tyler887 Tyler887 changed the title chore: Dual license betweem Unlicense and MIT chore: Dual license between Unlicense and MIT Apr 13, 2022
@rashil2000
Copy link
Member

The base branch needs to be develop

@Tyler887 Tyler887 changed the base branch from master to develop April 14, 2022 15:07
@rashil2000 rashil2000 requested a review from rasa April 14, 2022 15:32
@rasa
Copy link
Member

rasa commented Apr 17, 2022

I am not a lawyer, but I have read a bit on this and have some thoughts:

  1. The Unlicense appears to be compatible with the MIT license, so dual-licensing appears acceptable.1
  2. Some lawyers contend that the Unlicense is not really a license.1
  3. It took almost 10 years for it to be approved as an OSI license, as it was originally dismissed as a "crayon license".1
  4. The Unlicense homepage suggests the file be named UNLICENSE This seems better than LICENSE.PD.2
  5. I suggested we dual-license with the MIT license, but I would like to hear from @lukesampson, and other maintainers, about this suggestion, as this is a pretty big change.

@lukesampson
Copy link
Member

Thanks for looking into this guys. Personally I'm happy for the project to become dual-licensed under unlicense and MIT. I wouldn't mind it just being licensed under MIT but I'm not sure how feasible that is.

@chawyehsu
Copy link
Member

chawyehsu commented Apr 17, 2022

For license files naming convention, there have been some projects dual-licensed under Unlicense and MIT, such as https://github.com/BurntSushi/byteorder and https://github.com/BurntSushi/aho-corasick. You may look through them and see how they practice (LICENSE-MIT UNLICENSE and COPYING).

Not a lawyer, but I think it's legal to relicense it to MIT since our contributors have already implicitly signed all their commits are licensed under the Unlicense license and given to public domain, which means ppl can literally do anything with it, relicensing included, whether dual-licensing or just changing the license. New license's restrictions will be applied to future commits though.

I'm personally ok with the license update.

@chawyehsu chawyehsu requested a review from a team April 17, 2022 04:21
@Tyler887
Copy link
Contributor Author

I've renamed both now.

@Tyler887
Copy link
Contributor Author

I am not a lawyer, but I have read a bit on this and have some thoughts:

  1. The Unlicense appears to be compatible with the MIT license, so dual-licensing appears acceptable.1
  2. Some lawyers contend that the Unlicense is not really a license.1
  3. It took almost 10 years for it to be approved as an OSI license, as it was originally dismissed as a "crayon license".1
  4. The Unlicense homepage suggests the file be named UNLICENSE This seems better than LICENSE.PD.2
  5. I suggested we dual-license with the MIT license, but I would like to hear from @lukesampson, and other maintainers, about this suggestion, as this is a pretty big change.

Can you fix your links to use a link to the desktop Wikipedia instead (removing .m from the URL)? This acts like a problem with linking, as many Google results select en.m.wikipedia.org instead of en.wikipedia.org.

@Tyler887
Copy link
Contributor Author

Please fix any conflicts with the CHANGELOG if any further changes come to develop, as this raises the change I made to the top of the changelog while retaining other changes.

rashil2000
rashil2000 previously approved these changes Apr 17, 2022
issaclin32
issaclin32 previously approved these changes Apr 17, 2022
CHANGELOG.md Outdated Show resolved Hide resolved
MIT-LICENSE Outdated Show resolved Hide resolved
Co-authored-by: Hsiao-nan Cheung <niheaven@gmail.com>
@Tyler887 Tyler887 dismissed stale reviews from issaclin32 and rashil2000 via 5ddd198 April 17, 2022 21:16
@Tyler887
Copy link
Contributor Author

Tyler887 commented Apr 18, 2022

For license files naming convention, there have been some projects dual-licensed under Unlicense and MIT, such as https://github.com/BurntSushi/byteorder and https://github.com/BurntSushi/aho-corasick. You may look through them and see how they practice (LICENSE-MIT UNLICENSE and COPYING).

Not a lawyer, but I think it's legal to relicense it to MIT since our contributors have already implicitly signed all their commits are licensed under the Unlicense license and given to public domain, which means ppl can literally do anything with it, relicensing included, whether dual-licensing or just changing the license. New license's restrictions will be applied to future commits though.

I'm personally ok with the license update.

I'll modify the README to use the SPDX identifier Unlicense OR MIT instead of just Unlicense, because I prefer allowing them to choose one of those licenses. Requiring that all licenses are met means it is in PD, but some restrictions are placed, so that would be a conflict because no restrictions are meant to be applied to PD works.

This PR was made just in case a problem with people in Germany (and certain other countries) get punished for distributing Scoop, as it is a dual-license that if PD exists in their country, they can choose to distribute without the copyright notice from the file MIT-LICENSE, else, they must have the copyright notice.

@rasa
Copy link
Member

rasa commented Apr 18, 2022

In 2015, the MIT license was, by far, the most popular license on GitHub. MIT had a 45% share to the second most popular's 13% (GPLv2). See https://github.blog/2015-03-09-open-source-license-usage-on-github-com/

@chawyehsu
Copy link
Member

I don't know whether you browse the projects referred above or not. But you can name the MIT license file as LICENSE-MIT, and leave the Unlicense license file as UNLICENSE, while adding a COPYING file to declare the dual licenses statement. And its SPDX identifier is Unlicense OR MIT for sure. This is how https://github.com/BurntSushi/byteorder did many years ago. It's short and sweet and GitHub will navigate the "view license" event to the UNLICENSE file by default. Having any problem adopting this solution?

rasa
rasa previously approved these changes Apr 19, 2022
Copy link
Member

@rasa rasa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple of minor typos, but it looks good to me. Thx 4 sticking with it!

@niheaven
Copy link
Member

Last comment, it should be Unlicense OR MIT license, right? Not Unlicense AND MIT license which means you must adapt both license requirement instead of preferred one.

Copy link
Member

@chawyehsu chawyehsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

- and
+ or

LICENSE Outdated Show resolved Hide resolved
LICENSE Outdated Show resolved Hide resolved
rickbot-dot and others added 2 commits April 20, 2022 11:41
Co-authored-by: Chawye Hsu <chawyehsu@hotmail.com>
Co-authored-by: Chawye Hsu <chawyehsu@hotmail.com>
@Tyler887 Tyler887 requested a review from chawyehsu April 20, 2022 10:42
@Tyler887
Copy link
Contributor Author

Tyler887 commented Apr 20, 2022

Done! (Yes, Git's plaintext view for this pull request is at https://github.com/ScoopInstaller/Scoop/pull/4870.patch)

niheaven
niheaven previously approved these changes Apr 20, 2022
@rasa
Copy link
Member

rasa commented Apr 20, 2022

Retracted.
Sorry to raise this at this late stage, but I noticed the MIT license text lacks a copyright holder.

I would prefer that the MIT license be in LICENSE, with the 2 copyright lines. Without that, it's unclear what legal entities the license is being issued by.

Then an UNLICENSE file that is the original LICENSE file.

And finally, a COPYING file that says something like:


SPDX-License-Identifier: MIT or UNLICENSE

Unless otherwise stated this software is available to you under your choice of one of two licenses. You may choose to be licensed under the terms of the MIT license (see LICENSE) or the Unlicense (see UNLICENSE), both are included in this package.


I can make these changes if that's OK with the team.

chawyehsu
chawyehsu previously approved these changes Apr 21, 2022
LICENSE Outdated Show resolved Hide resolved
@Tyler887 Tyler887 dismissed stale reviews from chawyehsu and niheaven via 5ec4cb8 April 22, 2022 10:27
LICENSE Outdated
Comment on lines 58 to 60
C̶o̶p̶y̶r̶i̶g̶h̶t̶ ̶(̶c̶)̶ 2013-2017 Luke Sampson (https://github.com/lukesampson)
C̶o̶p̶y̶r̶i̶g̶h̶t̶ ̶(̶c̶)̶ 2013-present Scoop contributors (https://github.com/ScoopInstaller/Scoop/graphs/contributors)
Copyright (c) 2022-present Scoop contributors
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ready to merge, but I'm not sure why there is strikeout, and a repeating line. I would suggest it simply read:

Copyright (c) 2013-2017 Luke Sampson (https://github.com/lukesampson)
Copyright (c) 2013-2022 Scoop contributors (https://github.com/ScoopInstaller/Scoop/graphs/contributors)

Or drop the ending year:

Copyright (c) 2013 Luke Sampson (https://github.com/lukesampson)
Copyright (c) 2013 Scoop contributors (https://github.com/ScoopInstaller/Scoop/graphs/contributors)

but including the initial year is advisable per here and here.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I prefer former ones that have ending year, and the 2022 should just be present, e.g., 2013-present. (as Babel's)

Or just like .NET's, remove the starting and ending year.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but I'm not sure why there is strikeout, and a repeating line

I've the same question, what's the strikeout mean? @Tyler887

@niheaven
Copy link
Member

niheaven commented May 8, 2022

Close since #4903

@niheaven niheaven closed this May 8, 2022
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

Successfully merging this pull request may close these issues.

None yet

9 participants