Administrative Review

The administrative review checks that your project meets various legal, security, and administrative requirements prior to release. Conducting this review is one of the final steps before releasing code. This review may be conducted by any trusted individual.

Items in this review include:

Skip to rubric

README

The top-level of the project must contain a file named README.md (the case and file extension must match exactly). The file must be written in MarkDown format. The README should contain introductory information about the project (title, description, citation, recommended use, etc). It should also include links to additional detailed information, such as license information, documentation, installation instructions, user guide, related manuscript(s), etc.

The README should contain a section labeled “Summary” or “Purpose” or “Abstract”. This section may be as short or long as the author desires, but should contain enough information for an interested person to understand the project’s intended purpose. Essentially, this should help someone unfamiliar with the software to decide whether the software is suitable for their purposes.

The README should also contain a “Suggested Citation” section. The citation should follow the format:

Author1, A., Author2, B., Author3, C., project-slug - A one-line description (tagline) for the project, version X.Y.Z: U.S. Geological Survey software release, https://doi.org/the-doi-for-the-release

replacing the author names, project slug, tagline, version tag, and DOI with the actual values for your project.

License

The project’s license must be disclosed in a top-level file named LICENSE.md (case and extension must match exactly). The project must use an open source license. You can find resources for selecting a license here: Open Source Licenses.

Disclaimer

The project must contain the FSP provisional disclaimer in a top-level file named DISCLAIMER.md (case and extension must match exactly). The contents of this file must be exactly the following text:

Disclaimer
==========

This software is preliminary or provisional and is subject to revision. It is
being provided to meet the need for timely best science. The software has not
received final approval by the U.S. Geological Survey (USGS). No warranty,
expressed or implied, is made by the USGS or the U.S. Government as to the
functionality of the software and related material nor shall the fact of release
constitute any such warranty. The software is provided on the condition that
neither the USGS nor the U.S. Government shall be held liable for any damages
resulting from the authorized or unauthorized use of the software.

Security

The entire commit history cannot contain any security issues. If you have been following this guide, you should have completed a series of incremental security reviews, one per merge request.

If this is the case, you have already completed this step, and linking to the archived security reviews is sufficient. Otherwise, the reviewer will need to perform a security review for every new commit in the release.

Code Metadata

The project must include code metadata stored in a top-level file named code.json. Please see the code.json page for formatting instructions

Rubric

The following table provides the administrative review rubric:

Item

Pass

Fail

README

Project includes a top-level file named README.md. This file includes introductory information and links to additional detailed information.

README does not exist or does not sufficiently introduce the project.

README Format

README is written in Gitlab-flavored MarkDown.

README uses some other format.

README Summary

README contains a “Summary”, “Purpose”, or “Abstract” section explaining the project’s purpose.

README is missing a summary section.

README Citation

README has a suggested citation section, formatted in the recommended style

README is missing a citation section, or the citation is formatted incorrectly.

License

Project includes a top-level file named LICENSE.md listing the software license.

LICENSE.md does not exist or does not clearly denote licensing information.

Open Source

Uses an open source license

License is not open-source

Disclaimer

Includes a top-level file named DISCLAIMER.md holding the FSP disclaimer

Does not include disclaimer, or disclaimer uses different text.

Security

The commit history does not contain any security issues.

The commit histroy contains security issues.

Metadata

Project contains a correctly formatted code.json file at the top-level.

code.json is missing or formatted incorrectly.

Gitlab How-To

You should implement the administrative review using a Gitlab issue thread. Navigate to the main page of the upstream repository. In the navigation sidebar, click the Plan menu and select the Issues button.

Show button
An arrow points to the "Issues" button on Gitlab.

Click the New issue button. This will take you to a page for the issue. Set the title to Administrative Review and also include the release tag. The description should include the name of the reviewer.

Show Example
A page for a new issue. The title is set as "Administrative review 1.0.0". The description includes the name of the reviewer.

Next, add the Admin Review label to the issue. If you have not yet created these labels, you can do so by clicking the Create project label button in the dropdown box:

Show Example
A page for a new issue includes a "Admin Review" label.

Click the Create issue button, and direct your reviewer to the associated page. You and the reviewer should use the comment thread to document the review and reconciliation process. Once the review is reconciled, the reviewer should leave a comment explicitly stating that the repository has passed the administrative review. You may then click the Close issue button to resolve the review. This will archive the review in the closed issues for the repository.

Show Example
A domain review comment thread ends with a statement that the reviewer is satisfied with the reconciliation. An arrow points to the "Close issue" button.