Skip to content

Commit

Permalink
Merge pull request #9 from nmfs-opensci/eeholmes-patch-3
Browse files Browse the repository at this point in the history
Update licenses_gov.qmd
  • Loading branch information
eeholmes authored Nov 17, 2023
2 parents 143aa15 + 9da3a06 commit ea6bb40
Showing 1 changed file with 69 additions and 22 deletions.
91 changes: 69 additions & 22 deletions content/licenses_gov.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,39 @@ title: "Licenses for Government Work"

## Licenses

Work of the United States government that is done by US federal employees as part of their official duties is generally [in the public domain](https://fairuse.stanford.edu/overview/public-domain/welcome/#us_government_works) within the United States of America. That means it cannot be copyrighted. (The relevant law is [here](https://www.law.cornell.edu/uscode/text/17/105) Code (or anything else) developed by US federal employees should have a notice that the work is in the public domain. It is common to waive copyright and related rights in the work worldwide through the CC0 1.0 Universal public domain dedication.
### Summary

Products by federal agencies (or their employees) on GitHub will use some kind of public domain license, but which one used varies. For data, publications and content Creative Commons license (CC0-1.0) is the recommended license. [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/) is a very broad declaration of public domain. For software, there are a variety of public domain licenses used:
Work produced by federal staff is required to be released under an open license.

* Other [NOAA Affiliated GitHub organizations](https://github.com/NOAAGov/NOAA-Affiliated-Projects) use a mix of GPL-3 and CC0-1.0.
* USGS uses [CC0-1.0 License + additional info](https://github.com/usgs/best-practices/blob/master/LICENSE.md)
* EPA seems to use CC0-1.0 License, e.g. [useeior](https://github.com/USEPA/useeior)
* CISA also seems to use CC0-1.0 License, e.g. [Sparrow](https://github.com/cisagov/Sparrow#license)
* Dept of Labor also uses CC0-1.0 License + additional info, e.g. [ableist language app](https://github.com/USDepartmentofLabor/ableist-language-detector/blob/main/LICENSE.md)
* NASA uses [Apache 2.0](https://github.com/nasa/astrobee/blob/master/LICENSE) mostly
* GSA uses [CC0-1.0 License](https://github.com/18F/fedramp-data#public-domain)
* Data, publications and content: Use the CC0 license
* Code: Use an official Open Source license: GPL-3, Apache 2.0, or MIT plus the LICENSE addendum file and the disclaimer file
* How? See details below.

There are some special considerations for licenses for open source software: Do not use CC0 for software even though you will see it commonly used on GitHub. Although NOAA has not yet issued its guidelines re what open source license to use, it will definitely not be CC0. The CC0 website [does not recommend the license for software](https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software), but instead recommends using an open source license designed for software. If you want to publish your tool in the [Journal of Open Source Software](https://joss.theoj.org/), for example, CC0 is not acceptable because it is not one of the [listed open source licenses](https://opensource.org/licenses/) on the Open Source Initiative. The recommended open source licenses for government produced software are Apache 2.0 (not copyleft so can be used in proprietary software), MIT (not copyleft so can be used in proprietary software), or GPL-3 (strong copyleft and cannot be used in proprietary software).
### Background

## Additional License information
Work of the United States government that is done by US federal employees as part of their official duties is generally [in the public domain](https://fairuse.stanford.edu/overview/public-domain/welcome/#us_government_works) within the United States of America. That means it cannot be copyrighted. The relevant law is [here](https://www.law.cornell.edu/uscode/text/17/105). Code, data and other content developed by US federal employees should have a notice that the work is in the public domain with an Open license or dedication.

In addition to one of the standard licenses above we also add the following addendum:
### Data, publications and content

For data, publications and content Creative Commons license (CC0-1.0) is the recommended license. [CC0-1.0](https://creativecommons.org/publicdomain/zero/1.0/) is a very broad declaration of public domain.

**How do you specify the license?**

It depends how you release the data. In many cases, a statement regarding that the data are released under CC0 is all that is used. This [link](https://chooser-beta.creativecommons.org/) will help you with the process.

* If the data are in a GitHub repo, then you can choose a LICENSE by adding a LICENSE file and GitHub will prompt you through the process.
* If the data but if you are using a data repository service, there will be a question regarding license.
* If the data are in a R data package, `License: CC0` in your `DESCRIPTION` file.

### Software and code

There are some special considerations for licenses for open source software: Do not use CC0 for software even though you will see it commonly used on GitHub. Although NOAA has not yet issued its guidelines regarding what open source license to use, it will definitely not be CC0. The CC0 website [does not recommend the license for software](https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software), but instead recommends using an open source license designed for software. If you want to publish your tool in the [Journal of Open Source Software](https://joss.theoj.org/), for example, CC0 is not acceptable because it is not one of the [listed open source licenses](https://opensource.org/licenses/) on the Open Source Initiative.

The recommended open source licenses for government produced software are one of these: Apache 2.0 (not copyleft so can be used in proprietary software), MIT (not copyleft so can be used in proprietary software), or GPL-3 (strong copyleft so cannot be used in proprietary software).

***Additional License information**

In addition to one of the standard licenses above we also add the following addendum to our code products:

```
Software code created by U.S. Government employees is not subject to
Expand All @@ -33,7 +49,15 @@ to use, copy, and create derivative works of the Software outside of the
United States.
```

## Specifying the license for an R package
**Additional disclaimer**

Besides the license, code from federal agencies should also have a disclaimer that the code is 'as is' and the user assumes responsibility for its use. Here is a standard disclaimer tailored for a repository on GitHub. See the Fisheries Integrated Toolbox [Disclaimer](https://github.com/nmfs-fish-tools/Resources/blob/master/Disclaimer.md) for slightly modified example.

```
This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by Department of Commerce or the United States Government.
```

#### Example: specifying the license for an R package

* At the base level of your package, add a `LICENSE` text file which will list the license plus the addendum above. For example, here is an example of the LICENSE file for the [MARSS package](https://github.com/atsa-es/MARSS).

Expand All @@ -51,6 +75,10 @@ in its entirety by the Department of Commerce. To this end, the Department
of Commerce hereby grants to Recipient a royalty-free, nonexclusive license
to use, copy, and create derivative works of the Software outside of the
United States.
With the following disclaimer:
This package is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this package will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by the Department of Commerce or the United States Government.
```

* Then in your `DESCRIPTION` file, put the line
Expand All @@ -59,19 +87,38 @@ License: GPL-3 | file LICENSE
```
Replace "GPL-3" with the license you are using.

## Disclaimers
#### Example: The `README` for your GitHub repository

Besides the license, code from federal agencies should also have a disclaimer that the code is 'as is' and the user assumes responsibility for its use.
Add this to the bottom of your `README` file in your GitHub repository. Example: [MARSS package README](https://github.com/atsa-es/MARSS/blob/master/README.md).

* The Fisheries Integrated Toolbox has a [Disclaimer](https://github.com/nmfs-fish-tools/Resources/blob/master/Disclaimer.md) for US Government products in its [Resources](https://github.com/nmfs-fish-tools/Resources) repo.
* The repos on the EPA organization use a few different (albeit similar) disclaimers. [Generic](https://github.com/USEPA/CMAQ#epa-disclaimer), [GitHub specific](https://github.com/USEPA/useeior#disclaimer).
* [CISA repos](https://github.com/cisagov/Sparrow#legal-disclaimer) have a bit of an ad hoc disclaimer.
```
### License
Here is a standard disclaimer. Here tailored for a repository on GitHub.
The MARSS package as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC
LICENSE version 3).
```
This repository is a scientific product and is not official communication of the National Oceanic and Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is provided on an 'as is' basis and the user assumes responsibility for its use. Any claims against the Department of Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed by all applicable Federal law. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by DOC or the United States Government.
```
In addition this software has the following license addendum:
Software code created by U.S. Government employees is not subject to
copyright in the United States (17 U.S.C. §105). The United State
s/Department of Commerce reserve all rights to seek and obtain copyright
protection in countries other than the United States for Software authored
in its entirety by the Department of Commerce. To this end, the Department
of Commerce hereby grants to Recipient a royalty-free, nonexclusive license
to use, copy, and create derivative works of the Software outside of the
United States.
### NOAA Disclaimer
This repository is a scientific product and is not official communication of the National Oceanic and
Atmospheric Administration, or the United States Department of Commerce. All NOAA GitHub project code is
provided on an ‘as is’ basis and the user assumes responsibility for its use. Any claims against the Department of
Commerce or Department of Commerce bureaus stemming from the use of this GitHub project will be governed
by all applicable Federal law. Any reference to specific commercial products, processes, or services by service
mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or
favoring by the Department of Commerce. The Department of Commerce seal and logo, or the seal and logo of a
DOC bureau, shall not be used in any manner to imply endorsement of any commercial product or activity by
DOC or the United States Government.
```


0 comments on commit ea6bb40

Please sign in to comment.