Skip to content

Instantly share code, notes, and snippets.

@theresaanna
Last active September 27, 2016 17:15
Show Gist options
  • Save theresaanna/93111f733a5d2e94eb6d9fbacb48b114 to your computer and use it in GitHub Desktop.
Save theresaanna/93111f733a5d2e94eb6d9fbacb48b114 to your computer and use it in GitHub Desktop.
Schema Specification
<h1>Software Inventory Schema v1.0 Specification</h1>
<h2>File location and contents</h2>
<ul>
<li><code>code.json</code> must live in the root directory of your agency's website.</li>
<li><code>code.json</code> must include a single object represented as JSON, with key-value pairs according to the list below.</li>
</ul>
<h2>Fields</h2>
<h3>Required</h3>
<ul>
<li><code>agency</code>: [string] The agency acronym
<li><code>project</code>: [object] Contains objects representing each software project
<ul>
<li><code>name</code>: [string] The project name</li>
<li><code>description</code>: [string] A description of the project</li>
<li><code>license</code>: [<code>null</code> or string] The URL of the project license, if available. <code>null</code> should be used if not.</li>
<li><code>openSourceProject</code>: [integer] A value indicating whether or not the project is open source.</li>
<ul>
<li><code>0</code>: The project is not open source.
<li><code>1</code>: The project is open source.
</ul>
</li>
<li><code>governmentWideReuseProject</code>: [integer] A value indicating whether or not the project is built for government-wide reuse.
<ul>
<li><code>0</code>: The project is not built for government-wide reuse.
<li><code>1</code>: The project is built for government-wide reuse.
</ul>
</li>
<li><code>tags</code>: [array] A list of string alphanumeric keywords that identify the project.</li>
<li><code>contact</code>: [object] Information about contacting the project.
<ul>
<li><code>email</code>: [string] An email address to contact the project.</li>
</ul>
</li>
</ul>
</li>
</ul>
<h3>Optional</h3>
<ul>
<li><code>project</code>: [object] Contains objects representing each software project
<ul>
<li><code>status</code>: [string] The development status of the project
<ul>
<li><code>"Ideation"</code> - brainstorming phase.
<li><code>"Alpha"</code> - initial prototyping phase and internal testing.
<li><code>"Beta"</code> - a project is being tested in public.
<li><code>"Production"</code> - finished project, with development and maintenance ongoing.
<li><code>"Archival"</code> - finished project, but no longer actively maintained.
</ul>
</li>
<li><code>vcs</code>: [string] A lowercase string with the name of the Version Control System in use on the project.</li>
<li><code>repository</code>: [string] The URL of the public project repository</li>
<li><code>homepage</code>: [string] The URL of the public project homepage</li>
<li><code>downloadURL</code>: [string] The URL where a distribution of the project can be found.</li>
<li><code>languages</code>: [array] A list of strings with the names of the programming languages in use on the project.</li>
<li><code>contact</code>: [object] Information about contacting the project.
<ul>
<li><code>name</code>: [string] The name of a contact or department for the project.</li>
<li><code>url</code>: [string] A URL for contacting or getting information about the project.</li>
<li><code>phone</code>: [string] The phone number to contact a project.</li>
</ul>
</li>
<li><code>partners</code>: [array] A list of strings containing the acronyms of agencies partnering on the project.</li>
<li><code>exemption</code>: [integer] The exemption that excuses the project from government-wide reuse.
<ul>
<li><code>1</code>: The sharing of the source code is restricted by law or regulation, including&mdash;but not limited to&mdash;patent or intellectual property law, the Export Asset Regulations, the International Traffic in Arms Regulation, and the Federal laws and regulations governing classified information.</li>
<li><code>2</code>: The sharing of the source code would create an identifiable risk to the detriment of national security, confidentiality of Government information, or individual privacy.</li>
<li><code>3</code>: The sharing of the source code would create an identifiable risk to the stability, security, or integrity of the agency's systems or personnel.</li>
<li><code>4</code>: The sharing of the source code would create an identifiable risk to agency mission, programs, or operations.</li>
<li><code>5</code>: The CIO believes it is in the national interest to exempt sharing the source code.</li>
</ul>
</li>
<li><code>updated</code>: [object] Dates that the project and metadata have been updated.
<ul>
<li><code>metadataLastUpdated</code>: [string] A date in YYYY-MM-DD or ISO 8601 format indicating when the metadata in this file was last updated.</li>
<li><code>lastCommit</code>: [string] A date in ISO 8601 format indicating when the last commit to the project repository was.</li>
<li><code>lastModified</code>: [string] A date in ISO 8601 format that can be either the last commit if repo is open source or, if repo is closed/exempted, the date that the source code was last modified.</li>
</ul>
</li>
</ul>
</li>
</ul>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment