CONTRIBUTING: Clarifications on how to handle license deviations

This patch makes a few clarifications which were discussed on
IRC recently.

Specifically:
- Highlight the principle that license deviations
  should be brought to the attention of maintainers
- Add a requirement for GPLv2 compatibility
- Restructure the document to highlight use-cases for
  "New components" and "Importing code" clearer
- Add conventions and instructions for "New files"

Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Julien Grall <julien.grall@arm.com>
This commit is contained in:
Lars Kurth authored and Wei Liu committed 2019-01-02 14:17:45 +00:00
1 parent 3fa1afc57e
commit f258c90eef
1 file changed
+23 -4
+23 -4
View File
@@ -19,6 +19,19 @@ Most notably:
- tools/xl : LGPL v2.1 - tools/xl : LGPL v2.1
- xen/include/public : MIT license - xen/include/public : MIT license
The COMMON COPYRIGHT NOTICES section of this document contains
sample copyright notices for the most common licenses used within
this repository.
When creating new components, new files, or importing code please follow
the conventions outlined below. As a general rule, whenever code using a
license other than GPLv2 is introduced, attention must be drawn to the
difference, such that maintainers can make an informed decision about the
deviation. Any new code must be GPLv2 compatible.
New components
--------------
When creating new components and directories that contain a When creating new components and directories that contain a
significant amount of files that are licensed under licenses other significant amount of files that are licensed under licenses other
than GPLv2 or the license specified in the COPYING file, please than GPLv2 or the license specified in the COPYING file, please
@@ -27,15 +40,21 @@ license text and a rationale for using a different license. This helps
ensure that the license of this new component/directory is maintained ensure that the license of this new component/directory is maintained
consistently with the original intention. consistently with the original intention.
New files
---------
If specific files that differ from the license in a directory are introduced,
exceptions should be highlighted and discussed in the commit message or cover
letter introducing the file.
Importing code
--------------
When importing code from other upstream projects into this repository, When importing code from other upstream projects into this repository,
please create a README.source file in the directory the code is imported please create a README.source file in the directory the code is imported
to, listing the original source of the code. An example can be found at to, listing the original source of the code. An example can be found at
m4/README.source m4/README.source
The COMMON COPYRIGHT NOTICES section of this document contains
sample copyright notices for the most common licenses used within
this repository.
Developer's Certificate of Origin Developer's Certificate of Origin
--------------------------------- ---------------------------------
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.