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

[Merged by Bors] - Relicense Bevy under the dual MIT or Apache-2.0 license #2509

Closed
wants to merge 11 commits into from

Conversation

cart
Copy link
Member

@cart cart commented Jul 20, 2021

This relicenses Bevy under the dual MIT or Apache-2.0 license. For rationale, see #2373.

  • Changes the LICENSE file to describe the dual license. Moved the MIT license to docs/LICENSE-MIT. Added the Apache-2.0 license to docs/LICENSE-APACHE. I opted for this approach over dumping both license files at the root (the more common approach) for a number of reasons:
    • Github links to the "first" license file (LICENSE-APACHE) in its license links (you can see this in the wgpu and rust-analyzer repos). People clicking these links might erroneously think that the apache license is the only option. Rust and Amethyst both use COPYRIGHT or COPYING files to solve this problem, but this creates more file noise (if you do everything at the root) and the naming feels way less intuitive.
    • People have a reflex to look for a LICENSE file. By providing a single license file at the root, we make it easy for them to understand our licensing approach.
    • I like keeping the root clean and noise free
    • There is precedent for putting the apache and mit license text in sub folders (amethyst)
  • Removed the Copyright (c) 2020 Carter Anderson copyright notice from the MIT license. I don't care about this attribution, it might make license compliance more difficult in some cases, and it didn't properly attribute other contributors. We shoudn't replace it with something like "Copyright (c) 2021 Bevy Contributors" because "Bevy Contributors" is not a legal entity. Instead, we just won't include the copyright line (which has precedent ... Rust also uses this approach).
  • Updates crates to use the new "MIT OR Apache-2.0" license value
  • Removes the old legion-transform license file from bevy_transform. bevy_transform has been its own, fully custom implementation for a long time and that license no longer applies.
  • Added a License section to the main readme
  • Updated our Bevy Plugin licensing guidelines.

As a follow-up we should update the website to properly describe the new license.

Closes #2373

@cart cart added the A-Meta About the project itself label Jul 20, 2021
@cart cart added this to the Bevy 0.6 milestone Jul 20, 2021
@github-actions github-actions bot added S-Needs-Triage This issue needs to be labelled S-Pre-Relicense This PR was made before Bevy added the Apache license. Cannot be merged or used for other work labels Jul 20, 2021
@alice-i-cecile alice-i-cecile removed S-Needs-Triage This issue needs to be labelled S-Pre-Relicense This PR was made before Bevy added the Apache license. Cannot be merged or used for other work labels Jul 20, 2021
@mockersf
Copy link
Member

could you also remove

S-Pre-Relicense:
- "**"

@cart
Copy link
Member Author

cart commented Jul 20, 2021

Done!

Copy link
Member

@DJMcNab DJMcNab left a comment

Choose a reason for hiding this comment

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

Looks good to me

One thing I haven't checked is that you've caught all of the crates with the new license field value.

README.md Show resolved Hide resolved
docs/LICENSE-APACHE Outdated Show resolved Hide resolved
docs/LICENSE-MIT Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
Copy link
Member

@DJMcNab DJMcNab left a comment

Choose a reason for hiding this comment

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

A handful of minor nits, none of which are necessarily blocking

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved

at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are [_very good reasons_](https://github.com/bevyengine/bevy/issues/2373) to include both.

Unless you explicitly state otherwise, any contribution intentionally submitted
Copy link
Member

Choose a reason for hiding this comment

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

I've already checked this twice, so I just want to leave a note for myself that this is not new text - it's exactly the text from C-permissive

docs/plugins_guidelines.md Outdated Show resolved Hide resolved
@cart
Copy link
Member Author

cart commented Jul 23, 2021

Cool cool. I agree that we should follow this up with a "license compliance" page on the website (and probably a link to that from the readme).

Everything else should be resolved. @DJMcNab ready for a merge?

@DJMcNab
Copy link
Member

DJMcNab commented Jul 23, 2021

It looks good to me.

Edit: The emphasis in README.md is still there

@cart
Copy link
Member Author

cart commented Jul 23, 2021

Not that i'm seeing!

image

@cart
Copy link
Member Author

cart commented Jul 23, 2021

Ahh thats the plugin guidelines not the readme. my bad!

@cart
Copy link
Member Author

cart commented Jul 23, 2021

bors r+

bors bot pushed a commit that referenced this pull request Jul 23, 2021
This relicenses Bevy under the dual MIT or Apache-2.0 license. For rationale, see #2373.

* Changes the LICENSE file to describe the dual license. Moved the MIT license to docs/LICENSE-MIT. Added the Apache-2.0 license to docs/LICENSE-APACHE. I opted for this approach over dumping both license files at the root (the more common approach) for a number of reasons:
  * Github links to the "first" license file (LICENSE-APACHE) in its license links (you can see this in the wgpu and rust-analyzer repos). People clicking these links might erroneously think that the apache license is the only option. Rust and Amethyst both use COPYRIGHT or COPYING files to solve this problem, but this creates more file noise (if you do everything at the root) and the naming feels way less intuitive. 
  * People have a reflex to look for a LICENSE file. By providing a single license file at the root, we make it easy for them to understand our licensing approach. 
  * I like keeping the root clean and noise free
  * There is precedent for putting the apache and mit license text in sub folders (amethyst) 
* Removed the `Copyright (c) 2020 Carter Anderson` copyright notice from the MIT license. I don't care about this attribution, it might make license compliance more difficult in some cases, and it didn't properly attribute other contributors. We shoudn't replace it with something like "Copyright (c) 2021 Bevy Contributors" because "Bevy Contributors" is not a legal entity. Instead, we just won't include the copyright line (which has precedent ... Rust also uses this approach).
* Updates crates to use the new "MIT OR Apache-2.0" license value
* Removes the old legion-transform license file from bevy_transform. bevy_transform has been its own, fully custom implementation for a long time and that license no longer applies.
* Added a License section to the main readme
* Updated our Bevy Plugin licensing guidelines.

As a follow-up we should update the website to properly describe the new license.

Closes #2373
@bors
Copy link
Contributor

bors bot commented Jul 23, 2021

@bors bors bot changed the title Relicense Bevy under the dual MIT or Apache-2.0 license [Merged by Bors] - Relicense Bevy under the dual MIT or Apache-2.0 license Jul 23, 2021
@bors bors bot closed this Jul 23, 2021
ostwilkens pushed a commit to ostwilkens/bevy that referenced this pull request Jul 27, 2021
)

This relicenses Bevy under the dual MIT or Apache-2.0 license. For rationale, see bevyengine#2373.

* Changes the LICENSE file to describe the dual license. Moved the MIT license to docs/LICENSE-MIT. Added the Apache-2.0 license to docs/LICENSE-APACHE. I opted for this approach over dumping both license files at the root (the more common approach) for a number of reasons:
  * Github links to the "first" license file (LICENSE-APACHE) in its license links (you can see this in the wgpu and rust-analyzer repos). People clicking these links might erroneously think that the apache license is the only option. Rust and Amethyst both use COPYRIGHT or COPYING files to solve this problem, but this creates more file noise (if you do everything at the root) and the naming feels way less intuitive. 
  * People have a reflex to look for a LICENSE file. By providing a single license file at the root, we make it easy for them to understand our licensing approach. 
  * I like keeping the root clean and noise free
  * There is precedent for putting the apache and mit license text in sub folders (amethyst) 
* Removed the `Copyright (c) 2020 Carter Anderson` copyright notice from the MIT license. I don't care about this attribution, it might make license compliance more difficult in some cases, and it didn't properly attribute other contributors. We shoudn't replace it with something like "Copyright (c) 2021 Bevy Contributors" because "Bevy Contributors" is not a legal entity. Instead, we just won't include the copyright line (which has precedent ... Rust also uses this approach).
* Updates crates to use the new "MIT OR Apache-2.0" license value
* Removes the old legion-transform license file from bevy_transform. bevy_transform has been its own, fully custom implementation for a long time and that license no longer applies.
* Added a License section to the main readme
* Updated our Bevy Plugin licensing guidelines.

As a follow-up we should update the website to properly describe the new license.

Closes bevyengine#2373
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Meta About the project itself
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Relicense Bevy under dual MIT/Apache-2.0
5 participants