From fc5be6e09ba9f07ee88b035d5fe95585b627e0ec Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Thu, 28 Sep 2017 19:03:18 -0400 Subject: [PATCH 01/12] Begin PLEP on licensing The purpose of this PLEP is to add an explicit patent grant to PlasmaPy's BSD 3-clause license to protect the rights of users against software patents, and to have creative works covered by Creative Commons licenses. This commit include a first draft of most sections of this PLEP, except for the detailed description. --- PLEP-0004.md | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 PLEP-0004.md diff --git a/PLEP-0004.md b/PLEP-0004.md new file mode 100644 index 0000000..405d3b5 --- /dev/null +++ b/PLEP-0004.md @@ -0,0 +1,137 @@ +# PLEP-0004 -- Add a patent grant to PlasmaPy's license + +| PLEP | 4 | +|-------------------|------------------------------------------| +| title | Add a patent grant to PlasmaPy's license | +| author(s) | Nick Murphy | +| contact email | namurphy@cfa.harvard.edu | +| date created | 2017-09-28 | +| date last revised | 2017-09-28 | +| type | process | +| status | in preparation | + +## Abstract + +Most modern software licenses include language that protects users and +the package against software patents. PlasmaPy's [BSD 3-clause +license](https://opensource.org/licenses/BSD-3-Clause) does not +include such a clause. There is a small but nonzero chance that a +contributor could later patent their contribution, and then prohibit +use of that contribution by PlasmaPy community members. The first +component of this PLEP is to add the explicit patent grant contained +in the [BSD+Patent +license](https://opensource.org/licenses/BSDplusPatent) that was +recently approved by the Open Source Initiative (OSI). + +PlasmaPy includes multiple repositories to host creative works in +addition to (or instead of) software. Creative Commons licenses are +much more appropriate than open source licenses for creative content. +The second component of this PLEP is to adopt the Creative Commons +Attribution 4.0 International ([CC BY +4.0](https://creativecommons.org/licenses/by/4.0/)) license for +creative works in most repositories, and the Creative Commons +Attribution-ShareAlike 4.0 International ([CC BY-SA +4.0](https://creativecommons.org/licenses/by-sa/4.0/)) for the +creative works in the [Plasma-Education +repository](https://github.com/PlasmaPy/Plasma-Education). + +## Detailed Description + + + + +## Implementation + +The following text will be added to the existing PlasmaPy license: + +> Subject to the terms and conditions of this license, each copyright +> holder and contributor hereby grants to those receiving rights under +> this license a perpetual, worldwide, non-exclusive, no-charge, +> royalty-free, irrevocable (except for failure to satisfy the +> conditions of this license) patent license to make, have made, use, +> offer to sell, sell, import, and otherwise transfer this software, +> where such license applies only to those patent claims, already +> acquired or hereafter acquired, licensable by such copyright holder +> or contributor that are necessarily infringed by: +> +> (a) their Contribution(s) (the licensed copyrights of copyright +> holders and non-copyrightable additions of contributors, in +> source or binary form) alone; or +> +> (b) combination of their Contribution(s) with the work of +> authorship to which such Contribution(s) was added by such +> copyright holder or contributor, if, at the time the +> Contribution is added, such addition causes such combination +> to be necessarily infringed. The patent license shall not +> apply to any other combinations which include the +> Contribution. +> +> Except as expressly stated above, no rights or licenses from any +> copyright holder or contributor is granted under this license, +> whether expressly, by implication, estoppel or otherwise. + +The phrase "All rights reserved" will be removed because it no longer +has any legal significance, and additional minor formatting changes +will be made. + +Repositories that contain solely creative works will be updated to +include a license file that includes or refers to the CC BY license, +with the exception that the Plasma-Education library will be covered +by the CC BY-SA 4.0 license. + +Repositories that include both source code and creative works will +include a clause such as: + +> Source code files and code snippets included in this project are +> licensed under the BSD 3-clause license with an added patent grant. +> All other content in this project (including content compiled +> directly from source code and code snippets) is licensed under the +> Creative Commons Attribution 4.0 International (CC BY 4.0) license. + +For example, LaTeX code will be covered under the BSD license, while +the document created by compiling that code will be covered under the +CC BY 4.0 license. + +## Issues, Pull Requests, and Branches + +- https://github.com/PlasmaPy/PlasmaPy/pull/114 +- https://github.com/PlasmaPy/PlasmaPy-Tutorials/issues/1 +- https://github.com/PlasmaPy/Plasma-Education/issues/3 +- https://github.com/PlasmaPy/PlasmaPy-Enhancement-Proposals/issues/3 + +## Backward Compatibility + +Previous versions of PlasmaPy will continue to be available under the +original BSD 3-clause license. Contributions made prior to this will +not be covered by the patent grant except if granted + +## Alternatives + +### Software licensing + +- The first alternative is to retain our current BSD 3-clause license + that does not include a patent grant. This alternative risks the + small but nonzero possibility that a contributor could patent their + contribution and then restrict PlasmaPy from using it. + +- The second alternative is to use the [Apache License, Version + 2.0](https://opensource.org/licenses/Apache-2.0) which includes + specific protections against patents. However, [the naming of this + license constitutes cultural + appropriation](https://github.com/Quick/Quick/issues/660) which + violates the first bullet point of the Contributor Covenant Code of + Conduct on "using welcoming and inclusive language." + +- Additional alternatives include any of the [open source licenses + approved by OSI](https://opensource.org/licenses/category), possibly + with the addition of the explicit patent grant included the + [BSD+Patent license](). + +### Licensing of creative works + +- Alternatives include any of the other [Creative Commons + licenses](https://creativecommons.org/share-your-work/licensing-types-examples/). + +## Decision Rationale + +*This PLEP has not yet been decided upon.* \ No newline at end of file From c93923ab0bfcd38b62b66859e259fd0f48209511 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Sat, 14 Oct 2017 18:00:01 -0400 Subject: [PATCH 02/12] Extend background & implementation sections of PLEP 4 --- PLEP-0004.md | 105 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 34 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 405d3b5..60ab838 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -6,43 +6,76 @@ | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | -| date last revised | 2017-09-28 | +| date last revised | 2017-10-14 | | type | process | | status | in preparation | ## Abstract -Most modern software licenses include language that protects users and -the package against software patents. PlasmaPy's [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause) does not -include such a clause. There is a small but nonzero chance that a -contributor could later patent their contribution, and then prohibit -use of that contribution by PlasmaPy community members. The first -component of this PLEP is to add the explicit patent grant contained -in the [BSD+Patent -license](https://opensource.org/licenses/BSDplusPatent) that was -recently approved by the Open Source Initiative (OSI). - -PlasmaPy includes multiple repositories to host creative works in -addition to (or instead of) software. Creative Commons licenses are -much more appropriate than open source licenses for creative content. -The second component of this PLEP is to adopt the Creative Commons -Attribution 4.0 International ([CC BY -4.0](https://creativecommons.org/licenses/by/4.0/)) license for -creative works in most repositories, and the Creative Commons -Attribution-ShareAlike 4.0 International ([CC BY-SA -4.0](https://creativecommons.org/licenses/by-sa/4.0/)) for the -creative works in the [Plasma-Education -repository](https://github.com/PlasmaPy/Plasma-Education). +The purposes of this PLEP are for PlasmaPy to: -## Detailed Description +1. Add language to its license in order to protect against software +patents; and +2. Adopt Creative Commons licenses for creative content besides source +code files and code snippers. +## Detailed Description +PlasmaPy began development under the permissive [BSD 3-clause +license](https://opensource.org/licenses/BSD-3-Clause). This choice +was made to follow the established practice of existing projects such +as Astropy. The principal advantage of the BSD license is that it is +highly compatible with other licenses. Code released under a BSD +license can be used by or within codes released under most permissive +and copyleft licenses. + +Most modern software licenses include language that protects against +software patents. The BSD 3-clause license does not explicitly +include such language. This oversight leaves potential for a +contributor to patent their contribution, and then prohibit use of +thier contribution by the PlasmaPy community. Plasma physics has a +variety of commercial applications, so it is important to include +protections against software patents. The first component of this +PLEP is to add the explicit patent grant contained in the [BSD+Patent +license](https://opensource.org/licenses/BSDplusPatent) to PlasmaPy's +license. + +PlasmaPy includes multiple repositories to host creative works other +than software. Creative Commons licenses are much more appropriate +than open source licenses for creative content. The second component +of this PLEP is that PlasmaPy adopt the Creative Commons Attribution +4.0 International ([CC BY +4.0](https://creativecommons.org/licenses/by/4.0/)) license for most +creative works, excluding source code files and code snippets. + +When it is desirable to allow back and forth collaboration with a +large body of work under a Creative Commons ShareAlike license, then +the copyleft Creative Commons Attribution-ShareAlike 4.0 International +([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)) +license shall be adopted. When appropriate, language will be added +stating that works in these repositories may be incorporated into +large bodies of work under a previous ShareAlike license (such as +Wikipedia) under that previous ShareAlike license. + +When new repositories are created, they will by default be licensed +under the same license as the main PlasmaPy repository (the BSD +3-clause license with the patent grant from the BSD+Patent license) +for source code files and code snippets, and under the CC BY 4.0 +license for all other creative content. + +The Coordinating Committee may adopt different licenses for different +repositories when appropriate, as long as the licenses are on the list +of OSI approved open source licenses (or at the very least +unambiguously meet the criteria for an open source license as +established by OSI). Existing open source repositories that are +incorporated into PlasmaPy may continue to be licensed under the +existing license. ## Implementation -The following text will be added to the existing PlasmaPy license: +After receiving the permission of all contributors, the PlasmaPy +license shall be updated to include the following language: > Subject to the terms and conditions of this license, each copyright > holder and contributor hereby grants to those receiving rights under @@ -74,10 +107,10 @@ The phrase "All rights reserved" will be removed because it no longer has any legal significance, and additional minor formatting changes will be made. -Repositories that contain solely creative works will be updated to -include a license file that includes or refers to the CC BY license, -with the exception that the Plasma-Education library will be covered -by the CC BY-SA 4.0 license. +Existing repositories that contain solely creative works will be +updated to include a license file that includes or refers to the CC BY +license, with the exception that the Plasma-Education library will be +covered by the CC BY-SA 4.0 license. Repositories that include both source code and creative works will include a clause such as: @@ -92,6 +125,11 @@ For example, LaTeX code will be covered under the BSD license, while the document created by compiling that code will be covered under the CC BY 4.0 license. +Code in newly created repositories will be licensed under the same +license as the main PlasmaPy repository. Other creative content in +newly created repositories will use CC BY 4.0 license, except as +decided by the Coordinating Committee. + ## Issues, Pull Requests, and Branches - https://github.com/PlasmaPy/PlasmaPy/pull/114 @@ -116,16 +154,15 @@ not be covered by the patent grant except if granted - The second alternative is to use the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) which includes - specific protections against patents. However, [the naming of this - license constitutes cultural + specific protections against patents. However, [the naming of the + Apache license constitutes cultural appropriation](https://github.com/Quick/Quick/issues/660) which violates the first bullet point of the Contributor Covenant Code of Conduct on "using welcoming and inclusive language." - Additional alternatives include any of the [open source licenses - approved by OSI](https://opensource.org/licenses/category), possibly - with the addition of the explicit patent grant included the - [BSD+Patent license](). + approved by OSI](https://opensource.org/licenses/category), + including the copyleft GNU General Purpose License 3.0. ### Licensing of creative works From 53082c3b288184f6a0a89bba68de8da5baba7b34 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Sat, 14 Oct 2017 18:18:53 -0400 Subject: [PATCH 03/12] Updates to PLEP 4 --- PLEP-0004.md | 53 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 60ab838..0297e80 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -2,7 +2,7 @@ | PLEP | 4 | |-------------------|------------------------------------------| -| title | Add a patent grant to PlasmaPy's license | +| title | Licensing of PlasmaPy repositories | | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | @@ -25,10 +25,10 @@ code files and code snippers. PlasmaPy began development under the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause). This choice was made to follow the established practice of existing projects such -as Astropy. The principal advantage of the BSD license is that it is -highly compatible with other licenses. Code released under a BSD -license can be used by or within codes released under most permissive -and copyleft licenses. +as [Astropy](http://www.astropy.org/). The principal advantage of the +BSD license is that it is highly compatible with other licenses. Code +released under a BSD license can be used by or within codes released +under most permissive and copyleft licenses. Most modern software licenses include language that protects against software patents. The BSD 3-clause license does not explicitly @@ -56,21 +56,24 @@ the copyleft Creative Commons Attribution-ShareAlike 4.0 International license shall be adopted. When appropriate, language will be added stating that works in these repositories may be incorporated into large bodies of work under a previous ShareAlike license (such as -Wikipedia) under that previous ShareAlike license. +[Wikipedia](https://www.wikipedia.org/)) under that previous +ShareAlike license. When new repositories are created, they will by default be licensed -under the same license as the main PlasmaPy repository (the BSD -3-clause license with the patent grant from the BSD+Patent license) -for source code files and code snippets, and under the CC BY 4.0 -license for all other creative content. +under the [main PlasmaPy repository's +license](https://github.com/PlasmaPy/PlasmaPy/blob/master/LICENSE.md) +(the BSD 3-clause license with the patent grant from the BSD+Patent +license) for source code files and code snippets, and under the CC BY +4.0 license for all other creative content. The Coordinating Committee may adopt different licenses for different repositories when appropriate, as long as the licenses are on the list -of OSI approved open source licenses (or at the very least -unambiguously meet the criteria for an open source license as -established by OSI). Existing open source repositories that are -incorporated into PlasmaPy may continue to be licensed under the -existing license. +of [OSI approved open source +licenses](https://opensource.org/licenses/category) (or at the very +least unambiguously meet the [definition of open +source](https://opensource.org/osd) as described by OSI). Existing +open source repositories that are incorporated into PlasmaPy may +continue to be licensed under the existing license. ## Implementation @@ -103,14 +106,21 @@ license shall be updated to include the following language: > copyright holder or contributor is granted under this license, > whether expressly, by implication, estoppel or otherwise. -The phrase "All rights reserved" will be removed because it no longer -has any legal significance, and additional minor formatting changes -will be made. +The phrase ["All rights +reserved"](https://en.wikipedia.org/wiki/All_rights_reserved) no +longer has any legal significance and will be removed. The disclaimer +will not be made using all capital letters because that reduces +readability. + +If some contributors do not give permission to add the above language +and have it cover their existing contributions, then it will be stated +whose contributions are not covered by the patent language. Existing repositories that contain solely creative works will be updated to include a license file that includes or refers to the CC BY -license, with the exception that the Plasma-Education library will be -covered by the CC BY-SA 4.0 license. +4.0 license, with the exception that the [Plasma-Education +repository](https://github.com/PlasmaPy/Plasma-Education) will be +covered by the CC BY-SA 4.0 license. Repositories that include both source code and creative works will include a clause such as: @@ -141,7 +151,8 @@ decided by the Coordinating Committee. Previous versions of PlasmaPy will continue to be available under the original BSD 3-clause license. Contributions made prior to this will -not be covered by the patent grant except if granted +not be covered by the patent grant except if granted by the person who +made that contribution. ## Alternatives From e26d17ce4fa9f8c78bbcfcaea6e6c244ddc6c9d3 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Wed, 8 Nov 2017 19:50:04 -0500 Subject: [PATCH 04/12] Significantly revise PLEP on licensing --- PLEP-0004.md | 314 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 205 insertions(+), 109 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 0297e80..807d45c 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -1,4 +1,4 @@ -# PLEP-0004 -- Add a patent grant to PlasmaPy's license +# PLEP-0004 -- Licensing of PlasmaPy repositories | PLEP | 4 | |-------------------|------------------------------------------| @@ -6,29 +6,37 @@ | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | -| date last revised | 2017-10-14 | +| date last revised | 2017-11-08 | | type | process | | status | in preparation | ## Abstract -The purposes of this PLEP are for PlasmaPy to: - -1. Add language to its license in order to protect against software -patents; and - -2. Adopt Creative Commons licenses for creative content besides source -code files and code snippers. - -## Detailed Description +The purpose of this PlasmaPy Enhancement Proposal (PLEP) is to clarify +the licensing practices of PlasmaPy repositories. Source code files, +code snippets, and associated documentation shall in general be +covered by a BSD 3-clause license with an explicit patent grant. +Other creative works shall in general be covered by the Creative +Commons Attribution 4.0 International (CC BY 4.0) license. If back +and forth collaboration with a body of work released under a copyleft +license [e.g., a Creative Commons Attribution-ShareAlike (CC BY-SA) +license] is desirable, then a PlasmaPy repository may be licensed +under one or more compatible copyleft licenses. When PlasmaPy adopts +or incorporates an existing body of creative works released under an +Open Source Initiative (OSI) approved license or a Creative Commons +license, then that body of work and its derivatives may continue to +use that license. PlasmaPy's Coordinating Committee may make +exceptions to this policy when there extenuating circumstances. + +## Background information PlasmaPy began development under the permissive [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause). This choice -was made to follow the established practice of existing projects such -as [Astropy](http://www.astropy.org/). The principal advantage of the -BSD license is that it is highly compatible with other licenses. Code -released under a BSD license can be used by or within codes released -under most permissive and copyleft licenses. +license](https://opensource.org/licenses/BSD-3-Clause). The primary +advantage of this license is its compatibility with other licenses. +Code released under a BSD license may be used by or incorporated into +software covered by most permissive, copyleft, and proprietary +licenses. The choice of this license was to follow the established +practices of projects such as Astropy. Most modern software licenses include language that protects against software patents. The BSD 3-clause license does not explicitly @@ -36,50 +44,62 @@ include such language. This oversight leaves potential for a contributor to patent their contribution, and then prohibit use of thier contribution by the PlasmaPy community. Plasma physics has a variety of commercial applications, so it is important to include -protections against software patents. The first component of this -PLEP is to add the explicit patent grant contained in the [BSD+Patent -license](https://opensource.org/licenses/BSDplusPatent) to PlasmaPy's -license. - -PlasmaPy includes multiple repositories to host creative works other -than software. Creative Commons licenses are much more appropriate -than open source licenses for creative content. The second component -of this PLEP is that PlasmaPy adopt the Creative Commons Attribution -4.0 International ([CC BY -4.0](https://creativecommons.org/licenses/by/4.0/)) license for most -creative works, excluding source code files and code snippets. - -When it is desirable to allow back and forth collaboration with a -large body of work under a Creative Commons ShareAlike license, then -the copyleft Creative Commons Attribution-ShareAlike 4.0 International -([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/)) -license shall be adopted. When appropriate, language will be added -stating that works in these repositories may be incorporated into -large bodies of work under a previous ShareAlike license (such as -[Wikipedia](https://www.wikipedia.org/)) under that previous -ShareAlike license. - -When new repositories are created, they will by default be licensed -under the [main PlasmaPy repository's -license](https://github.com/PlasmaPy/PlasmaPy/blob/master/LICENSE.md) -(the BSD 3-clause license with the patent grant from the BSD+Patent -license) for source code files and code snippets, and under the CC BY -4.0 license for all other creative content. - -The Coordinating Committee may adopt different licenses for different -repositories when appropriate, as long as the licenses are on the list -of [OSI approved open source -licenses](https://opensource.org/licenses/category) (or at the very -least unambiguously meet the [definition of open -source](https://opensource.org/osd) as described by OSI). Existing -open source repositories that are incorporated into PlasmaPy may -continue to be licensed under the existing license. - -## Implementation - -After receiving the permission of all contributors, the PlasmaPy -license shall be updated to include the following language: - +protections against software patents. On 2017 October 19, the patent +grant from the [BSD+Patent +license](https://opensource.org/licenses/BSDplusPatent) was added to +PlasmaPy's license to give users the right to use contributions even +if a contributor later patents their contribution. This clause covers +all contributions made past this date, and the contributions made by +people who have agreed to the clause. + +Some PlasmaPy repositories contain creative works other than source +code files, code snippets, and associated documentation. Creative +Commons licenses are much more appropriate than open source licenses +to cover these other creative works. Works released under the CC BY +4.0 license may be shared and adapted as long as attribution is +provided. Works released under the copyleft CC BY-SA 3.0 or CC BY-SA +4.0 licenses may be shared and adapted as long as attribution is +provided and derived works are covered by either the same license or a +compatible license. The GNU Free Documentation License (GFDL) is +another commonly used copyleft license. + +CC BY and CC BY-SA licenses are one-way compatible. Works released +under a CC BY license may be adapted, redistributed, and relicensed +under a CC BY-SA license with attribution. However, works released +under a CC BY-SA license may not be adapted, redistributed, or +relicensed under a CC BY license. Choosing a copyleft license is +often appropriate when back and forth collaboration with existing +bodies of work covered by a copyleft license is desirable. Care must +be chosen to allow two-way licensing compatibility. + +## PlasmaPy licensing policy + +### Licensing of software repositories + +Software repositories created by PlasmaPy shall use the following BSD +3-clause license with the explicit patent grant from the OSI-approved +BSD+Patent license. This license may be used for documentation +internal to the project (e.g., documentation contained within a `docs` +subdirectory). + +> Copyright (c) 2017-2525, PlasmaPy Developers. +> +> Redistribution and use in source and binary forms, with or without +> modification, are permitted provided that the following conditions +> are met: +> +> * Redistributions of source code must retain the above copyright +> notice, this list of conditions and the following disclaimer. +> +> * Redistributions in binary form must reproduce the above copyright +> notice, this list of conditions and the following disclaimer in +> the documentation and/or other materials provided with the +> distribution. +> +> * Neither the name of PlasmaPy nor the names of its contributors may +> be used to endorse or promote products derived from this software +> without specific prior written permission. +> > Subject to the terms and conditions of this license, each copyright > holder and contributor hereby grants to those receiving rights under > this license a perpetual, worldwide, non-exclusive, no-charge, @@ -90,40 +110,63 @@ license shall be updated to include the following language: > acquired or hereafter acquired, licensable by such copyright holder > or contributor that are necessarily infringed by: > -> (a) their Contribution(s) (the licensed copyrights of copyright -> holders and non-copyrightable additions of contributors, in -> source or binary form) alone; or -> -> (b) combination of their Contribution(s) with the work of -> authorship to which such Contribution(s) was added by such -> copyright holder or contributor, if, at the time the -> Contribution is added, such addition causes such combination -> to be necessarily infringed. The patent license shall not -> apply to any other combinations which include the -> Contribution. +> (a) their Contribution(s) (the licensed copyrights of copyright +> holders and non-copyrightable additions of contributors, in source +> or binary form) alone; or > +> (b) combination of their Contribution(s) with the work of authorship +> to which such Contribution(s) was added by such copyright holder or +> contributor, if, at the time the Contribution is added, such +> addition causes such combination to be necessarily infringed. The +> patent license shall not apply to any other combinations which +> include the Contribution. +> > Except as expressly stated above, no rights or licenses from any > copyright holder or contributor is granted under this license, > whether expressly, by implication, estoppel or otherwise. - -The phrase ["All rights -reserved"](https://en.wikipedia.org/wiki/All_rights_reserved) no -longer has any legal significance and will be removed. The disclaimer -will not be made using all capital letters because that reduces -readability. - -If some contributors do not give permission to add the above language -and have it cover their existing contributions, then it will be stated -whose contributions are not covered by the patent language. - -Existing repositories that contain solely creative works will be -updated to include a license file that includes or refers to the CC BY -4.0 license, with the exception that the [Plasma-Education -repository](https://github.com/PlasmaPy/Plasma-Education) will be -covered by the CC BY-SA 4.0 license. - -Repositories that include both source code and creative works will -include a clause such as: +> +> ## Disclaimer +> +> This software is provided by the copyright holders and contributors +> "as is" and any express or implied warranties, including, but not +> limited to, the implied warranties of merchantability and fitness +> for a particular purpose are disclaimed. In no event shall the +> copyright holder or contributors be liable for any direct, indirect, +> incidental, special, exemplary, or consequential damages (including, +> but not limited to, procurement of substitute goods or services; +> loss of use, data, or profits; or business interruption) however +> caused and on any theory of liability, whether in contract, strict +> liability, or tort (including negligence or otherwise) arising in +> any way out of the use of this software, even if advised of the +> possibility of such damage. + +### Licensing of creative works other than code and multi-licensing + +Creative works besides source code files, code snippets, and +documentation contained within a `docs` directory shall by default be +covered by the CC BY 4.0 license. + +If significant collaboration with an existing body of creative work +covered by a copyleft license is desired, then a PlasmaPy repository +may be covered by one or more copyleft licenses that provide for +two-way compatibility. In order for a work to be fully compatible +with Wikipedia, for example, it must be both CC BY-SA 3.0 and GFDL +compatible. + +If a repository contains both code and creative content besides code, +then the license file should specify that source code files and code +snippets are released under a BSD 3-clause license (that is include in +the file) and that all other creative content is released under an +appropriate Creative Commons license (which may be linked to from the +license file). As an example, LaTeX code will be covered under the +BSD license, while the document created by compiling that code will be +covered under a Creative Commons license. + +Licenses that do not allow derivative works or commercial use shall +not be used by PlasmaPy except under extraordinary circumstances. + +The following is sample language for a repository that contains code +and other creative content: > Source code files and code snippets included in this project are > licensed under the BSD 3-clause license with an added patent grant. @@ -131,14 +174,47 @@ include a clause such as: > directly from source code and code snippets) is licensed under the > Creative Commons Attribution 4.0 International (CC BY 4.0) license. -For example, LaTeX code will be covered under the BSD license, while -the document created by compiling that code will be covered under the -CC BY 4.0 license. +The following is sample language for a repository that contains code +as well as creative content besides code and that allows two-way +collaboration with Wikipedia: + +> Source code files and code snippets included in this project are +> licensed under a BSD 3-clause license with a patent grant. +> +> Unless otherwise indicated, all other creative content in this work +> (including content produced directly from unmodified source code and +> code snippets) is released under the Creative Commons +> Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. +> Original contributions (e.g., contributions that are not derived +> from another work) to this repository may also be shared, adapted, +> and redistributed under the Creative Commons Attribution-ShareAlike +> 3.0 Unported (CC BY-SA 3.0) license and/or the GNU Free +> Documentation License (GFDL). + +### Copyright notices + +A copyright notice must be included in every repository. The phrase +["All rights +reserved"](https://en.wikipedia.org/wiki/All_rights_reserved) no +longer has any legal significance and should not be included. -Code in newly created repositories will be licensed under the same -license as the main PlasmaPy repository. Other creative content in -newly created repositories will use CC BY 4.0 license, except as -decided by the Coordinating Committee. +### Licensing of pre-existing repositories adopted by PlasmaPy + +When PlasmaPy redistributes or adapts existing repositories that are +covered by an OSI approved license or a license that meets the OSI +definition of open source, then that repository may continue to use +its original license. + +### Exceptions + +The Coordinating Committee may adopt different licenses for different +repositories when appropriate, as long as the licenses are on the list +of [OSI approved open source +licenses](https://opensource.org/licenses/category) (or at the very +least unambiguously meet the [definition of open +source](https://opensource.org/osd) as described by OSI). Existing +open source repositories that are incorporated into PlasmaPy may +continue to be licensed under the existing license. ## Issues, Pull Requests, and Branches @@ -149,21 +225,18 @@ decided by the Coordinating Committee. ## Backward Compatibility -Previous versions of PlasmaPy will continue to be available under the -original BSD 3-clause license. Contributions made prior to this will -not be covered by the patent grant except if granted by the person who -made that contribution. +Versions of PlasmaPy will continue to be available under the original +BSD 3-clause license. ## Alternatives ### Software licensing -- The first alternative is to retain our current BSD 3-clause license - that does not include a patent grant. This alternative risks the - small but nonzero possibility that a contributor could patent their - contribution and then restrict PlasmaPy from using it. +- PlasmaPy could use the BSD 3-clause license without the patent + grant; however this would remove explicit protections against + software patents. -- The second alternative is to use the [Apache License, Version +- Another alternative would be to use the [Apache License, Version 2.0](https://opensource.org/licenses/Apache-2.0) which includes specific protections against patents. However, [the naming of the Apache license constitutes cultural @@ -171,15 +244,38 @@ made that contribution. violates the first bullet point of the Contributor Covenant Code of Conduct on "using welcoming and inclusive language." +- Software could be licensed under the copyleft GNU General Purpose + License 3.0 (GPLv3). This license would require that derivative + works be covered by the same license when being redistributed. This + license would ensure that derivative works are covered by the same + license and prevent use by proprietary packages. The disadvantage + of this license is that it is not compatible with permissive open + source licenses. + - Additional alternatives include any of the [open source licenses approved by OSI](https://opensource.org/licenses/category), including the copyleft GNU General Purpose License 3.0. ### Licensing of creative works +- Creative works could use + - Alternatives include any of the other [Creative Commons - licenses](https://creativecommons.org/share-your-work/licensing-types-examples/). + licenses](https://creativecommons.org/share-your-work/licensing-types-examples/) + or the GFDL. + + - The CC0 license would relinquish the copyright of a creative work + to the extent allowed by law so that the work is effectively in + the public domain. This license would remove the attribution + requirement contained within the CC BY and CC BY-SA licenses. + However, attribution is beneficial to the scientific process + because it allows recipients to better understand the origin of an + idea or data which in turn helps reprodicibility. + + - Creative Commons licenses that prohibit derivative and/or + commercial reuse run contrary to the principles associated with + the Free/Libre and Open Source Software (FLOSS) movement. ## Decision Rationale -*This PLEP has not yet been decided upon.* \ No newline at end of file +*This PLEP has not yet been decided upon.* From e6afacc67dd8494de01c35212bf6f9bbf82b63bf Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Wed, 8 Nov 2017 20:35:30 -0500 Subject: [PATCH 05/12] Revise and add links to licensing PLEP --- PLEP-0004.md | 195 ++++++++++++++++++++++++++++----------------------- 1 file changed, 109 insertions(+), 86 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 807d45c..2de9716 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -10,58 +10,74 @@ | type | process | | status | in preparation | -## Abstract +## Summary The purpose of this PlasmaPy Enhancement Proposal (PLEP) is to clarify the licensing practices of PlasmaPy repositories. Source code files, code snippets, and associated documentation shall in general be covered by a BSD 3-clause license with an explicit patent grant. -Other creative works shall in general be covered by the Creative -Commons Attribution 4.0 International (CC BY 4.0) license. If back -and forth collaboration with a body of work released under a copyleft -license [e.g., a Creative Commons Attribution-ShareAlike (CC BY-SA) -license] is desirable, then a PlasmaPy repository may be licensed -under one or more compatible copyleft licenses. When PlasmaPy adopts -or incorporates an existing body of creative works released under an -Open Source Initiative (OSI) approved license or a Creative Commons -license, then that body of work and its derivatives may continue to -use that license. PlasmaPy's Coordinating Committee may make -exceptions to this policy when there extenuating circumstances. +Other creative works shall in general be covered by the [Creative +Commons Attribution 4.0 International (CC BY 4.0) +license](https://creativecommons.org/licenses/by/4.0/). If back and +forth collaboration with a body of work released under a copyleft +license [e.g., the [Creative Commons Attribution-ShareAlike (CC BY-SA +4.0) license](https://creativecommons.org/licenses/by-sa/4.0/)] is +desirable, then a PlasmaPy repository may be licensed under one or +more compatible copyleft licenses. When PlasmaPy adopts or +incorporates an existing body of creative works released under an +[Open Source Initiative (OSI) approved +license](https://opensource.org/licenses/category) or a [Creative +Commons license](https://creativecommons.org/licenses/), then that +body of work and its derivatives may continue to use that license. +PlasmaPy's Coordinating Committee may make exceptions to this policy +when there extenuating circumstances. ## Background information PlasmaPy began development under the permissive [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause). The primary -advantage of this license is its compatibility with other licenses. -Code released under a BSD license may be used by or incorporated into -software covered by most permissive, copyleft, and proprietary +advantage of this license is its +[compatibility](https://en.wikipedia.org/wiki/License_compatibility) +with other licenses. Code released under a BSD license may be used by +or incorporated into software covered by most +[permissive](https://en.wikipedia.org/wiki/Permissive_software_licence), +[copyleft](https://en.wikipedia.org/wiki/Copyleft), and +[proprietary](https://en.wikipedia.org/wiki/Proprietary_software) licenses. The choice of this license was to follow the established -practices of projects such as Astropy. +practices of projects such as [Astropy](http://www.astropy.org/). Most modern software licenses include language that protects against -software patents. The BSD 3-clause license does not explicitly -include such language. This oversight leaves potential for a -contributor to patent their contribution, and then prohibit use of +software patents. The [BSD 3-clause +license](https://opensource.org/licenses/BSD-3-Clause) does not +explicitly include such language. This oversight leaves potential for +a contributor to patent their contribution, and then prohibit use of thier contribution by the PlasmaPy community. Plasma physics has a variety of commercial applications, so it is important to include protections against software patents. On 2017 October 19, the patent grant from the [BSD+Patent -license](https://opensource.org/licenses/BSDplusPatent) was added to -PlasmaPy's license to give users the right to use contributions even -if a contributor later patents their contribution. This clause covers -all contributions made past this date, and the contributions made by -people who have agreed to the clause. +license](https://opensource.org/licenses/BSDplusPatent) was [added to +PlasmaPy's license](https://github.com/PlasmaPy/PlasmaPy/pull/114) to +give users the right to use contributions even if a contributor later +patents their contribution. This clause covers all contributions made +past this date, and the [contributions made by people who have agreed +to the +clause](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md#notice). Some PlasmaPy repositories contain creative works other than source -code files, code snippets, and associated documentation. Creative -Commons licenses are much more appropriate than open source licenses -to cover these other creative works. Works released under the CC BY -4.0 license may be shared and adapted as long as attribution is -provided. Works released under the copyleft CC BY-SA 3.0 or CC BY-SA -4.0 licenses may be shared and adapted as long as attribution is -provided and derived works are covered by either the same license or a -compatible license. The GNU Free Documentation License (GFDL) is -another commonly used copyleft license. +code files, code snippets, and associated documentation. [Creative +Commons licenses](https://creativecommons.org/licenses/) are much more +appropriate than open source licenses to cover these other creative +works. Works released under the [CC BY +4.0](https://creativecommons.org/licenses/by/4.0/) license may be +shared and adapted as long as attribution is provided. Works released +under the copyleft [CC BY-SA +3.0](https://creativecommons.org/licenses/by-sa/3.0/) or [CC BY-SA +4.0](https://creativecommons.org/licenses/by-sa/4.0/) licenses may be +shared and adapted as long as attribution is provided and derived +works are covered by either the same license or a compatible license. +The [GNU Free Documentation License +(GFDL)](https://www.gnu.org/licenses/fdl-1.3.en.html) is another +commonly used copyleft license. CC BY and CC BY-SA licenses are one-way compatible. Works released under a CC BY license may be adapted, redistributed, and relicensed @@ -78,9 +94,9 @@ be chosen to allow two-way licensing compatibility. Software repositories created by PlasmaPy shall use the following BSD 3-clause license with the explicit patent grant from the OSI-approved -BSD+Patent license. This license may be used for documentation -internal to the project (e.g., documentation contained within a `docs` -subdirectory). +[BSD+Patent license](https://opensource.org/licenses/BSDplusPatent). +This license may be used for documentation internal to the project +(e.g., documentation contained within a `docs` subdirectory). > Copyright (c) 2017-2525, PlasmaPy Developers. > @@ -144,23 +160,28 @@ subdirectory). Creative works besides source code files, code snippets, and documentation contained within a `docs` directory shall by default be -covered by the CC BY 4.0 license. +covered by the [CC BY +4.0](https://creativecommons.org/licenses/by/4.0/) license. If significant collaboration with an existing body of creative work covered by a copyleft license is desired, then a PlasmaPy repository may be covered by one or more copyleft licenses that provide for two-way compatibility. In order for a work to be fully compatible -with Wikipedia, for example, it must be both CC BY-SA 3.0 and GFDL -compatible. +with Wikipedia, for example, it must be both [CC BY-SA +3.0](https://creativecommons.org/licenses/by-sa/4.0/) and +[GFDL](https://opensource.org/licenses/BSDplusPatent) compatible. If a repository contains both code and creative content besides code, then the license file should specify that source code files and code -snippets are released under a BSD 3-clause license (that is include in -the file) and that all other creative content is released under an -appropriate Creative Commons license (which may be linked to from the -license file). As an example, LaTeX code will be covered under the -BSD license, while the document created by compiling that code will be -covered under a Creative Commons license. +snippets are released under a [BSD 3-clause +license](https://opensource.org/licenses/BSD-3-Clause) (that is +included in the file) and that all other creative content is released +under an appropriate Creative Commons license (which may be linked to +from the license file). As an example, LaTeX code will be covered +under the [BSD 3-clause +license](https://opensource.org/licenses/BSD-3-Clause), while the +document created by compiling that code will be covered under a +Creative Commons license. Licenses that do not allow derivative works or commercial use shall not be used by PlasmaPy except under extraordinary circumstances. @@ -172,24 +193,29 @@ and other creative content: > licensed under the BSD 3-clause license with an added patent grant. > All other content in this project (including content compiled > directly from source code and code snippets) is licensed under the -> Creative Commons Attribution 4.0 International (CC BY 4.0) license. +> [Creative Commons Attribution 4.0 International (CC BY +> 4.0)](https://creativecommons.org/licenses/by/4.0/) license. The following is sample language for a repository that contains code as well as creative content besides code and that allows two-way -collaboration with Wikipedia: +[compatibility with +Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Copyrights): > Source code files and code snippets included in this project are > licensed under a BSD 3-clause license with a patent grant. > > Unless otherwise indicated, all other creative content in this work > (including content produced directly from unmodified source code and -> code snippets) is released under the Creative Commons -> Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license. +> code snippets) is released under the [Creative Commons +> Attribution-ShareAlike 4.0 International (CC BY-SA +> 4.0)](https://creativecommons.org/licenses/by-sa/4.0/) license. > Original contributions (e.g., contributions that are not derived > from another work) to this repository may also be shared, adapted, -> and redistributed under the Creative Commons Attribution-ShareAlike -> 3.0 Unported (CC BY-SA 3.0) license and/or the GNU Free -> Documentation License (GFDL). +> and redistributed under the [Creative Commons Attribution-ShareAlike +> 3.0 Unported (CC BY-SA +> 3.0)](https://creativecommons.org/licenses/by-sa/3.0/) license +> and/or the [GNU Free Documentation License +> (GFDL)](https://www.gnu.org/licenses/fdl-1.3.en.html). ### Copyright notices @@ -198,13 +224,6 @@ A copyright notice must be included in every repository. The phrase reserved"](https://en.wikipedia.org/wiki/All_rights_reserved) no longer has any legal significance and should not be included. -### Licensing of pre-existing repositories adopted by PlasmaPy - -When PlasmaPy redistributes or adapts existing repositories that are -covered by an OSI approved license or a license that meets the OSI -definition of open source, then that repository may continue to use -its original license. - ### Exceptions The Coordinating Committee may adopt different licenses for different @@ -214,7 +233,7 @@ licenses](https://opensource.org/licenses/category) (or at the very least unambiguously meet the [definition of open source](https://opensource.org/osd) as described by OSI). Existing open source repositories that are incorporated into PlasmaPy may -continue to be licensed under the existing license. +continue to be licensed under its original license. ## Issues, Pull Requests, and Branches @@ -225,15 +244,17 @@ continue to be licensed under the existing license. ## Backward Compatibility -Versions of PlasmaPy will continue to be available under the original -BSD 3-clause license. +Versions of PlasmaPy will continue to be available under the [original +BSD 3-clause +license](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md). ## Alternatives ### Software licensing -- PlasmaPy could use the BSD 3-clause license without the patent - grant; however this would remove explicit protections against +- PlasmaPy could use the [BSD 3-clause + license](https://opensource.org/licenses/BSD-3-Clause) without the + patent grant; however this would remove explicit protections against software patents. - Another alternative would be to use the [Apache License, Version @@ -244,37 +265,39 @@ BSD 3-clause license. violates the first bullet point of the Contributor Covenant Code of Conduct on "using welcoming and inclusive language." -- Software could be licensed under the copyleft GNU General Purpose - License 3.0 (GPLv3). This license would require that derivative - works be covered by the same license when being redistributed. This - license would ensure that derivative works are covered by the same - license and prevent use by proprietary packages. The disadvantage - of this license is that it is not compatible with permissive open - source licenses. +- Software could be licensed under the copyleft [GNU General Purpose + License 3.0 (GPLv3)](https://www.gnu.org/licenses/gpl-3.0.en.html). + This license would require that derivative works be covered by the + same license when being redistributed. This license would ensure + that derivative works are covered by the same license and prevent + use by proprietary packages. A major disadvantage of this license + is that it is not two-way compatible with permissive open source + licenses. -- Additional alternatives include any of the [open source licenses - approved by OSI](https://opensource.org/licenses/category), - including the copyleft GNU General Purpose License 3.0. +- Additional alternatives include any other [open source licenses + approved by OSI](https://opensource.org/licenses/category). ### Licensing of creative works -- Creative works could use - - Alternatives include any of the other [Creative Commons licenses](https://creativecommons.org/share-your-work/licensing-types-examples/) - or the GFDL. - - - The CC0 license would relinquish the copyright of a creative work - to the extent allowed by law so that the work is effectively in - the public domain. This license would remove the attribution - requirement contained within the CC BY and CC BY-SA licenses. - However, attribution is beneficial to the scientific process - because it allows recipients to better understand the origin of an - idea or data which in turn helps reprodicibility. + or the [GFDL](https://www.gnu.org/licenses/fdl-1.3.en.html). + + - The [CC0 + license](https://creativecommons.org/share-your-work/public-domain/cc0/) + would relinquish the copyright of a creative work to the extent + allowed by law so that the work is effectively in the public + domain. This license would remove the attribution requirement + contained within the CC BY and CC BY-SA licenses. However, + attribution is beneficial to the scientific process because it + allows recipients to better understand the origin of an idea or + data which in turn helps reprodicibility. - Creative Commons licenses that prohibit derivative and/or commercial reuse run contrary to the principles associated with - the Free/Libre and Open Source Software (FLOSS) movement. + the [Free/Libre and Open Source Software + (FLOSS)](https://en.wikipedia.org/wiki/Free_and_open-source_software) + movement. ## Decision Rationale From d1d82b258dd8c2a7658ee4a466277816312efbe5 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Fri, 1 Dec 2017 20:19:13 -0500 Subject: [PATCH 06/12] Incorporate comments into PLEP 4 on licensing --- PLEP-0004.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 2de9716..757fd39 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -6,7 +6,7 @@ | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | -| date last revised | 2017-11-08 | +| date last revised | 2017-12-01 | | type | process | | status | in preparation | @@ -30,7 +30,7 @@ license](https://opensource.org/licenses/category) or a [Creative Commons license](https://creativecommons.org/licenses/), then that body of work and its derivatives may continue to use that license. PlasmaPy's Coordinating Committee may make exceptions to this policy -when there extenuating circumstances. +when there are extenuating circumstances. ## Background information @@ -51,7 +51,7 @@ software patents. The [BSD 3-clause license](https://opensource.org/licenses/BSD-3-Clause) does not explicitly include such language. This oversight leaves potential for a contributor to patent their contribution, and then prohibit use of -thier contribution by the PlasmaPy community. Plasma physics has a +their contribution by the PlasmaPy community. Plasma physics has a variety of commercial applications, so it is important to include protections against software patents. On 2017 October 19, the patent grant from the [BSD+Patent From fafa91b2c4442eda4743b17bcefed75514d5fce2 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Fri, 18 May 2018 12:55:47 -0400 Subject: [PATCH 07/12] Update and clarify parts of licensing PLEP --- PLEP-0004.md | 80 +++++++++++++++++++++++++++++----------------------- 1 file changed, 45 insertions(+), 35 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 757fd39..18bab72 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -6,7 +6,7 @@ | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | -| date last revised | 2017-12-01 | +| date last revised | 2018-05-18 | | type | process | | status | in preparation | @@ -43,8 +43,9 @@ or incorporated into software covered by most [permissive](https://en.wikipedia.org/wiki/Permissive_software_licence), [copyleft](https://en.wikipedia.org/wiki/Copyleft), and [proprietary](https://en.wikipedia.org/wiki/Proprietary_software) -licenses. The choice of this license was to follow the established -practices of projects such as [Astropy](http://www.astropy.org/). +licenses. The choice of this license allows back and forth sharing of +code with projects such as [Astropy](http://www.astropy.org/) and +[SunPy](http://www.sunpy.org/). Most modern software licenses include language that protects against software patents. The [BSD 3-clause @@ -52,9 +53,9 @@ license](https://opensource.org/licenses/BSD-3-Clause) does not explicitly include such language. This oversight leaves potential for a contributor to patent their contribution, and then prohibit use of their contribution by the PlasmaPy community. Plasma physics has a -variety of commercial applications, so it is important to include -protections against software patents. On 2017 October 19, the patent -grant from the [BSD+Patent +variety of commercial applications, so it is important to provide users +with protections against software patents. On 2017 October 19, the +patent grant from the [BSD+Patent license](https://opensource.org/licenses/BSDplusPatent) was [added to PlasmaPy's license](https://github.com/PlasmaPy/PlasmaPy/pull/114) to give users the right to use contributions even if a contributor later @@ -62,6 +63,8 @@ patents their contribution. This clause covers all contributions made past this date, and the [contributions made by people who have agreed to the clause](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md#notice). +The patent clause grants users more rights and protections than the +standard BSD 3-clause license. Some PlasmaPy repositories contain creative works other than source code files, code snippets, and associated documentation. [Creative @@ -79,14 +82,14 @@ The [GNU Free Documentation License (GFDL)](https://www.gnu.org/licenses/fdl-1.3.en.html) is another commonly used copyleft license. -CC BY and CC BY-SA licenses are one-way compatible. Works released -under a CC BY license may be adapted, redistributed, and relicensed -under a CC BY-SA license with attribution. However, works released -under a CC BY-SA license may not be adapted, redistributed, or -relicensed under a CC BY license. Choosing a copyleft license is -often appropriate when back and forth collaboration with existing -bodies of work covered by a copyleft license is desirable. Care must -be chosen to allow two-way licensing compatibility. +CC BY and CC BY-SA licenses are compatible with each other in only one +direction. Works released under a CC BY license may be adapted, +redistributed, and relicensed under a CC BY-SA license with attribution. +However, works released under a CC BY-SA license may not be adapted, +redistributed, or relicensed under a CC BY license. Choosing a copyleft +license is often appropriate when back and forth collaboration with +existing bodies of work covered by a copyleft license is desirable. +Care must be chosen to allow two-way licensing compatibility. ## PlasmaPy licensing policy @@ -99,11 +102,11 @@ This license may be used for documentation internal to the project (e.g., documentation contained within a `docs` subdirectory). > Copyright (c) 2017-2525, PlasmaPy Developers. -> +> > Redistribution and use in source and binary forms, with or without > modification, are permitted provided that the following conditions > are met: -> +> > * Redistributions of source code must retain the above copyright > notice, this list of conditions and the following disclaimer. > @@ -111,11 +114,11 @@ This license may be used for documentation internal to the project > notice, this list of conditions and the following disclaimer in > the documentation and/or other materials provided with the > distribution. -> +> > * Neither the name of PlasmaPy nor the names of its contributors may > be used to endorse or promote products derived from this software > without specific prior written permission. -> +> > Subject to the terms and conditions of this license, each copyright > holder and contributor hereby grants to those receiving rights under > this license a perpetual, worldwide, non-exclusive, no-charge, @@ -136,11 +139,11 @@ This license may be used for documentation internal to the project > addition causes such combination to be necessarily infringed. The > patent license shall not apply to any other combinations which > include the Contribution. -> +> > Except as expressly stated above, no rights or licenses from any > copyright holder or contributor is granted under this license, > whether expressly, by implication, estoppel or otherwise. -> +> > ## Disclaimer > > This software is provided by the copyright holders and contributors @@ -244,8 +247,8 @@ continue to be licensed under its original license. ## Backward Compatibility -Versions of PlasmaPy will continue to be available under the [original -BSD 3-clause +Versions of PlasmaPy prior to 2017 October 17 will continue to be +available under the [original BSD 3-clause license](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md). ## Alternatives @@ -262,19 +265,26 @@ license](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICE specific protections against patents. However, [the naming of the Apache license constitutes cultural appropriation](https://github.com/Quick/Quick/issues/660) which - violates the first bullet point of the Contributor Covenant Code of - Conduct on "using welcoming and inclusive language." - -- Software could be licensed under the copyleft [GNU General Purpose - License 3.0 (GPLv3)](https://www.gnu.org/licenses/gpl-3.0.en.html). - This license would require that derivative works be covered by the - same license when being redistributed. This license would ensure - that derivative works are covered by the same license and prevent - use by proprietary packages. A major disadvantage of this license - is that it is not two-way compatible with permissive open source - licenses. - -- Additional alternatives include any other [open source licenses + violates the first bullet point in PlasmaPy's code of conduct on + "using welcoming and inclusive language." + +- PlasmaPy software could be licensed under the copyleft [GNU General + Purpose License 3.0 + (GPLv3)](https://www.gnu.org/licenses/gpl-3.0.en.html) + or weaker copyleft [GNU Lesser General Purpose License 3.0 + (LGPLv3)](https://www.gnu.org/licenses/lgpl-3.0.en.html). These + licenses would require that derivative works be covered by the same + license when being redistributed. These restrictions would + prevent or restrict use by proprietary packages, but would ensure that + derivative works continue to be open. A major disadvantage of these + licenses are that they are not two-way compatible with permissive open + source licenses, so they would not allow back and forth code sharing + with permissively licensed packages. The main disadvantage of + not choosing the GPLv3 or LGPLv3 is that code released under those + licenses will not be able to be incorporated directly into a package + under a different license. + +- Additional alternatives include any of the other [open source licenses approved by OSI](https://opensource.org/licenses/category). ### Licensing of creative works From d32df03276a5626955073666bf101debb29aae95 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Fri, 18 May 2018 16:25:34 -0400 Subject: [PATCH 08/12] Make title capitalization consistent --- PLEP-0004.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/PLEP-0004.md b/PLEP-0004.md index 18bab72..ad0efb7 100644 --- a/PLEP-0004.md +++ b/PLEP-0004.md @@ -1,8 +1,7 @@ -# PLEP-0004 -- Licensing of PlasmaPy repositories +# PLEP-0004 -- Licensing of PlasmaPy Repositories | PLEP | 4 | |-------------------|------------------------------------------| -| title | Licensing of PlasmaPy repositories | | author(s) | Nick Murphy | | contact email | namurphy@cfa.harvard.edu | | date created | 2017-09-28 | From 0e0ed80a61e57db1a52de420f2496358599fb000 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Tue, 22 May 2018 15:22:32 -0400 Subject: [PATCH 09/12] Convert PLEP-0004.md to PLEP-0004.rst --- PLEP-0004.rst | 336 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 336 insertions(+) create mode 100644 PLEP-0004.rst diff --git a/PLEP-0004.rst b/PLEP-0004.rst new file mode 100644 index 0000000..c121d54 --- /dev/null +++ b/PLEP-0004.rst @@ -0,0 +1,336 @@ +PLEP-0004 – Licensing of PlasmaPy Repositories +============================================== + ++-------------------+--------------------------+ +| PLEP | 4 | ++===================+==========================+ +| author(s) | Nick Murphy | ++-------------------+--------------------------+ +| contact email | namurphy@cfa.harvard.edu | ++-------------------+--------------------------+ +| date created | 2017-09-28 | ++-------------------+--------------------------+ +| date last revised | 2018-05-18 | ++-------------------+--------------------------+ +| type | process | ++-------------------+--------------------------+ +| status | in preparation | ++-------------------+--------------------------+ + +Summary +------- + +The purpose of this PlasmaPy Enhancement Proposal (PLEP) is to clarify +the licensing practices of PlasmaPy repositories. Source code files, +code snippets, and associated documentation shall in general be covered +by a BSD 3-clause license with an explicit patent grant. Other creative +works shall in general be covered by the `Creative Commons Attribution +4.0 International (CC BY 4.0) +license `__. If back and +forth collaboration with a body of work released under a copyleft +license [e.g., the `Creative Commons Attribution-ShareAlike (CC BY-SA +4.0) license `__] is +desirable, then a PlasmaPy repository may be licensed under one or more +compatible copyleft licenses. When PlasmaPy adopts or incorporates an +existing body of creative works released under an `Open Source +Initiative (OSI) approved +license `__ or a `Creative +Commons license `__, then that +body of work and its derivatives may continue to use that license. +PlasmaPy’s Coordinating Committee may make exceptions to this policy +when there are extenuating circumstances. + +Background information +---------------------- + +PlasmaPy began development under the permissive `BSD 3-clause +license `__. The primary +advantage of this license is its +`compatibility `__ +with other licenses. Code released under a BSD license may be used by or +incorporated into software covered by most +`permissive `__, +`copyleft `__, and +`proprietary `__ +licenses. The choice of this license allows back and forth sharing of +code with projects such as `Astropy `__ and +`SunPy `__. + +Most modern software licenses include language that protects against +software patents. The `BSD 3-clause +license `__ does not +explicitly include such language. This oversight leaves potential for a +contributor to patent their contribution, and then prohibit use of their +contribution by the PlasmaPy community. Plasma physics has a variety of +commercial applications, so it is important to provide users with +protections against software patents. On 2017 October 19, the patent +grant from the `BSD+Patent +license `__ was `added to +PlasmaPy’s license `__ to +give users the right to use contributions even if a contributor later +patents their contribution. This clause covers all contributions made +past this date, and the `contributions made by people who have agreed to +the +clause `__. +The patent clause grants users more rights and protections than the +standard BSD 3-clause license. + +Some PlasmaPy repositories contain creative works other than source code +files, code snippets, and associated documentation. `Creative Commons +licenses `__ are much more +appropriate than open source licenses to cover these other creative +works. Works released under the `CC BY +4.0 `__ license may be +shared and adapted as long as attribution is provided. Works released +under the copyleft `CC BY-SA +3.0 `__ or `CC BY-SA +4.0 `__ licenses may be +shared and adapted as long as attribution is provided and derived works +are covered by either the same license or a compatible license. The `GNU +Free Documentation License +(GFDL) `__ is another +commonly used copyleft license. + +CC BY and CC BY-SA licenses are compatible with each other in only one +direction. Works released under a CC BY license may be adapted, +redistributed, and relicensed under a CC BY-SA license with attribution. +However, works released under a CC BY-SA license may not be adapted, +redistributed, or relicensed under a CC BY license. Choosing a copyleft +license is often appropriate when back and forth collaboration with +existing bodies of work covered by a copyleft license is desirable. Care +must be chosen to allow two-way licensing compatibility. + +PlasmaPy licensing policy +------------------------- + +Licensing of software repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Software repositories created by PlasmaPy shall use the following BSD +3-clause license with the explicit patent grant from the OSI-approved +`BSD+Patent license `__. +This license may be used for documentation internal to the project +(e.g., documentation contained within a ``docs`` subdirectory). + + Copyright (c) 2017-2525, PlasmaPy Developers. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of PlasmaPy nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + + Subject to the terms and conditions of this license, each copyright + holder and contributor hereby grants to those receiving rights under + this license a perpetual, worldwide, non-exclusive, no-charge, + royalty-free, irrevocable (except for failure to satisfy the + conditions of this license) patent license to make, have made, use, + offer to sell, sell, import, and otherwise transfer this software, + where such license applies only to those patent claims, already + acquired or hereafter acquired, licensable by such copyright holder + or contributor that are necessarily infringed by: + + (a) their Contribution(s) (the licensed copyrights of copyright + holders and non-copyrightable additions of contributors, in + source or binary form) alone; or + + (b) combination of their Contribution(s) with the work of authorship + to which such Contribution(s) was added by such copyright holder + or contributor, if, at the time the Contribution is added, such + addition causes such combination to be necessarily infringed. The + patent license shall not apply to any other combinations which + include the Contribution. + + Except as expressly stated above, no rights or licenses from any + copyright holder or contributor is granted under this license, + whether expressly, by implication, estoppel or otherwise. + + .. rubric:: Disclaimer + :name: disclaimer + + This software is provided by the copyright holders and contributors + “as is” and any express or implied warranties, including, but not + limited to, the implied warranties of merchantability and fitness for + a particular purpose are disclaimed. In no event shall the copyright + holder or contributors be liable for any direct, indirect, + incidental, special, exemplary, or consequential damages (including, + but not limited to, procurement of substitute goods or services; loss + of use, data, or profits; or business interruption) however caused + and on any theory of liability, whether in contract, strict + liability, or tort (including negligence or otherwise) arising in any + way out of the use of this software, even if advised of the + possibility of such damage. + +Licensing of creative works other than code and multi-licensing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Creative works besides source code files, code snippets, and +documentation contained within a ``docs`` directory shall by default be +covered by the `CC BY +4.0 `__ license. + +If significant collaboration with an existing body of creative work +covered by a copyleft license is desired, then a PlasmaPy repository may +be covered by one or more copyleft licenses that provide for two-way +compatibility. In order for a work to be fully compatible with +Wikipedia, for example, it must be both `CC BY-SA +3.0 `__ and +`GFDL `__ compatible. + +If a repository contains both code and creative content besides code, +then the license file should specify that source code files and code +snippets are released under a `BSD 3-clause +license `__ (that is +included in the file) and that all other creative content is released +under an appropriate Creative Commons license (which may be linked to +from the license file). As an example, LaTeX code will be covered under +the `BSD 3-clause +license `__, while the +document created by compiling that code will be covered under a Creative +Commons license. + +Licenses that do not allow derivative works or commercial use shall not +be used by PlasmaPy except under extraordinary circumstances. + +The following is sample language for a repository that contains code and +other creative content: + + Source code files and code snippets included in this project are + licensed under the BSD 3-clause license with an added patent grant. + All other content in this project (including content compiled + directly from source code and code snippets) is licensed under the + `Creative Commons Attribution 4.0 International (CC BY + 4.0) `__ license. + +The following is sample language for a repository that contains code as +well as creative content besides code and that allows two-way +`compatibility with +Wikipedia `__: + + Source code files and code snippets included in this project are + licensed under a BSD 3-clause license with a patent grant. + + Unless otherwise indicated, all other creative content in this work + (including content produced directly from unmodified source code and + code snippets) is released under the `Creative Commons + Attribution-ShareAlike 4.0 International (CC BY-SA + 4.0) `__ license. + Original contributions (e.g., contributions that are not derived from + another work) to this repository may also be shared, adapted, and + redistributed under the `Creative Commons Attribution-ShareAlike 3.0 + Unported (CC BY-SA + 3.0) `__ license + and/or the `GNU Free Documentation License + (GFDL) `__. + +Copyright notices +~~~~~~~~~~~~~~~~~ + +A copyright notice must be included in every repository. The phrase +`“All rights +reserved” `__ no +longer has any legal significance and should not be included. + +Exceptions +~~~~~~~~~~ + +The Coordinating Committee may adopt different licenses for different +repositories when appropriate, as long as the licenses are on the list +of `OSI approved open source +licenses `__ (or at the very +least unambiguously meet the `definition of open +source `__ as described by OSI). Existing +open source repositories that are incorporated into PlasmaPy may +continue to be licensed under its original license. + +Issues, Pull Requests, and Branches +----------------------------------- + +- https://github.com/PlasmaPy/PlasmaPy/pull/114 +- https://github.com/PlasmaPy/PlasmaPy-Tutorials/issues/1 +- https://github.com/PlasmaPy/Plasma-Education/issues/3 +- https://github.com/PlasmaPy/PlasmaPy-Enhancement-Proposals/issues/3 + +Backward Compatibility +---------------------- + +Versions of PlasmaPy prior to 2017 October 17 will continue to be +available under the `original BSD 3-clause +license `__. + +Alternatives +------------ + +Software licensing +~~~~~~~~~~~~~~~~~~ + +- PlasmaPy could use the `BSD 3-clause + license `__ without the + patent grant; however this would remove explicit protections against + software patents. + +- Another alternative would be to use the `Apache License, Version + 2.0 `__ which includes + specific protections against patents. However, `the naming of the + Apache license constitutes cultural + appropriation `__ which + violates the first bullet point in PlasmaPy’s code of conduct on + “using welcoming and inclusive language.” + +- PlasmaPy software could be licensed under the copyleft `GNU General + Purpose License 3.0 + (GPLv3) `__ or weaker + copyleft `GNU Lesser General Purpose License 3.0 + (LGPLv3) `__. These + licenses would require that derivative works be covered by the same + license when being redistributed. These restrictions would prevent or + restrict use by proprietary packages, but would ensure that + derivative works continue to be open. A major disadvantage of these + licenses are that they are not two-way compatible with permissive + open source licenses, so they would not allow back and forth code + sharing with permissively licensed packages. The main disadvantage of + not choosing the GPLv3 or LGPLv3 is that code released under those + licenses will not be able to be incorporated directly into a package + under a different license. + +- Additional alternatives include any of the other `open source + licenses approved by + OSI `__. + +Licensing of creative works +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Alternatives include any of the other `Creative Commons + licenses `__ + or the `GFDL `__. + + - The `CC0 + license `__ + would relinquish the copyright of a creative work to the extent + allowed by law so that the work is effectively in the public + domain. This license would remove the attribution requirement + contained within the CC BY and CC BY-SA licenses. However, + attribution is beneficial to the scientific process because it + allows recipients to better understand the origin of an idea or + data which in turn helps reprodicibility. + + - Creative Commons licenses that prohibit derivative and/or + commercial reuse run contrary to the principles associated with + the `Free/Libre and Open Source Software + (FLOSS) `__ + movement. + +Decision Rationale +------------------ + +*This PLEP has not yet been decided upon.* From 8883bb6ecca488500d2c75bd34335269d4d85a7a Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Tue, 22 May 2018 15:25:26 -0400 Subject: [PATCH 10/12] Delete PLEP-0004.md --- PLEP-0004.md | 313 --------------------------------------------------- 1 file changed, 313 deletions(-) delete mode 100644 PLEP-0004.md diff --git a/PLEP-0004.md b/PLEP-0004.md deleted file mode 100644 index ad0efb7..0000000 --- a/PLEP-0004.md +++ /dev/null @@ -1,313 +0,0 @@ -# PLEP-0004 -- Licensing of PlasmaPy Repositories - -| PLEP | 4 | -|-------------------|------------------------------------------| -| author(s) | Nick Murphy | -| contact email | namurphy@cfa.harvard.edu | -| date created | 2017-09-28 | -| date last revised | 2018-05-18 | -| type | process | -| status | in preparation | - -## Summary - -The purpose of this PlasmaPy Enhancement Proposal (PLEP) is to clarify -the licensing practices of PlasmaPy repositories. Source code files, -code snippets, and associated documentation shall in general be -covered by a BSD 3-clause license with an explicit patent grant. -Other creative works shall in general be covered by the [Creative -Commons Attribution 4.0 International (CC BY 4.0) -license](https://creativecommons.org/licenses/by/4.0/). If back and -forth collaboration with a body of work released under a copyleft -license [e.g., the [Creative Commons Attribution-ShareAlike (CC BY-SA -4.0) license](https://creativecommons.org/licenses/by-sa/4.0/)] is -desirable, then a PlasmaPy repository may be licensed under one or -more compatible copyleft licenses. When PlasmaPy adopts or -incorporates an existing body of creative works released under an -[Open Source Initiative (OSI) approved -license](https://opensource.org/licenses/category) or a [Creative -Commons license](https://creativecommons.org/licenses/), then that -body of work and its derivatives may continue to use that license. -PlasmaPy's Coordinating Committee may make exceptions to this policy -when there are extenuating circumstances. - -## Background information - -PlasmaPy began development under the permissive [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause). The primary -advantage of this license is its -[compatibility](https://en.wikipedia.org/wiki/License_compatibility) -with other licenses. Code released under a BSD license may be used by -or incorporated into software covered by most -[permissive](https://en.wikipedia.org/wiki/Permissive_software_licence), -[copyleft](https://en.wikipedia.org/wiki/Copyleft), and -[proprietary](https://en.wikipedia.org/wiki/Proprietary_software) -licenses. The choice of this license allows back and forth sharing of -code with projects such as [Astropy](http://www.astropy.org/) and -[SunPy](http://www.sunpy.org/). - -Most modern software licenses include language that protects against -software patents. The [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause) does not -explicitly include such language. This oversight leaves potential for -a contributor to patent their contribution, and then prohibit use of -their contribution by the PlasmaPy community. Plasma physics has a -variety of commercial applications, so it is important to provide users -with protections against software patents. On 2017 October 19, the -patent grant from the [BSD+Patent -license](https://opensource.org/licenses/BSDplusPatent) was [added to -PlasmaPy's license](https://github.com/PlasmaPy/PlasmaPy/pull/114) to -give users the right to use contributions even if a contributor later -patents their contribution. This clause covers all contributions made -past this date, and the [contributions made by people who have agreed -to the -clause](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md#notice). -The patent clause grants users more rights and protections than the -standard BSD 3-clause license. - -Some PlasmaPy repositories contain creative works other than source -code files, code snippets, and associated documentation. [Creative -Commons licenses](https://creativecommons.org/licenses/) are much more -appropriate than open source licenses to cover these other creative -works. Works released under the [CC BY -4.0](https://creativecommons.org/licenses/by/4.0/) license may be -shared and adapted as long as attribution is provided. Works released -under the copyleft [CC BY-SA -3.0](https://creativecommons.org/licenses/by-sa/3.0/) or [CC BY-SA -4.0](https://creativecommons.org/licenses/by-sa/4.0/) licenses may be -shared and adapted as long as attribution is provided and derived -works are covered by either the same license or a compatible license. -The [GNU Free Documentation License -(GFDL)](https://www.gnu.org/licenses/fdl-1.3.en.html) is another -commonly used copyleft license. - -CC BY and CC BY-SA licenses are compatible with each other in only one -direction. Works released under a CC BY license may be adapted, -redistributed, and relicensed under a CC BY-SA license with attribution. -However, works released under a CC BY-SA license may not be adapted, -redistributed, or relicensed under a CC BY license. Choosing a copyleft -license is often appropriate when back and forth collaboration with -existing bodies of work covered by a copyleft license is desirable. -Care must be chosen to allow two-way licensing compatibility. - -## PlasmaPy licensing policy - -### Licensing of software repositories - -Software repositories created by PlasmaPy shall use the following BSD -3-clause license with the explicit patent grant from the OSI-approved -[BSD+Patent license](https://opensource.org/licenses/BSDplusPatent). -This license may be used for documentation internal to the project -(e.g., documentation contained within a `docs` subdirectory). - -> Copyright (c) 2017-2525, PlasmaPy Developers. -> -> Redistribution and use in source and binary forms, with or without -> modification, are permitted provided that the following conditions -> are met: -> -> * Redistributions of source code must retain the above copyright -> notice, this list of conditions and the following disclaimer. -> -> * Redistributions in binary form must reproduce the above copyright -> notice, this list of conditions and the following disclaimer in -> the documentation and/or other materials provided with the -> distribution. -> -> * Neither the name of PlasmaPy nor the names of its contributors may -> be used to endorse or promote products derived from this software -> without specific prior written permission. -> -> Subject to the terms and conditions of this license, each copyright -> holder and contributor hereby grants to those receiving rights under -> this license a perpetual, worldwide, non-exclusive, no-charge, -> royalty-free, irrevocable (except for failure to satisfy the -> conditions of this license) patent license to make, have made, use, -> offer to sell, sell, import, and otherwise transfer this software, -> where such license applies only to those patent claims, already -> acquired or hereafter acquired, licensable by such copyright holder -> or contributor that are necessarily infringed by: -> -> (a) their Contribution(s) (the licensed copyrights of copyright -> holders and non-copyrightable additions of contributors, in source -> or binary form) alone; or -> -> (b) combination of their Contribution(s) with the work of authorship -> to which such Contribution(s) was added by such copyright holder or -> contributor, if, at the time the Contribution is added, such -> addition causes such combination to be necessarily infringed. The -> patent license shall not apply to any other combinations which -> include the Contribution. -> -> Except as expressly stated above, no rights or licenses from any -> copyright holder or contributor is granted under this license, -> whether expressly, by implication, estoppel or otherwise. -> -> ## Disclaimer -> -> This software is provided by the copyright holders and contributors -> "as is" and any express or implied warranties, including, but not -> limited to, the implied warranties of merchantability and fitness -> for a particular purpose are disclaimed. In no event shall the -> copyright holder or contributors be liable for any direct, indirect, -> incidental, special, exemplary, or consequential damages (including, -> but not limited to, procurement of substitute goods or services; -> loss of use, data, or profits; or business interruption) however -> caused and on any theory of liability, whether in contract, strict -> liability, or tort (including negligence or otherwise) arising in -> any way out of the use of this software, even if advised of the -> possibility of such damage. - -### Licensing of creative works other than code and multi-licensing - -Creative works besides source code files, code snippets, and -documentation contained within a `docs` directory shall by default be -covered by the [CC BY -4.0](https://creativecommons.org/licenses/by/4.0/) license. - -If significant collaboration with an existing body of creative work -covered by a copyleft license is desired, then a PlasmaPy repository -may be covered by one or more copyleft licenses that provide for -two-way compatibility. In order for a work to be fully compatible -with Wikipedia, for example, it must be both [CC BY-SA -3.0](https://creativecommons.org/licenses/by-sa/4.0/) and -[GFDL](https://opensource.org/licenses/BSDplusPatent) compatible. - -If a repository contains both code and creative content besides code, -then the license file should specify that source code files and code -snippets are released under a [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause) (that is -included in the file) and that all other creative content is released -under an appropriate Creative Commons license (which may be linked to -from the license file). As an example, LaTeX code will be covered -under the [BSD 3-clause -license](https://opensource.org/licenses/BSD-3-Clause), while the -document created by compiling that code will be covered under a -Creative Commons license. - -Licenses that do not allow derivative works or commercial use shall -not be used by PlasmaPy except under extraordinary circumstances. - -The following is sample language for a repository that contains code -and other creative content: - -> Source code files and code snippets included in this project are -> licensed under the BSD 3-clause license with an added patent grant. -> All other content in this project (including content compiled -> directly from source code and code snippets) is licensed under the -> [Creative Commons Attribution 4.0 International (CC BY -> 4.0)](https://creativecommons.org/licenses/by/4.0/) license. - -The following is sample language for a repository that contains code -as well as creative content besides code and that allows two-way -[compatibility with -Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Copyrights): - -> Source code files and code snippets included in this project are -> licensed under a BSD 3-clause license with a patent grant. -> -> Unless otherwise indicated, all other creative content in this work -> (including content produced directly from unmodified source code and -> code snippets) is released under the [Creative Commons -> Attribution-ShareAlike 4.0 International (CC BY-SA -> 4.0)](https://creativecommons.org/licenses/by-sa/4.0/) license. -> Original contributions (e.g., contributions that are not derived -> from another work) to this repository may also be shared, adapted, -> and redistributed under the [Creative Commons Attribution-ShareAlike -> 3.0 Unported (CC BY-SA -> 3.0)](https://creativecommons.org/licenses/by-sa/3.0/) license -> and/or the [GNU Free Documentation License -> (GFDL)](https://www.gnu.org/licenses/fdl-1.3.en.html). - -### Copyright notices - -A copyright notice must be included in every repository. The phrase -["All rights -reserved"](https://en.wikipedia.org/wiki/All_rights_reserved) no -longer has any legal significance and should not be included. - -### Exceptions - -The Coordinating Committee may adopt different licenses for different -repositories when appropriate, as long as the licenses are on the list -of [OSI approved open source -licenses](https://opensource.org/licenses/category) (or at the very -least unambiguously meet the [definition of open -source](https://opensource.org/osd) as described by OSI). Existing -open source repositories that are incorporated into PlasmaPy may -continue to be licensed under its original license. - -## Issues, Pull Requests, and Branches - -- https://github.com/PlasmaPy/PlasmaPy/pull/114 -- https://github.com/PlasmaPy/PlasmaPy-Tutorials/issues/1 -- https://github.com/PlasmaPy/Plasma-Education/issues/3 -- https://github.com/PlasmaPy/PlasmaPy-Enhancement-Proposals/issues/3 - -## Backward Compatibility - -Versions of PlasmaPy prior to 2017 October 17 will continue to be -available under the [original BSD 3-clause -license](https://github.com/PlasmaPy/PlasmaPy/blob/master/licenses/PlasmaPy_LICENSE_preOct2017.md). - -## Alternatives - -### Software licensing - -- PlasmaPy could use the [BSD 3-clause - license](https://opensource.org/licenses/BSD-3-Clause) without the - patent grant; however this would remove explicit protections against - software patents. - -- Another alternative would be to use the [Apache License, Version - 2.0](https://opensource.org/licenses/Apache-2.0) which includes - specific protections against patents. However, [the naming of the - Apache license constitutes cultural - appropriation](https://github.com/Quick/Quick/issues/660) which - violates the first bullet point in PlasmaPy's code of conduct on - "using welcoming and inclusive language." - -- PlasmaPy software could be licensed under the copyleft [GNU General - Purpose License 3.0 - (GPLv3)](https://www.gnu.org/licenses/gpl-3.0.en.html) - or weaker copyleft [GNU Lesser General Purpose License 3.0 - (LGPLv3)](https://www.gnu.org/licenses/lgpl-3.0.en.html). These - licenses would require that derivative works be covered by the same - license when being redistributed. These restrictions would - prevent or restrict use by proprietary packages, but would ensure that - derivative works continue to be open. A major disadvantage of these - licenses are that they are not two-way compatible with permissive open - source licenses, so they would not allow back and forth code sharing - with permissively licensed packages. The main disadvantage of - not choosing the GPLv3 or LGPLv3 is that code released under those - licenses will not be able to be incorporated directly into a package - under a different license. - -- Additional alternatives include any of the other [open source licenses - approved by OSI](https://opensource.org/licenses/category). - -### Licensing of creative works - -- Alternatives include any of the other [Creative Commons - licenses](https://creativecommons.org/share-your-work/licensing-types-examples/) - or the [GFDL](https://www.gnu.org/licenses/fdl-1.3.en.html). - - - The [CC0 - license](https://creativecommons.org/share-your-work/public-domain/cc0/) - would relinquish the copyright of a creative work to the extent - allowed by law so that the work is effectively in the public - domain. This license would remove the attribution requirement - contained within the CC BY and CC BY-SA licenses. However, - attribution is beneficial to the scientific process because it - allows recipients to better understand the origin of an idea or - data which in turn helps reprodicibility. - - - Creative Commons licenses that prohibit derivative and/or - commercial reuse run contrary to the principles associated with - the [Free/Libre and Open Source Software - (FLOSS)](https://en.wikipedia.org/wiki/Free_and_open-source_software) - movement. - -## Decision Rationale - -*This PLEP has not yet been decided upon.* From 08fad0ac270a51cd7ef854db724d7e9a22935646 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 17 Sep 2018 17:30:26 -0400 Subject: [PATCH 11/12] Minor updates to PLEP 4 I removed the section for the decision rationale since that applies more to standard PLEPs than process PLEPs, and it would be repetitive with what is written in the rest of the document. --- PLEP-0004.rst | 41 ++++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/PLEP-0004.rst b/PLEP-0004.rst index c121d54..f638149 100644 --- a/PLEP-0004.rst +++ b/PLEP-0004.rst @@ -10,7 +10,7 @@ PLEP-0004 – Licensing of PlasmaPy Repositories +-------------------+--------------------------+ | date created | 2017-09-28 | +-------------------+--------------------------+ -| date last revised | 2018-05-18 | +| date last revised | 2018-09-17 | +-------------------+--------------------------+ | type | process | +-------------------+--------------------------+ @@ -57,21 +57,21 @@ code with projects such as `Astropy `__ and `SunPy `__. Most modern software licenses include language that protects against -software patents. The `BSD 3-clause -license `__ does not -explicitly include such language. This oversight leaves potential for a -contributor to patent their contribution, and then prohibit use of their -contribution by the PlasmaPy community. Plasma physics has a variety of -commercial applications, so it is important to provide users with -protections against software patents. On 2017 October 19, the patent -grant from the `BSD+Patent -license `__ was `added to -PlasmaPy’s license `__ to -give users the right to use contributions even if a contributor later -patents their contribution. This clause covers all contributions made -past this date, and the `contributions made by people who have agreed to -the -clause `__. +software patents. The `BSD 3-clause license +`__ does not explicitly +include such language. This oversight leaves potential for a +contributor to patent their contribution, and then later prohibit use +of their contribution by the PlasmaPy community. Plasma physics has a +variety of commercial applications, so it is important to provide +users with protections against software patents. On 2017 October 19, +the patent grant from the `BSD+Patent license +`__ was `added to +PlasmaPy’s license `__ +to give users the right to use contributions even if a contributor +later patents their contribution. This clause covers all contributions +made past this date, and the `contributions made by people who have +agreed to the clause +`__. The patent clause grants users more rights and protections than the standard BSD 3-clause license. @@ -300,8 +300,8 @@ Software licensing open source licenses, so they would not allow back and forth code sharing with permissively licensed packages. The main disadvantage of not choosing the GPLv3 or LGPLv3 is that code released under those - licenses will not be able to be incorporated directly into a package - under a different license. + licenses will not be able to be incorporated into a package under + a different license. - Additional alternatives include any of the other `open source licenses approved by @@ -329,8 +329,3 @@ Licensing of creative works the `Free/Libre and Open Source Software (FLOSS) `__ movement. - -Decision Rationale ------------------- - -*This PLEP has not yet been decided upon.* From 9b444248291a9145f4f0a6aa05a265eb9c25c656 Mon Sep 17 00:00:00 2001 From: Nick Murphy Date: Mon, 17 Sep 2018 18:18:46 -0400 Subject: [PATCH 12/12] Add draft of decision rationale to PLEP 4 --- PLEP-0004.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/PLEP-0004.rst b/PLEP-0004.rst index f638149..a5fdb82 100644 --- a/PLEP-0004.rst +++ b/PLEP-0004.rst @@ -329,3 +329,15 @@ Licensing of creative works the `Free/Libre and Open Source Software (FLOSS) `__ movement. + +Decision Rationale +------------------ + +The BSD+Patent license is permissive and contains clear protections +against software patents. This license is two-way compatible with +code from Astropy and SunPy. Code under this license or a CC BY +license may be relicensed under most other licenses. A CC BY-SA +license may be used to allow greater back and forth collaboration with +other works under the same license. This policy provides additional +flexibility to the Coordinating Committee to deal with extenuating +circumstances.