Updated Contributor License Agreement Policy (markdown)

This commit is contained in:
bunnei 2019-09-27 02:35:05 -04:00
parent 763749f8d2
commit d8aad50c89

View File

@ -6,7 +6,7 @@ As of the time of this document, yuzu has around [200 contributors](https://gith
* In recent years, emulators have become productized. This has positive and negative effects for end users. On one hand, productizing emulators has meant that emulator developers are getting compensated for their hard work. Compensation means that developers are willing to work on the parts of emulation that aren't necessarily *fun*, such as usability and polish features that are important to end users. Compensation also means that emulator developers can devote more time to the project. All of these mean faster development, a better product, and a better experience for end users. * In recent years, emulators have become productized. This has positive and negative effects for end users. On one hand, productizing emulators has meant that emulator developers are getting compensated for their hard work. Compensation means that developers are willing to work on the parts of emulation that aren't necessarily *fun*, such as usability and polish features that are important to end users. Compensation also means that emulator developers can devote more time to the project. All of these mean faster development, a better product, and a better experience for end users.
* However, recent closed source emulators have shown that emulation can be successfully monetized. This has resulted in some of the most successful projects becoming closed source, which overall hurts preservation of the hardware and the games. Open preservation is the core of why most yuzu developers work on the project. The success of closed source emulators has furthermore shown that the damage to coexisting open source emulators and preservation can be significant: Given the complexity of modern systems, it can be incredibly demotivating for an open source project that is trailing behind to try to stay relevant. By design, closed source emulators benefit from the innovation of open source projects, without having to give back. Consequently, such open source projects fail to attract attention and new developers, and can die off leaving the opportunity for preservation lost. * However, recent closed source emulators have shown that emulation can be successfully monetized. This has resulted in some of the most successful projects becoming closed source, which overall hurts preservation of the hardware and the games. Open preservation is the core of why most yuzu developers work on the project. The success of closed source emulators has furthermore shown that the damage to coexisting open source emulators and preservation can be significant: Given the complexity of modern systems, it can be incredibly demotivating for an open source project that is trailing behind to try to stay relevant. By design, closed source emulators benefit from the innovation of open source projects, without having to give back. Consequently, such open source projects fail to attract attention and new developers, and can die off leaving the opportunity for preservation lost.
* yuzu is an open source project. The [main repository](https://github.com/yuzu-emu/yuzu/) for the project will always be open source, accessible to new contributors, and purposed with preserving the Nintendo Switch. Furthermore, the main repository will always be a reference implementation for all ancillary releases within the yuzu project. However, in order to compete with modern emulators in 2019 and beyond, yuzu also needs to be a product. We need to find ways to monetize the project and compensate our developers while also staying open source. This will allow us to share the same benefits of other productized projects, such as by enabling our developers to spend more time working on yuzu, or to work on less exciting but necessary features. Unfortunately, this is very difficult without the maintainers of the yuzu project having ownership of the source code. * yuzu is an open source project. The [main repository](https://github.com/yuzu-emu/yuzu/) for the project will always be open source, accessible to new contributors, and purposed with preserving the Nintendo Switch. Furthermore, the main repository will always be a reference implementation for all ancillary releases within the yuzu project. However, in order to compete with modern emulators in 2019 and beyond, yuzu also needs to be a product. We need to find ways to monetize the project and compensate our developers while also staying open source. This will allow us to share the same benefits of other productized projects, such as by enabling our developers to spend more time working on yuzu, or to work on less exciting but necessary features. Unfortunately, this is very difficult without the maintainers of the yuzu project having ownership of the source code.
* While we agree with the spirit of the project's open source license the GNU General Public License v2.0 (GPL), on its own, the GPL does not provide any legal protection against bad actors. Without any meaningful income stream, an open source project does not have the legal resources to pursue a GPL violation. For example, there have been many instances of GPL emulators being released on the Android Play Store as commercial closed source products without permission from the original authors. The CLA helps protect yuzu against such scenarios by allowing yuzu to 1) consolidate the copyright owners of the project as a whole to a smaller, more meaningful, and active set of individuals, 2) more easily monetize the project and therefore have resources to potentially take legal action against bad actors as warranted, 3) restrict the access of non-core parts of the yuzu source code that could be used by bad actors to monetize yuzu. * While we agree with the spirit of the project's open source license, the GNU General Public License v2.0 (GPL), on its own, the GPL does not provide any legal protection against bad actors. Without any meaningful income stream, an open source project does not have the legal resources to pursue a GPL violation. For example, there have been many instances of GPL emulators being released on the Android Play Store as commercial closed source products without permission from the original authors. The CLA helps protect yuzu against such scenarios by allowing yuzu to 1) consolidate the copyright owners of the project as a whole to a smaller, more meaningful, and active set of individuals, 2) more easily monetize the project and therefore have resources to potentially take legal action against bad actors as warranted, 3) restrict the access of non-core parts of the yuzu source code that could be used by bad actors to monetize yuzu.
## Who must agree to the CLA? ## Who must agree to the CLA?
Any contributor that opens a Pull Request against the [main repository](https://github.com/yuzu-emu/yuzu/) must agree to the CLA before their change can be merged. Similar to how Pull Requests must satisfy build and verification requirements, and must be approved by reviewers, this will be another checkbox within the merge process. Any contributor that opens a Pull Request against the [main repository](https://github.com/yuzu-emu/yuzu/) must agree to the CLA before their change can be merged. Similar to how Pull Requests must satisfy build and verification requirements, and must be approved by reviewers, this will be another checkbox within the merge process.