7 Other elements - Openscapes/2021-noaa-nmfs GitHub Wiki
Government agencies use some kind of public domain license, but which one used varies a bit. For NOAA Fisheries products, see the material in the Fisheries Integrated Toolbox. This group has been working the last couple years on developing boilerplate disclaimers and licenses for NMFS open source products.
Licenses
Work of the United States government that is done by US federal employees as part of their official duties is in the public domain within the United States of America and cannot be copyrighted. Code (or anything else) developed by US federal employees should have a notice that the work is in the public domain. Additionally it is common to waive copyright and related rights in the work worldwide through the CC0 1.0 Universal public domain dedication.
There are two main licenses used for products by federal agencies (or their employees) on GitHub: Creative Commons license (CC0-1.0) and the GNU General Public License v3. CC0-1.0 is a very broad declaration of public domain while GPL-3 is explicit about derivative works and how those works must retain an open source license.
- The NOAA Fisheries Integrated Toolbox recommends GPL-3 over CC0-1.0 since the latter is not designed specifically for software. An additional note is added to clarify that the material is a US Government work. See their Resources repository.
- Other NOAA Affiliated GitHub organizations use a mix of GPL-3 and CC0-1.0.
- USGS uses CC0-1.0 License + additional info
- EPA seems to use CC0-1.0 License, e.g. useeior
- CISA also seems to use CC0-1.0 License, e.g. Sparrow
- Dept of Labor also uses CC0-1.0 License + additional info, e.g. ableist language app
- NASA uses Apache 2.0 mostly
- GSA uses CC0-1.0 License
- I use CC0-1.0 with a note at the top that the work is a US federal government work by US federal employees as part of their official duties.
Disclaimers
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.
- The Fisheries Integrated Toolbox has a Disclaimer for US Government products in its Resources repo.
- The repos on the EPA organization use a few different (albeit similar) disclaimers. Generic, GitHub specific.
- CISA repos have a bit of an ad hoc disclaimer.
Code of Conduct
Read about why it is important to have code of conduct for your GH organization (and repos for open source products) and how to manage conduct to support better collaborative communities: Contributor Covenant.
- The Fisheries Integrated Toolbox has a Code of Conduct in its Resources repo. How to use? You put this in your repo, here's an example from the Toolbox and put a link in your websites. If you are using pkgdown, it should be pretty easy to modify
_pkgdown.yml
to add this.
Contributing to the repo
Here are the typical ways that repo owners convey how people can contribute.
-
Supply contact information (critical)
-
Add a link to the GitHub repo issues page. This is the most common approach.
-
Add a
CONTRIBUTING
document to repo. The Fisheries Integrated Toolbox has a Contributing document in its Resources repo. How to use? You put this in your repo. Here's an example from the Toolbox and put a link in your websites. Some groups pin this info in their issues list.Note I personally do not have detailed info like the Fisheries Integrated Toolbox does on how to use GitHub issues on my big CRAN R package MARSS or any others. I have found that the questions that people post are super helpful to me and to other users, so I don't want to discourage people from posting questions and I want my responses there on the issue thread. I just add an appropriate label, like
question
(andbug
orenhancement
) and then close the issue once the question is resolved.
Citation
If your work is something people cite, like a report or a software package, add a CITATION.md
file or add citation information to the Readme.md
file. You can create a DOI for software. Not all repositories are things that someone would cite however so this is not something one always adds.
Derivation work and use
In some cases, you might want to add a statement about "fair use" and "fair attribution" to your repo. That really depends on what the repo is about. I tend to add this when I am sharing teaching material and I want to be clear that it is fine to copy the repo material and re-work it for other uses.