Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ We encourage you to read this project's CONTRIBUTING policy (you are here), its

If you would like to comment and provide feedback on the metadata standard, please let us know by filing an **issue on our GitHub repository.**

We are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).
We encourage agencies to contribute by submitting a pull request to [include their extended schema in the repository](../schemas). This helps foster collaboration and ensures shared improvements benefit the wider community.

For CMS, we are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).

### Team Specific Guidelines

Expand Down Expand Up @@ -52,7 +54,7 @@ N/A

If you would like to comment on the metadata standard, please let us know by filing an **issue on our GitHub repository.**

We are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).
For CMS, we are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).

### Writing Pull Requests

Expand Down Expand Up @@ -102,7 +104,7 @@ Pull requests will be reviewed by the CMS Open Source Program Office team as det

## Documentation

Refer to [/docs](./docs/) for information about CMS code.json metadata standard.
Refer to [/docs](./docs/) for information about code.json metadata standard.

## Policies

Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# gov-codejson

CMS code.json: An agency-wide metadata standard for software projects
code.json: An agency-wide metadata standard for software projects

## About the Project

This repository contains documentation on CMS code.json, a metadata standard used to collect information on the agency's software projects in compliance with [M-16-21](https://obamawhitehouse.archives.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf) and the [SHARE IT Act](https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih).
This repository contains documentation on code.json, a metadata standard used to collect information on the agency's software projects in compliance with [M-16-21](https://obamawhitehouse.archives.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf) and the [SHARE IT Act](https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih).

- [metadata.md](./docs/metadata.md): Overview on CMS code.json metadata standard
- [schemas](./schemas): code.json schema
- [metadata.md](./docs/metadata.md): Overview on code.json metadata standard
- [schemas](./schemas): code.json generic schema and agency-level schemas
- [procedures.md](./docs/procedures.md): Procedures and tools on creating and updating metadata
- [examples.md](./docs/metadata_examples.md): Good examples of metadata in current agency code.json files
- [examples.md](./docs/examples.md): Good examples of metadata in current agency code.json files
- [faq.md](./docs/faq.md): Frequently Asked Questions

### Project Vision
Expand Down Expand Up @@ -112,7 +112,7 @@ Information about how the gov-codejson community is governed may be found in [GO

If you would like to comment on the metadata standard, please let us know by filing an **issue on our GitHub repository.**

We are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).
We are open to adding more CMS fields to code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).

If you have ideas for how we can improve or add to our capacity building efforts and methods for welcoming people into our community, please let us know at opensource@cms.hhs.gov.

Expand Down
4 changes: 2 additions & 2 deletions code.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "gov-codejson",
"description": "CMS code.json: An agency-wide metadata standard for software projects",
"longDescription": "This repository contains documentation on CMS code.json, a metadata standard used to collect information on the agency's software projects in compliance with M-16-21 and the SHARE IT Act.",
"description": "code.json: An agency-wide metadata standard for software projects",
"longDescription": "This repository contains documentation on code.json, a metadata standard used to collect information on the agency's software projects in compliance with M-16-21 and the SHARE IT Act.",
"status": "Production",
"permissions": {
"license": [
Expand Down
51 changes: 47 additions & 4 deletions docs/faq.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,63 @@
# Frequently Asked Questions (FAQ)
# Frequently Asked Questions (FAQs)

## Policies

### What is the Federal Source Code Policy / M-16-21?

### 1. What is the Federal Source Code Policy / M-16-21?
The Federal Source Code Policy (M-16-21) is a policy issued by the U.S. government that aims to improve software reuse and collaboration across federal agencies. It requires agencies to:

- Create an inventory of their custom developed code.
- Share code within and across agencies to reduce duplication and costs.
- Maintain metadata records of their software assets for transparency and tracking.

### 2. What is the SHARE IT Act of 2024?
### What is the SHARE IT Act of 2024?

The SHARE IT Act of 2024 is legislation designed to enhance transparency, collaboration, and efficiency in government software development. It mandates:

- Greater adoption of open source software in federal agencies.
- Improved sharing of government software projects with the public.
- Standardized reporting on software development and licensing practices.
- Establishment of metadata guidelines to ensure clear documentation and discoverability of software assets.

### 3. What is code.json?
### Does the SHARE IT Act also apply retroactively to previous custom-developed code?

No. The SHARE IT Act applies only to custom-developed code created on or after July 21, 2025. Code developed prior to this date is not subject to its requirements, however, code created after August 8, 2016 is subject to the Federal Source Code Policy.

### Are there any source code exemptions under the SHARE IT Act?

There are [4 exemptions](https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih#HB45699B7E8734166BE2F6DA2A80F7909):

1. Source code developed primarily for use in a national security system
2. Source code developed by an agency, or part of an agency, that is an element of the intelligence community
3. Source code that falls under the Freedom of Information Act
4. Source code identified by the agency’s CIO

### Does SHARE IT Act apply to data analysis code?

Yes. All custom-developed code—whether it involves software applications, data analysis, infrastructure/devops, interoperability, or internal tools/scripts—must reside in a repository, unless it qualifies for one of the [four exemptions](https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih#HB45699B7E8734166BE2F6DA2A80F7909).

## code.json Metadata Standard

### What is code.json?

`code.json` is a metadata file used by U.S. federal agencies to document and share their software projects. It provides:

- A standardized format for describing open source and custom developed software.
- Key details such as the project's name, description, license, repository URL, and labor hours.
- Integration with government wide platforms to facilitate code sharing and reuse.

### Why is code.json important?

By collecting metadata on every software project, this allows the agency to build a comprehensive inventory of agency software, enabling strategic decisions about cost reduction and efficiencies through reuse of code.

### Is code.json mandatory for all repositories?

Yes. As per M-16-21 and the SHARE IT Act, agencies are required to publish metadata on all custom-developed code after August 8th 2016, which is not subject to exemptions (see: Sec 6 of [M-16-21](https://obamawhitehouse.archives.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf) and <a target="_blank" href="https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih#HB45699B7E8734166BE2F6DA2A80F7909">SHARE IT ACT exemptions</a>)
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. As per M-16-21, agencies are required to publish metadata on all custom-developed code after August 8th 2016, which is not subject to exemptions (see: Sec 6 of M-16-21 and

As per the SHARE IT Act, agencies are required to publish metadata on all custom-developed code after July 22, 2025, , which is not subject to exemptions SHARE IT ACT exemptions)

(point to landing page, right to legislation https://www.congress.gov/118/plaws/publ187/PLAW-118publ187.pdf)


### I have feedback on additions and improvements to the code.json metadata standard. Where can I share this?

For CMS, we are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).

### My agency extended the code.json schema to add more metadata fields. Where can I share this?

We encourage agencies to contribute by submitting a pull request to [include their extended schema in the repository](../schemas). This helps foster collaboration and ensures shared improvements benefit the wider community.
15 changes: 12 additions & 3 deletions docs/metadata.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,23 @@
# Code.json

CMS `code.json` is a metadata standard created to collect information on the agency's software projects. This is composed of:
`code.json` is a metadata standard created to collect information on the agency's software projects. This is composed of:

- federal code.json standard, created as part of [M-16-21](https://obamawhitehouse.archives.gov/sites/default/files/omb/memoranda/2016/m_16_21.pdf)
- metadata CMS would like to collect (e.g. FISMA level, repository host, group)
- required metadata outlined in the [SHARE IT ACT](https://www.congress.gov/bill/118th-congress/house-bill/9566/text/ih) (e.g. repository visibility, contract number)
- publiccode.yml metadata, an international metadata standard

By harmonizing various standards, this opens up the opportunity to share our work not just on an agency level but also on a national and international level.

The generic code.json schema can be found in the [`schemas` directory](../schemas/schema.1.0.0.json).

### Extending the schema for agency use

The generic schema is designed to be extensible, allowing agencies to add metadata fields that are relevant to their specific needs.

For example, CMS has their [own schema](../schemas/cms/) that includes new fields such as FISMA level, subset in healthcare, and systems.

We encourage agencies to contribute by submitting a pull request to [include their extended schema in the repository](../schemas). This helps foster collaboration and ensures shared improvements benefit the wider community.

### Fields

**Legend**
Expand Down Expand Up @@ -433,4 +442,4 @@ By harmonizing various standards, this opens up the opportunity to share our wor

### Adding new metadata fields

We are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).
For CMS, we are open to adding more fields to CMS code.json for any metadata the agency sees value in collecting. Request new metadata fields by filing a metadata field addition issue [here](https://github.com/DSACMS/gov-codejson/issues/new?template=metadata-field-addition.md).
File renamed without changes.
File renamed without changes.
Loading