Software Management

Additional Guidance on Review and Approval of Scientific Software

USGS Software Release Policy

USGS Software Release Policy

Based on the Federal Source Code Policy, USGS Instructional Memo OSQI-2019-01 outlines the policy requirements to develop, approve and distribute USGS software.

Read IM OSQI 2019-01

USGS Software Release FAQ

USGS Software Release FAQ

Extended Policy Guidance and frequently asked questions (FAQs) for USGS Software Releases

Read FAQs

This page contains additional best practices related only to Scientific Software; authors of Scientific Software should refer to all of the content contained on this website in addition to the information below as a guide.

Scientific software is a discrete package of computer code and documentation that contains source code implementing scientific algorithms and/or producing scientific data. A scientific software product may also be integral to or part of another USGS scientific information product or series publication (for example a USGS data release, an Open-File Report or Techniques and Methods series product), or an outside publication such as a journal article (Refer to Software IM). For more information on USGS Data Release policies and best practices, refer to the USGS Data Management Website.

For support and questions about how to use Git to meet the requirements for Scientific Software, contact GS Help Git (gs_help_git@usgs.gov)

In addition to the Metadata, Licenses, and Disclaimer requirements (Refer to Distribute), Scientific Software is also required to have the following:

Review

Scientific Software requires all reviews: Security, Code, and Subject-Matter Expert Review.

IPDS Record

To obtain approval, Scientific Software must be approved at the Science Center level using the USGS Information Product Data System (IPDS). For product type select “Software Release”.

  • Not applicable to Provisional Software

Center Director Approval

All Scientific Software needs formal Center Director approval documented in IPDS. Peer reviews must be completed in IPDS prior to submission to Center Directors. Provisional or preliminary software is subject to revision and often released prior to formal approval as a USGS scientific information product in order to support collaborative software development with colleagues and partners from outside entities, however it must still be approved by a Science Center Director before any type of public release occurs.

Digital Object Identifiers

Software releases from the USGS must be assigned a digital object identifier (DOI) in the 10.5066 prefix once approved for release. DOIs must be obtained through the USGS Digital Object Identifier (DOI) Creation Tool. While many fields in the DOI Creation Tool reference data only, the context is interchangeable with software. Refer to the guides below.

  • Not applicable to Provisional Software

Create a new DOI record. Complete the following fields:

  1. Title - Title of the Scientific Software product for release.

  2. USGS Data Source - The USGS science center or program responsible for managing the Scientific Software.

  3. Release through ScienceBase - Select “No”. The authoritative (reference) version for all Scientific Software must be maintained in a repository on the USGS OpenSource GitLab.

Required Information Screen. Complete the following fields:

  • Publication Year - Calendar year that USGS released the Scientific Software product.

  • Creator(s) / Author(s) - All authors/ code contributors to the Scientific Software product.

  • Location URL - Web address for the source code repository of the Scientific Software product on the USGS OpenSource GitLab.

  • IPDS Number(s) - Scientific Software products must be tracked in IPDS, provide the IPDS number.

  • Resource Type - Software release products must be assigned a meaningful resource type in the DOI metadata such as software, model, workflow, or another appropriate term. Refer to image below.

Disclaimers

Add the appropriate approved or preliminary software disclaimer text from the USGS FSP website.

Distribute Software with Git

Follow the steps below to indicate that your code has been approved or is provisional.