bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust

Home Page:https://bevyengine.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Relicense Bevy under dual MIT/Apache-2.0

cart opened this issue · comments

What?

We would like to relicense Bevy under the "dual MIT / Apache-2.0 license". This allows users to select either license according to their own preferences. There are Very Good Reasons for this (see the "Why?" section below). However I can't just arbitrarily relicense open source code, despite being the maintainer / lead developer. Bevy has hundreds of contributors and they all agreed to license their contributions exclusively under our current instance of the MIT license.

If you are mentioned in this issue, we need your help to make this happen

To agree to this relicense, please read the details in this issue, then leave a comment with the following message:

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

If you disagree, please respond with your reasoning (just don't expect us to change course at this point). Anyone who doesn't agree to the relicense will have any Bevy contributions that qualify as "copyrightable" removed or re-implemented.

Why?

I originally chose to license Bevy exclusively under MIT for a variety of reasons:

  1. People and companies generally know and trust the MIT license more than any other license. Apache 2.0 is less known and trusted.
  2. It is short and easy to understand
  3. Many people aren't familiar with the "multiple license options ... choose your favorite" approach. I didn't want to scare people away unnecessarily.
  4. Other open source engines like Godot have had a lot of success with MIT-only licensing

However there were a variety of issues that have come up that make dual-licensing Bevy under both MIT and Apache-2.0 compelling:

  1. The MIT license (arguably) requires binaries to reproduce countless copies of the same license boilerplate for every MIT library in use. MIT-only engines like Godot have complicated license compliance rules as a result
  2. The Apache-2.0 license has protections from patent trolls and an explicit contribution licensing clause.
  3. The Rust ecosystem is largely Apache-2.0. Being available under that license is good for interoperation and opens the doors to upstreaming Bevy code into other projects (Rust, the async ecosystem, etc).
  4. The Apache license is incompatible with GPLv2, but MIT is compatible.

Additionally, Bevy's current MIT license includes the Copyright (c) 2020 Carter Anderson line. I don't want to force Bevy users to credit me (and no one else) for the rest of time. If you agree to the relicense, you also agree to allow us to remove this copyright line crediting me.

What will this look like?

After getting explicit approval from each contributor of copyrightable work
(as not all contributions qualify for copyright, due to not being a "creative
work", e.g. a typo fix), we will add the following file to our README:

### License

Licensed under either of

 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any
additional terms or conditions.

We will add LICENSE-{MIT,APACHE} files containing the text of each license. We will also update the license metadata in our Cargo.toml to:

license = "MIT OR Apache-2.0"

Contributor checkoff

  • @0x22fe
  • @8bit-pudding
  • @aclysma
  • @adam-bates
  • @adamaq01
  • @aevyrie
  • @ak-1
  • @akiross
  • @Alainx277
  • @alec-deason
  • @alexb910
  • @alexschrod
  • @alice-i-cecile
  • @alilee
  • @AlisCode
  • @aloucks
  • @amberkowalski
  • @AmionSky
  • @anchpop
  • @andoco
  • @andreheringer
  • @andrewhickman
  • @AngelicosPhosphoros
  • @AngelOnFira
  • @Archina
  • @ashneverdawn
  • @BafDyce
  • @bgourlie
  • @BimDav
  • @bitshifter
  • @bjorn3
  • @blaind
  • @blamelessgames
  • @blunted2night
  • @Bobox214
  • @Boiethios
  • @bonsairobo
  • @BoxyUwU
  • @Byteron
  • @CAD97
  • @CaelumLaron
  • @caelunshun
  • @cart
  • @CGMossa
  • @CleanCut
  • @ColdIce1605
  • @Cupnfish
  • @dallenng
  • @Dash-L
  • @Davier
  • @dburrows0
  • @dependabot[bot]
  • @deprilula28
  • @DGriffin91
  • @dintho
  • @Dispersia
  • @DivineGod
  • @Divoolej
  • @DJMcNab
  • @e00E
  • @easynam
  • @ElArtista
  • @eliaspekkala
  • @enfipy
  • @figsoda
  • @fintelia
  • @Fishrock123
  • @FlyingRatBull
  • @forbjok
  • @frewsxcv
  • @freylint
  • @Frizi
  • @FSMaxB
  • @FuriouZz
  • @GabLotus
  • @gcoakes
  • @gfreezy
  • @Git0Shuai
  • @giusdp
  • @GrantMoyer
  • @Gregoor
  • @Grindv1k
  • @guimcaballero
  • @Halfwhit
  • @Havvy
  • @HackerFoo
  • @Hugheth
  • @huhlig
  • @hymm
  • @ifletsomeclaire
  • @iMplode-nZ
  • @Incipium
  • @iwikal
  • @Ixentus
  • @J-F-Liu
  • @jacobgardner
  • @jak6jak
  • @jakerr
  • @jakobhellermann
  • @jamadazi
  • @Jbat1Jumper
  • @JCapucho
  • @jcornaz
  • @Jerald
  • @jesseviikari
  • @jihiggins
  • @jleflang
  • @jngbsn
  • @joejoepie
  • @JohnDoneth
  • @Josh015
  • @joshuajbouw
  • @julhe
  • @kaflu
  • @karroffel
  • @kedodrill
  • @kokounet
  • @Kurble
  • @lachlansneff
  • @lambdagolem
  • @lassade
  • @lberrymage
  • @lee-orr
  • @logannc
  • @Lowentwickler
  • @lukors
  • @Lythenas
  • @M2WZ
  • @marcusbuffett
  • @MarekLg
  • @marius851000
  • @MatteoGgl
  • @maxwellodri
  • @mccludav
  • @memoryruins
  • @mfrancis107
  • @MGlolenstine
  • @MichaelHills
  • @MilanVasko
  • @MinerSebas
  • @mjhostet
  • @mkhan45
  • @mnmaita
  • @mockersf
  • @Moxinilian
  • @MrEmanuel
  • @mrk-its
  • @msklywenn
  • @mtsr
  • @multun
  • @mvlabat
  • @naithar
  • @NathanSWard
  • @navaati
  • @ncallaway
  • @ndarilek
  • @Nazariglez
  • @Neo-Zhixing
  • @nic96
  • @NiklasEi
  • @Nilirad
  • @no1hitjam
  • @notsimon
  • @nside
  • @ocornoc
  • @Olaren15
  • @OptimisticPeach
  • @payload
  • @Philipp-M
  • @Plecra
  • @PrototypeNM1
  • @r00ster91
  • @Ratysz
  • @RedlineTriad
  • @refnil
  • @reidbhuntley
  • @Restioson
  • @RichoDemus
  • @rmsc
  • @rmsthebest
  • @RobDavenport
  • @robertwayne
  • @rod-salazar
  • @rparrett
  • @ryanleecode
  • @sapir
  • @saveriomiroddi
  • @sburris0
  • @schell
  • @sdfgeoff
  • @ShadowMitia
  • @simensgreen
  • @simlay
  • @simpuid
  • @SmiteWindows
  • @smokku
  • @StarArawn
  • @stefee
  • @superdump
  • @SvenTS
  • @sY9sE33
  • @szunami
  • @tangmi
  • @tarkah
  • @TehPers
  • @Telzhaak
  • @termhn
  • @tiagolam
  • @the-notable
  • @thebluefish
  • @TheNeikos
  • @TheRawMeatball
  • @therealstork
  • @thirdsgames
  • @Tiagojdferreira
  • @tigregalis
  • @Toniman20
  • @toothbrush7777777
  • @TotalKrill
  • @tristanpemble
  • @trolleyman
  • @turboMaCk
  • @TypicalFork
  • @undinococo
  • @verzuz
  • @Veykril
  • @vgel
  • @VitalyAnkh
  • @w1th0utnam3
  • @W4RH4WK
  • @Waridley
  • @Weibye
  • @Weibye-Breach
  • @wilk10
  • @will-hart
  • @willcrichton
  • @WilliamTCarroll
  • @woubuc
  • @wyhaya
  • @Xavientois
  • @YohDeadfall
  • @yrns
  • @zaszi
  • @zgotsch
  • @zicklag
  • @Zooce

Contributors with "obsolete" changes (no need for approval)

  • adekau
  • ColonisationCaptain
  • temhotaokeaha

Contributors with "trivial" changes that are ok to keep

  • follower
  • HyperLightKitsune
  • liufuyang
  • Raymond26
  • themilkybit
  • walterpie
  • EthanYidong

Contributors with changes we reverted to unblock the relicense

  • TomBebb

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I will now mention people in chunks of 50, as that is the max number of mentions per message.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option. To go a step further, you can do so for any other license you might add in the future.

I think I only bumped a dependency in Cargo.toml. Makes me laugh, the idea that you would have to "reimplement" that. It would be like claiming plagiarism for the phrase, "in conclusion."

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions (to this and other bevyengine repositories) under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I've also only contributed a version bump so far, so I probably didn't even need to okay this.

Don't forget to mute the issue once you've agreed to the relicense!

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

(I don't think @dependabot[bot] will be replying, btw)

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

Good luck with the license change!
I've done nothing but fix a few typos, but I think that a license change, especially a choice might not be such a bad idea.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

This is a pretty cool Bevy meetup,

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

​I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

Glad to see this change :D

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

commented

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

Inspired by recent wgpu relicensing I suppose?
I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.

I license past and future contributions under the dual MIT/Apache-2.0 license, allowing licensees to choose either at their option.