|
|
(67 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
| + | |
| | | |
| = Why should you pick a license? = | | = Why should you pick a license? = |
| | | |
− | In other words, why not just put code online without a license? A license clarifies the conditions under which your code can be re-used. In absence of a license, the author still retains copyright, and the conditions under which the code can be used are unclear. A sentence like "feel free to use this code" does not improve the situation, because it does not clarify to what extent any possible user should "feel free" to use it. Standard licenses provide pre-defined sets of standard conditions, which both providers and users only have to understand once, and then immediately can recognise/categorise later. | + | In other words, why not just put code online without a license? A license clarifies the conditions under which your code can be reused. In the absence of a license, the author still retains proprietary copyright, and the conditions under which the code can be used are unclear.<ref name="morin-etal-2012"> |
| + | <!-- website URL: http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002598 --> |
| + | {{cite journal | last1 = Morin | first1 = Andrew | last2 = Urban | first2 = Jennifer | last3 = Sliz | first3 = Piotr | title = A quick guide to software licensing for the scientist-programmer | date = 26 July 2012 | journal = PLOS Computational Biology | volume = 8 | issue = 7 | pages = e1002598 | doi = 10.1371/journal.pcbi.1002598 | issn = 1553-7358 | url = http://journals.plos.org/ploscompbiol/article/file?id=10.1371/journal.pcbi.1002598&type=printable | access-date = 2016-12-10}} {{open access}}</ref> A sentence like "feel free to use this code" does not improve the situation, because it does not clarify to what extent any possible user should "feel free" to use the code. Standard licenses provide pre-defined sets of standard conditions, which both providers and users only have to understand once, and can then later easily recognise and categorise. |
| + | |
| + | Also see "Why is an open-source license useful?" on the Software Sustainability's [http://www.software.ac.uk/resources/guides/adopting-open-source-licence Choosing an open-source license page] article. |
| + | |
| + | |
| | | |
− | Also see "Why is an open-source licence useful?" on the Software Sustainability's [http://www.software.ac.uk/resources/guides/adopting-open-source-licence Choosing an open-source licence page] article.
| |
| | | |
− | = Picking a license = | + | = Selecting a license = |
| | | |
− | The most common licenses for a given artifact can be determined by its type: code, data, or any other generic digital "creative work" (documentation, reports, figures). ''For any given project, its components can be licensed independently by type.'' | + | The most common licenses for a given artifact can be determined by its type: code, data, documentation, or other generic digital "creative work" (reports and figures). For any given project, ''these components can and should be licensed independently by type''. |
| | | |
− | At the most basic level, one must decide on whether one wants to use a copyleft license or a more permissive license. While copyleft assures that code changes by any future contributors must stay public, permissive licenses only require attribution in derived works. | + | At the most basic level, one must decide on whether to use a copyleft license or a more permissive license. While copyleft assures that code changes by any future contributors must stay public, permissive licenses only require attribution in derived works. |
| | | |
| With these two distinctions (type of work, type of license), the following decision matrix can be drawn: | | With these two distinctions (type of work, type of license), the following decision matrix can be drawn: |
| | | |
− | {| style="width: 100%; border:1px black solid; background:#def" | + | {| class="wikitable" |
| |- | | |- |
− | ! scope="col" | | + | ! <br/> |
− | ! scope="col" | Code | + | ! Code |
− | ! scope="col" | Data | + | ! Data |
− | ! scope="col" | Other | + | ! Documentation |
| |- | | |- |
− | | Copyleft | + | ! style="text-align: left" | Copyleft |
− | | GPL licenses | + | | GPL, (AGPL) |
| | ODbL | | | ODbL |
− | | CC-BY-SA | + | | {{nowrap|CC BY SA}} |
| |- | | |- |
− | | Permissive | + | ! style="text-align: left" | Permissive {{pad|1em}} |
− | | MIT, BSD, Apache | + | | ISC, MIT, BSD, Apache{{nnbsp}}<sup>1</sup>{{pad|1em}} |
− | | ODC-BY | + | | CC BY, ODC-By |
− | | CC-BY | + | | {{nowrap|CC BY}} |
| + | |- |
| + | ! style="text-align: left" | Public domain {{pad|1em}} |
| + | | not recommended{{pad|1em}} |
| + | | PDDL, CC0 |
| + | | CC0 |
| + | |- |
| + | | colspan="4" style="font-size: smaller" | 1. These licenses are compatible with the GPL. This means that projects licensed under GPLv2 or GPLv3 can include code distributed with any of the indicated permissive licenses.<ref>[https://www.gnu.org/licenses/license-list.en.html GNU page on licenses.]</ref> |
| |} | | |} |
| | | |
− | The following sections elaborate on both options for each type of work: code, data, and other.<br/> | + | UPDATE: Removed {{nowrap|CC BY SA}} from copyleft/data. It is not recommended for data. |
| + | |
| + | The following sections elaborate on both options for each type of work: code, data, documentation, and other. |
| | | |
| == Code == | | == Code == |
| | | |
− | The following minimal questions can give a guideline whether one should choose a copyleft or a permissive license for a project. The Wikipedia article on [https://en.wikipedia.org/wiki/Free_software_license Free software licenses] gives a more in-depth overview on both types and their properties. | + | The following minimal questions can give a guideline on whether one should choose a copyleft or a permissive license for a project. The Wikipedia article on [https://en.wikipedia.org/wiki/Free_software_license Free software licenses] gives an in-depth overview on both types and their properties. |
| | | |
− | *Are you ok with your code becoming part of a '''closed-source''' commercial software product? | + | *Are you okay with your code becoming part of a '''closed-source''' commercial software product? |
| **No: GPL | | **No: GPL |
| **Yes: permissive licenses (MIT/BSD/Apache) | | **Yes: permissive licenses (MIT/BSD/Apache) |
| | | |
− | *Do you want to '''force '''users to publish their improvements to your software, or to software they develop based on your software, under the same licence? | + | *Do you want to '''force '''users to publish their improvements to your software, or to software they develop based on your software, under the same license? |
− | **No: permissive licenses (MIT/BSD/Apache). This makes the code more broadly usable, but also allows people to take the code without sharing their improvements to it. | + | **No: permissive licenses (MIT/BSD/Apache). This makes the code more broadly usable, but also allows people to take the code without sharing their improvements. |
− | **Yes: GPL. This ensures that any future changes/improvements to the code remain free and open. | + | **Yes: GPL. This ensures that any future changes and improvements to the code remain free and open |
| | | |
| === Copyleft licenses === | | === Copyleft licenses === |
| | | |
− | Developers who use GPL code must publish the source code available they share or sell an application built upon it. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code is not required to be made available and any changes may remain private. This has the important consequence that software written under such a license can not be included in "non-free" software. The GPL licenses are: | + | Developers who use a GPL license must make the source code available if they share or sell an application built upon it. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code need not be published and any improvements may remain private. This has the important consequence that software written under such a license cannot be included in "non-free" software. The GPL family of licenses comprise: |
| | | |
| *GPL: the basic GPL license | | *GPL: the basic GPL license |
− | *LGPL: Lesser GPL. Permits non-free software to link to the LGPL-licensed software, which the GPL does not. | + | *LGPL: Lesser GPL: permits non-free software to link to the LGPL-licensed software, which the GPL does not |
− | *AGPL: Affero GNU GPL. It closes a loophole in the GPL that permits somebody to operate a web application that uses GPL code, without making the code available to users | + | *AGPL: Affero GNU GPL: this license closes a loophole in the GPL that permits somebody to operate a web application that uses GPL code, without making the code available to users |
| | | |
− | More information, geared towards the use of copyleft licenses for one's code, can be found in the article [https://www.gnu.org/licenses/license-recommendations How to choose a license for your own work] on [https://www.gnu.org/ gnu.org]. | + | More information, geared towards the use of copyleft licenses for code, can be found in the article [https://www.gnu.org/licenses/license-recommendations How to choose a license for your own work] on [https://www.gnu.org/ gnu.org]. |
| | | |
| === Permissive licenses === | | === Permissive licenses === |
| | | |
− | The article [https://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html Why you should use a BSD style license for your Open Source Project] on [https://www.freebsd.org/ freebsd.org]. The permissive licenses allow code to be re-used with no restrictions, including the possibility to build commercial software for which new code is no longer made publicly available at all. | + | The article [https://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html Why you should use a BSD style license for your Open Source Project] on [https://www.freebsd.org/ freebsd.org] is recommended. The permissive licenses allow code to be re-used without restrictions, including the possibility of building commercial software whereby the new code is not made public. |
| | | |
− | The site [http://choosealicense.com/ choosealicense.com] has a great three-column summary of the differences between the major open source licenses. Summary from their explanations (links to their license description pages): | + | The site [https://choosealicense.com/ choosealicense.com] has a great three-column summary of the differences between the major open source licenses. Summarizing their explanations (with links to their license description pages): |
| | | |
− | *The [http://choosealicense.com/licenses/mit MIT] license is a simple permissive license | + | *The [https://choosealicense.com/licenses/mit MIT] license is a simple permissive license |
− | *The [http://choosealicense.com/licenses/apache-2.0/ Apache License] adds an additional term explicitely granting code contributor's patent rights to the user of such code. | + | *The [https://choosealicense.com/licenses/apache-2.0/ Apache License] adds an additional term explicitly granting the patent rights of code contributors to the users of such code |
− | *The [http://choosealicense.com/licenses/bsd-2-clause/ BSD] license, or its newer even shorter successor [http://choosealicense.com/licenses/isc/ ISC] is virtually identical to MIT, but worded shorter. | + | *The [https://choosealicense.com/licenses/bsd-2-clause/ BSD] license, or its newer even shorter successor [https://choosealicense.com/licenses/isc/ ISC] is virtually identical to MIT, but more succinctly worded |
| | | |
− | One important aspect of all these licenses is the liability clause. It prohibits any code user from holding the code producer liable for any damages caused by using the software code. | + | One important aspect of all these licenses is the liability clause. This clause prohibits any code user from holding the code producers liable for damages arising from the use of the software code. |
| | | |
| == Data == | | == Data == |
| | | |
− | The go-to solution for data licenses comes from the [http://opendatacommons.org/ Open Data Commons] that have created the following three licenses, and a nice [http://opendatacommons.org/guide/ 2-minute guide] on the why and how of data licensing.
| + | Data in this context includes organized databases holding datasets. Special copyright rules may apply to databases, which, under European law, are protected in their own right, irrespective of the status of the data they contain. |
| | | |
− | *[http://opendatacommons.org/licenses/odbl/ Open Data Commons Open Database License (ODbL)]: this license is used by OpenStretMap
| + | The go-to solution for data licenses comes from the [https://opendatacommons.org/ Open Data Commons] that have created the following three licenses, and a nice [http://opendatacommons.org/guide/ 2-minute guide] on the how and why of data licensing: |
− | *The [http://opendatacommons.org/licenses/by/1.0/ Open Data Attribution License (ODC-By)] (analog to CC BY) differs from ODbL mainly because of missing copyleft regulation. It basically only to mention the contributors to the original database
| + | |
− | *[http://opendatacommons.org/licenses/pddl/summary/ Public Domain Dedication and License (PDDL)] is even more permissive and does neither require attribution nor force a derived work under any specific license conditions.
| + | |
| | | |
− | *[http://creativecommons.org/ Creative Commons] licenses have been reworked since version 2 to include provisions which make them suitable for databases and data sets as well. Please refer to the section "Other" below for their properties. See also the related question [http://opendata.stackexchange.com/questions/5995/are-creative-commons-licenses-suitable-for-data are CC licenses suitable for data?] on StackExchange. | + | *[https://opendatacommons.org/licenses/odbl/ Open Data Commons Open Database License (ODbL)]: this license is used by OpenStreetMap |
| + | *The [https://opendatacommons.org/licenses/by/1.0/ Open Data Attribution License (ODC-By)] (analogous to CC BY) differs from the ODbL mainly due to a missing copyleft clause. ODC-By basically requires that the contributors to the original database be listed. |
| + | *[https://opendatacommons.org/licenses/pddl/summary/ Public Domain Dedication and License (PDDL)] is even more permissive and does not require attribution or force derived works to adopt specific license conditions |
| + | *Only version{{nbsp}}4.0 [https://creativecommons.org/ Creative Commons] licenses should be used for data. This version has improved provisions for datasets and databases. Please refer to the section [https://wiki.openmod-initiative.org/index.php?title=Choosing_a_license&action=edit&mode=wysiwyg§ion=6#Other Other] for their properties. Recommended licenses are Public Domain (CC0) and CC-BY 4.0. Please note that CC-BY-SA is not recommended for data. See also the related question [https://opendata.stackexchange.com/questions/5995/are-creative-commons-licenses-suitable-for-data are CC licenses suitable for data?] on StackExchange. |
| | | |
| + | In December 2017, individuals in the openmod community made a written submission on the re-use of public sector information in Europe.<ref name="morrison-etal-2017">{{cite book | last1 = Morrison | first1 = Robbie | last2 = Brown | first2 = Tom | last3 = De Felice | first3 = Matteo | title = Submission on the re-use of public sector information: with an emphasis on energy system datasets — Release 09 | date = 10 December 2017 | location = Berlin, Germany | url = https://forum.openmod-initiative.org/uploads/default/original/1X/d659fda325438884e6e78b372772ed7069633f97.pdf | access-date = 2017-12-13}} Creative Commons CC BY 4.0 license. {{open access}}</ref> The openmod forum has a dedicated [https://forum.openmod-initiative.org/t/re-use-of-public-sector-information/476 thread]. |
| | | |
| == Documentation == | | == Documentation == |
Line 86: |
Line 103: |
| *CC BY-SA, versions 1.0, 2.0, 2.5, and 3.0 | | *CC BY-SA, versions 1.0, 2.0, 2.5, and 3.0 |
| | | |
− | However CC BY-SA 4.0 is '''not''' compatible with Wikipedia. For more information, please see the [https://en.wikipedia.org/wiki/Wikipedia:FAQ/Copyright#Can_I_add_something_to_Wikipedia_that_I_got_from_somewhere_else.3F Wikipedia compatibility table]. The Wikimedia Foundation plans to run a community discussion on an upgrade to a CC BY-SA 4.0 license in October 2016. If this exercise is successful then the compatibility problem will evaporate. | + | However CC BY-SA 4.0 is '''not''' compatible with Wikipedia. For more information, please see the [https://en.wikipedia.org/wiki/Wikipedia:FAQ/Copyright#Can_I_add_something_to_Wikipedia_that_I_got_from_somewhere_else.3F Wikipedia compatibility table]. The Wikimedia Foundation ran a community discussion on an upgrade to a CC BY-SA 4.0 license in November 2016, but the outcome has not been announced. If this exercise is successful then the compatibility problem just noted will disappear. |
| | | |
− | [http://www.gnu.org GNU] also recommends '''not''' using the following licenses for free documentation: | + | The [https://www.gnu.org/copyleft/fdl.html GNU Free Documentation License 1.3] (FDLv1.3) is the GNU alternative to a Creative Commons license. |
| | | |
− | *a CC-NC (noncommercial) license of any form
| + | [https://www.gnu.org GNU] also recommends '''not''' using the following licenses for free documentation: |
− | *a CC-ND (no derivatives) license of any form
| + | |
| | | |
− | For more information please see [https://www.gnu.org/licenses/license-list.html#NonFreeDocumentationLicenses GNU page on nonfree documentation licenses].
| + | *CC-NC (non-commercial) license of any form |
| + | *CC-ND (no derivatives) license of any form |
| | | |
| + | For more information, please see [https://www.gnu.org/licenses/license-list.html#NonFreeDocumentationLicenses GNU page on non-free documentation licenses]. |
| | | |
| == Other == | | == Other == |
| | | |
− | The Creative Commons license family is probably most widely known. As of now (September 2015), the fourth version of these licenses have been published. First, the two "free licenses" are presented: | + | The Creative Commons family of licenses are probably the most widely known. As of December 2016, the fourth version of these licenses is current. First, the two "free licenses" are presented: |
| | | |
− | *[http://creativecommons.org/licenses/by/4.0/ CC BY], short for attributions ("by" whom was the work created?), requests to name the source when sharing the work or a derived work. | + | *[https://creativecommons.org/licenses/by/4.0/ CC BY] (short for attributions, the "by" refers to authoring): requires that the source be named when sharing the original work or any derived work |
− | *[http://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA] is similar to the GPL as it requires any derived works to be published under a "compatible" (easiest: the same) license. It is therefore the license used by Wikipedia. | + | *[https://creativecommons.org/licenses/by-sa/4.0/ CC BY-SA]: similar to the GPL in that it requires any derived works to be published under a "compatible" (easiest is the same) license. It is the license used by Wikipedia for articles. Version 4.0 is fully compatible with the GPLv3 (software) license. This license is not recommended for Open Data <span class="tlid-translation translation"><span title="">because there is an incompatibility with the much used OSM data (ODbL) and other copyleft data!</span></span> |
| | | |
− | Only the previous two licenses qualify as "free" licenses, as they do not restrict, what a user may do with the licensed work. | + | Only the two previous CC licenses qualify as "free" licenses, as they do not restrict what a user may do with the licensed work. Two "non-free" license components are presented: |
| | | |
− | *The non-commercial (NC) option allows to prohibit any "commercial" usage of one's work. However, it is notoriously hard to define ''what exactly is'' a commercial activity. This problem is explained in great detailed in the brochure [http://openglam.org/files/2013/01/iRights_CC-NC_Guide_English.pdf Consequences, risks and side-effects of the license module "non-commercial use only"]. Anyway, the two resulting licenses are consequently called [http://creativecommons.org/licenses/by-nc/4.0/ CC BY-NC] and, with the share-alike option, [http://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA]. | + | *CC NC: the non-commercial option allows one to prohibit any "commercial" usage of their work. However, it is notoriously hard to define ''exactly what constitutes'' a commercial activity. This issue is explained in detail in the brochure [https://openglam.org/files/2013/01/iRights_CC-NC_Guide_English.pdf Consequences, risks and side-effects of the license module "non-commercial use only"]. In any case, the two licenses which result from this component are [https://creativecommons.org/licenses/by-nc/4.0/ CC BY-NC] and, with the share-alike option, [https://creativecommons.org/licenses/by-nc-sa/4.0/ CC BY-NC-SA]. |
− | *If you do not want any changes or improvements to your work to be shared or redistributed, the "no derivatives" (ND) is available. Its main use is by musicians that only want their music to be shared by listeners, but not allowing remixes or cover version. The resulting licenses are [http://creativecommons.org/licenses/by-nd/4.0/ CC BY-ND] or, by combining it with the NC tag, [http://creativecommons.org/licenses/by-nc-nd/4.0/ CC BY-NC-ND]. | + | *CC ND (short for no derivatives): this option is available If you do not want changes or improvements to your work to be shared or redistributed. Its main use is by musicians who want to share their music with listeners, but do not wish to allow remixes or cover versions. The resulting licenses are [https://creativecommons.org/licenses/by-nd/4.0/ CC BY-ND] or, by combining it with the NC option, [https://creativecommons.org/licenses/by-nc-nd/4.0/ CC BY-NC-ND]. |
| + | |
| + | For inspiration, the Creative Commons homepage lists [https://creativecommons.org/examples a host of example projects licensed under all different licenses] to give an impression of the contexts that triggered various individuals to select a particular license. |
| | | |
− | For inspiration, the Creative Commons homepage also lists [https://creativecommons.org/examples a host of example projects licensed under all different licenses] to give an impression which situation triggered which decision by the presented individuals.<br/>
| |
| | | |
| = FAQ = | | = FAQ = |
Line 114: |
Line 133: |
| == Why is it a bad idea to use Creative Commons licenses for code? == | | == Why is it a bad idea to use Creative Commons licenses for code? == |
| | | |
− | Long answer is in the question [http://opensource.stackexchange.com/questions/1717/why-is-cc-by-sa-discouraged-for-code Why is CC BY-SA discouraged for code?] on StackExchange.
| + | The long answer is given in [http://opensource.stackexchange.com/questions/1717/why-is-cc-by-sa-discouraged-for-code Why is CC BY-SA discouraged for code?] on StackExchange. |
| | | |
− | Short answer: the license is written for creative works (music, film, texts), not software code. Therefore, it leaves many important details (what consitutes a "derived" work, is linking allowed, what about patents?) unspecified. So: don't use CC licenses for code.
| + | The short answer is that the CC licenses are written for creative works (music, film, texts), not software code. Therefore, a CC license leaves many important details (what constitutes a "derived" work, is linking allowed, what about patents?) unspecified. The conclusion: don not use CC licenses for code. |
| | | |
− | == At what point of time to choose/can I change license? == | + | == At what point should I choose or change a license? == |
| | | |
− | With the first release (if possible already for “small” releases like within your institute) detmermine a licence for your project.
| + | You should determine and add a license '''prior''' to the '''first''' release of your project. Ideally that would include “small” releases within your research institute or organization. |
| | | |
− | ''Can I change the licence?'' The important thing is that, when you receive a copy of source code with a particular license, you have been granted that license. So long as the license doesn't have a revocation clause, it's permanent. Related question on StackOverflow: [http://stackoverflow.com/questions/3498237/what-happens-when-an-open-source-project-changes-its-license What happens when an open source project changes its license?]
| + | Can I change the license? The important thing is that, when you receive a copy of the source code with a particular license, you have been granted that license. So as long as the license does not have a revocation clause, it is permanent. See the related question on StackOverflow: [http://stackoverflow.com/questions/3498237/what-happens-when-an-open-source-project-changes-its-license What happens when an open source project changes its license?] |
| | | |
− | But the license can be changed: You can change the licence for the next version/release if all contributors (copyright holders) agree, or have previously agreed on the possibility of doing so, via a contributor agreement. Search for "contributor (license/assignment) agreement" online, for pointers on how to enable the latter up front. (cf. [http://opensource.org/faq#contributor-agreements FAQ on contributor agreements on opensource.org], [http://wiki.civiccommons.org/Contributor_Agreements Civic Commons article on contributor agreements])
| + | A license can be changed. You can swap the license for the next version or release if '''all''' contributors (meaning copyright holders) agree or have previously agreed to the possibility of doing so, usually via a contributor agreement. Search for "contributor (license/assignment) agreement" online, for pointers on how to enable this up front. See also the [http://opensource.org/faq#contributor-agreements FAQ on contributor agreements on opensource.org], [http://wiki.civiccommons.org/Contributor_Agreements Civic Commons article on contributor agreements]. |
| | | |
| == What does sublicensing mean? == | | == What does sublicensing mean? == |
− |
| |
− | "The basic idea [...] is that if this is granted, a licensee can become a licensor of some of the rights of the grant they received regardless of any other claim they may have to copyright control over what they distribute." Source: [https://programmers.stackexchange.com/questions/189633/what-sublicense-actually-means https://programmers.stackexchange.com/questions/189633/what-sublicense-actually-means]
| |
| | | |
| Sublicensing allows somebody to relicense all or part of the licensed software, for example, to use BSD-licensed code in a closed-source commercial application. | | Sublicensing allows somebody to relicense all or part of the licensed software, for example, to use BSD-licensed code in a closed-source commercial application. |
| + | |
| + | "The basic idea ... is that if this is granted, a licensee can become a licensor of some of the rights of the grant they received regardless of any other claim they may have to copyright control over what they distribute." Source: [https://programmers.stackexchange.com/questions/189633/what-sublicense-actually-means https://programmers.stackexchange.com/questions/189633/what-sublicense-actually-means] |
| + | |
| + | |
| + | = Seeking advice = |
| + | |
| + | Questions related to the selection and use of open source licenses can be posted to our [https://groups.google.com/d/forum/openmod-initiative mailing list]. But remember that the list is public and its traffic is indexed by search engines. |
| | | |
| = Further reading = | | = Further reading = |
Line 140: |
Line 164: |
| **“What do I need to do before applying my choice of licence?” | | **“What do I need to do before applying my choice of licence?” |
| | | |
− | *This Nature commentary article dispels common excuses for not publishing scientific code and argues that code should be published more frequently. [http://www.nature.com/news/2010/101013/full/467753a.html Barnes N (2010), Publish your computer code: it is good enough, Nature 467, 753. doi:10.1038/467753a] | + | *This Nature commentary article dispels common excuses for not publishing scientific code and argues that code should be published more frequently: |
− | *The following paper contains a good overview of different licenses and some of the questions one might ask when deciding on a license, from the point of view of a programming scientist: [http://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002598 Morin A, Urban J, Sliz P (2012), A Quick Guide to Software Licensing for the Scientist-Programmer. PLoS Comput Biol 8(7): e1002598. doi:10.1371/journal.pcbi.1002598] | + | |
| + | <blockquote> |
| + | {{cite journal |
| + | | last1 = Barnes | first1 = Nick |
| + | | title = Publish your computer code: it is good enough |
| + | | date = 13 October 2010 |
| + | | journal = Nature News |
| + | | volume = 467 |
| + | | issue = 7317 |
| + | | pages = 753–753 |
| + | | doi = 10.1038/467753a |
| + | | issn = 0028-0836 |
| + | | url = http://www.nature.com/news/2010/101013/pdf/467753a.pdf |
| + | | access-date = 2016-12-10 |
| + | }} |
| + | </blockquote> |
| + | |
| + | *The following paper contains a good overview of different licenses and some of the questions one might ask when deciding on a license, from the point of view of a programming scientist: |
| + | |
| + | <blockquote> |
| + | {{cite journal |
| + | | last1 = Morin | first1 = Andrew |
| + | | last2 = Urban | first2 = Jennifer |
| + | | last3 = Sliz | first3 = Piotr |
| + | | title = A quick guide to software licensing for the scientist-programmer |
| + | | date = 27 July 2012 |
| + | | journal = PLOS Computational Biology |
| + | | volume = 8 |
| + | | issue = 7 |
| + | | pages = e1002598 |
| + | | doi = 10.1371/journal.pcbi.1002598 |
| + | | issn = 1553-7358 |
| + | | url = http://journals.plos.org/ploscompbiol/article/file?id=10.1371/journal.pcbi.1002598&type=printable |
| + | | access-date = 2016-12-10 |
| + | }} {{open access}} |
| + | </blockquote> |
| + | |
| *[https://tldrlegal.com/ TLDRlegal.com] summarizes a wide range of popular licenses in an easy to read format | | *[https://tldrlegal.com/ TLDRlegal.com] summarizes a wide range of popular licenses in an easy to read format |
| *Help for choosing a license for software from GitHub at [http://choosealicense.com/ ChooseALicense.com] | | *Help for choosing a license for software from GitHub at [http://choosealicense.com/ ChooseALicense.com] |
− | *[http://opensource.org Opensource.org]: lots of helpful information esp. under FAQ (e.g. provides an aswer to “Why not use CC for code?”) | + | *[http://opensource.org Opensource.org]: lots of helpful information especially under the FAQ (provides, for instance, an aswer to “Why not use CC for code?”) |
− | **Open Source Licenses: wallow in the abundunce of licenses out there, then come back to the FAQ and read “Which Open Source license should I choose to release my software under?” | + | **Open Source Licenses: wallow in the abundance of licenses out there, then come back to the FAQ and read “Which Open Source license should I choose to release my software under?” |
| | | |
− | *[https://www.wbs-law.de/it-recht/open-source-lizenzen-ein-uberblick-35752/ Article (in German) with overview of different open licenses and problems] | + | *[https://www.wbs-law.de/it-recht/open-source-lizenzen-ein-uberblick-35752/ An article (in German) with overview of different open licenses and problems] |
− | *[http://www.ifross.org/lizenz-center/ Detailed list (in German) of licenses] | + | *[http://www.ifross.org/lizenz-center/ A detailed list (in German) of licenses] |
| *The Journal of Open Research Software (JORS) is a journal dedicated to publishing Open Source research software. It is therefore a useful outlet to publish software source code in, and then be able to reference it from other articles: [http://openresearchsoftware.metajnl.com/ http://openresearchsoftware.metajnl.com/] | | *The Journal of Open Research Software (JORS) is a journal dedicated to publishing Open Source research software. It is therefore a useful outlet to publish software source code in, and then be able to reference it from other articles: [http://openresearchsoftware.metajnl.com/ http://openresearchsoftware.metajnl.com/] |
| + | |
| + | = References = |
| + | |
| + | <references/> |
In other words, why not just put code online without a license? A license clarifies the conditions under which your code can be reused. In the absence of a license, the author still retains proprietary copyright, and the conditions under which the code can be used are unclear.[1] A sentence like "feel free to use this code" does not improve the situation, because it does not clarify to what extent any possible user should "feel free" to use the code. Standard licenses provide pre-defined sets of standard conditions, which both providers and users only have to understand once, and can then later easily recognise and categorise.
The most common licenses for a given artifact can be determined by its type: code, data, documentation, or other generic digital "creative work" (reports and figures). For any given project, these components can and should be licensed independently by type.
At the most basic level, one must decide on whether to use a copyleft license or a more permissive license. While copyleft assures that code changes by any future contributors must stay public, permissive licenses only require attribution in derived works.
With these two distinctions (type of work, type of license), the following decision matrix can be drawn:
The following sections elaborate on both options for each type of work: code, data, documentation, and other.
The following minimal questions can give a guideline on whether one should choose a copyleft or a permissive license for a project. The Wikipedia article on Free software licenses gives an in-depth overview on both types and their properties.
Developers who use a GPL license must make the source code available if they share or sell an application built upon it. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code need not be published and any improvements may remain private. This has the important consequence that software written under such a license cannot be included in "non-free" software. The GPL family of licenses comprise:
One important aspect of all these licenses is the liability clause. This clause prohibits any code user from holding the code producers liable for damages arising from the use of the software code.
Data in this context includes organized databases holding datasets. Special copyright rules may apply to databases, which, under European law, are protected in their own right, irrespective of the status of the data they contain.
In December 2017, individuals in the openmod community made a written submission on the re-use of public sector information in Europe.[3] The openmod forum has a dedicated thread.
If you would like your model documentation to be used verbatim on Wikipedia, you need to use one of these Creative Commons licenses:
The Creative Commons family of licenses are probably the most widely known. As of December 2016, the fourth version of these licenses is current. First, the two "free licenses" are presented:
Only the two previous CC licenses qualify as "free" licenses, as they do not restrict what a user may do with the licensed work. Two "non-free" license components are presented:
The short answer is that the CC licenses are written for creative works (music, film, texts), not software code. Therefore, a CC license leaves many important details (what constitutes a "derived" work, is linking allowed, what about patents?) unspecified. The conclusion: don not use CC licenses for code.
Can I change the license? The important thing is that, when you receive a copy of the source code with a particular license, you have been granted that license. So as long as the license does not have a revocation clause, it is permanent. See the related question on StackOverflow: What happens when an open source project changes its license?
A license can be changed. You can swap the license for the next version or release if all contributors (meaning copyright holders) agree or have previously agreed to the possibility of doing so, usually via a contributor agreement. Search for "contributor (license/assignment) agreement" online, for pointers on how to enable this up front. See also the FAQ on contributor agreements on opensource.org, Civic Commons article on contributor agreements.
Sublicensing allows somebody to relicense all or part of the licensed software, for example, to use BSD-licensed code in a closed-source commercial application.
Questions related to the selection and use of open source licenses can be posted to our mailing list. But remember that the list is public and its traffic is indexed by search engines.