Licenses for Government Work

Licenses

Summary

Work produced by federal staff is required to be released under an open license.

  • Data, publications and content: Use the CC0 license
  • Code: Use an official open source license plus add the LICENSE addendum file and the disclaimer file
  • How? See details below.

Background

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 within the United States of America. That means it cannot be copyrighted. The relevant law is here. 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.

Data, publications and content

For data, publications and content Creative Commons license (CC0-1.0) is the recommended license. CC0-1.0 is a very broad declaration of public domain. See the

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 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, 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, for example, CC0 is not acceptable because it is not one of the listed open source licenses on the Open Source Initiative.

There are two general categories of open source licenses: permissive and restrictive. See this for a nice review of the two types. An example of a restrictive license is GPL-3 because it is strong copy-left; if you use the code in something else, the new code must also be licensed with GPL-3 and the derivative product must also be open source (so cannot be used in proprietary closed-source software). An example of permissive licenses are Apache 2.0 (commonly used by NASA for its open source software) and MIT. For these, the derivative product does not have to be open source so can be used in proprietary software. What license should you use? NOAA has not issued guidelines yet. NASA requires a permissive open source license and Apache 2.0 is commonly used for their code. Generally if you choose one of these, you should be good: 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). But other permissive open source software licenses are probably fine too.

*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
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.

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 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.
The MARSS package as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC
LICENSE version 3).

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.

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 (Read more here)
License: GPL-3 + file LICENSE

Replace “GPL-3” with the license you are using.

Example: The README for your GitHub repository

Add this to the bottom of your README file in your GitHub repository. Example: MARSS package README.

### License

The MARSS package as a whole is distributed under GPL-3 (GNU GENERAL PUBLIC
LICENSE version 3).

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.