Work in progress. We welcome questions and suggestions — give us feedback.

Enabling Reuse of Federal Source Code

Streamlining compliance and reducing burden of creating and maintaining software repository metadata through automation, open standards, and open source.

What is the SHARE IT Act?

"This bill requires federal agencies to ensure that custom-developed code (i.e., source code that is produced under an agency contract, funded exclusively by the federal government, or developed by federal employees as part of their official duties) and certain technical components of the code such as architecture designs and metadata are

(1) owned by the agency,
(2) stored at no less than one public or private repository, and
(3) accessible to federal employees under certain procedures. Agency contracts for custom-development of software must acquire and exercise rights sufficient to allow government-wide access, sharing, use, and modification of any custom-developed code.

The bill does not apply to source code that is classified, developed primarily for use in a national security system, or developed by an element of the intelligence community. An agency's office of the chief information officer may exempt source code from being shared or made publicly accessible to protect individual privacy." Bill Summary



This website provides the following to help users become SHARE IT Act ready.

Documentation

Guides and references for all things SHARE IT Act.

FAQ

Common questions about the SHARE IT Act, code.json, and federal open source projects.

View FAQ

Schemas

Complete reference of all metadata fields, their descriptions, and requirements for code.json.

View Reference

Implementation

Step-by-step procedures for creating, updating, and maintaining code.json files in your repositories.

View Guide

Metadata

Real world example of compliant code.json file in a federal repository.

View Examples

Legislation

Link to full text Public Law PDF of the SHARE IT Act.

View Text

Tools

Utilities and tools to help generate, validate, and manage, and visualize repository metadata.

Code.json Generator Form interface
Webform

Web Form Generator

A step-by-step interactive web form for creating, generating, and downloading a valid code.json file.

Interactive Browser
Open Tool
Code.json Index Generator interface
CLI

Index Generator

Python-based CLI tool that scans GitHub repositories for code.json files, and generates an index file for agency-wide reporting.

Python Aggregation
View on GitHub
Automated Generator interface
GitHub Action

Automated Generator

GitHub Action that automatically generates and updates code.json files. It can computes labor hours, detect languages, and maintain accurate metadata.

Automation CI/CD
View on GitHub
Repository Scaffolder interface
CLI

Repository Scaffolder

Template generator for creating new repositories with all the necessary documentation and code.json files pre-configured according to standards.

Cookiecutter Templates
View on GitHub
Metrics interface
Website

Metrics

Website to view statistics and data visualizations about open source projects at the repository or organization level.

Browser Data Visualizations
Open Tool
Repolinter interface
Github Action

Repolinter Actions

A Github Action that pre-populates documentation based repository maturity.

Automation CI/CD
View on GitHub

Ready to be Compliant?

By taking our short quiz, we can help guide you through the process.

Take the Quiz
Looking for U.S. government information and services?
Visit USA.gov