Help


Do I need an account to submit or announce software to DOE CODE?

Yes, an account is needed to submit or announce scientific and business software to DOE CODE. Users meeting minimum criteria can directly create a DOE CODE account. Your first and last name, government email address or valid contract number, and a password are required. From the top right of any DOE CODE page, you may register for an account by clicking Create Account  (or Sign In if you already have an account).


How is Software Submitted?

Individual software records are directly submitted by the developer or the developing organization.

DOE CODE offers two paths for users to provide code. Users can (1) submit code to DOE CODE, and (2) announce code to the Department of Energy for official review and release through DOE CODE.  Submitting software offers increased discoverability and the option to obtain a Digital Object Identifier (DOI) for the code, while Announcing software ensures announcement and dissemination in accordance with DOE statutory responsibilities. See the FAQs on submitting scientific and business software or announcing scientific and business software to DOE CODE for more details. Additionally, see "How do I announce software with an access limitation, such as Controlled Unclassified Information (CUI), to OSTI?" for more details on announcing limited software.


Repository Information

Project Type - Select the appropriate Project Type.

Open Source - Software where the source code is distributed under a licensing agreement which grants all the rights to use, change, and share the software in a modified or unmodified form. Visit the Open Source Initiative for more information and related definitions.

Closed Source - Proprietary software distributed under a licensing agreement to authorized users with private modification, copying, and republishing restrictions. The source code is not shared with the public for anyone to view or change. This includes limited availability software.
Project Type

Open Source, Publicly Available Repository -  Software can be freely accessed, used, changed, and shared (in modified or unmodified form) by anyone in a public repository, and distributed under licenses that comply with the Open Source Definition. Visit the Open Source Initiative for more information and related definitions. A Repository URL where the source code is available is required for submitting Open Source, Publicly Available Repository code.
Open Source, Publicly Available Repository

Open Source, No Publicly Available Repository -  Code is Open Source, but is not yet available in a public repository. Interested users can contact the developer(s) or responsible parties for information regarding access and reuse. A landing page URL is required for submitting Open Source, No Publicly Available Repository code; the URL should provide additional information on how to obtain access to the code.
Open Source, No Publicly Available Repository

Closed Source -  Software that is not Open Source and for which access must be granted by contacting a licensing official. Software is often Closed Source because it is proprietary or has otherwise been deemed appropriate for limited distribution only. A landing page URL, providing additional information about the code, or a valid contact email is required when submitting Closed Source code.
Closed Source Landing Page
Closed Source No Landing Page

Repository URL - If you select Open Source, Publicly Available you must provide a unique URL which leads to the actual code repository. Please ensure you are providing the direct URL to the actual repository. As an example, the direct Repository URL for DOE CODE is https://www.github.com/doecode/doecode whereas the project landing page is https://www.github.com/doecode. You may also submit a tagged release of code as an individual record by providing the URL specific to that release in GitHub. As an example, the tagged release URL https://github.com/doecode/server/releases/tag/v2.0.1 can be submitted as a valid Repository URL to DOE CODE.

Note:  Currently only Git and SVN-based repositories are supported. Most repositories hosted at GitHub, Bitbucket, SourceForge, and GitLab support Git and SVN-based repositories.

Repository URL

Landing Page - If you select Open Source, No Publicly Available Repository OR Closed Source, you must provide a unique URL which leads to the landing page of the software. The landing page should provide information regarding how to access the source code, point of contact, and licensing information. If you do not have a landing page for a Closed Source project, you may provide a valid contact email address instead. If providing a contact email address, we recommend using a general software group email for your site.

Landing Page

Autopopulate from Repository -  If a valid Repository URL is provided, this function will attempt to automatically populate metadata fields based on information provided in the repository. DOE CODE also provides functionality to allow users to auto-populate metadata by placing a specifically formatted YAML file in their repository's root main directory. The file must be named "metadata.yml" or "doecode.yml" and the file must be formatted correctly. For detailed information and an example file please see: https://github.com/doecode/doecode/tree/master/metadata-schema.

Autopopulate from Repository

Product Description

Software Title -  The title of the software.

Description/Abstract -  Provide a clear, concise, and publicly releasable description of the software, including the purpose, function, and capabilities. Text should be spell-checked, limited to 2,000 characters, and follow input standards for special characters. DO NOT INCLUDE SENSITIVE INFORMATION IN THE DESCRIPTION/ABSTRACT.

Licenses -  License field information is dependent on whether an Open Source or Closed Source project is being provided.

Open Source -  Select the appropriate license from the drop-down menu of available options. Descriptions of licenses are available here.

Open Source License


Closed Source -  Closed Source software provided to DOE CODE requires current contact information on how to obtain the source code. The best practice is to use a distribution list email address with multiple recipients instead of a personal email address. This will accommodate staff changes that may occur so there will always be a valid contact available.

If the Closed Source software project does have a license, the URL provided to the landing page should have updated contact information. If the landing page does not have updated contact information, a contact email address will be required.

Closed Source License

If the Closed Source software does not have a license, a contact email will be required.

Closed Source No License
The Announcing Software to DOE CODE flowchart provides licensing requirements in a visual format.

Digital Object Identifier (DOI) -  A unique persistent identifier that references a digital object and provides long-term access. DOIs remain stable even if the underlying address or URL for the content changes. If a DOI has not yet been registered for unlimited distribution software, OSTI will register a persistent identifier, in the form of a DOI, for the software upon announcement. For the announcement of software with an access limitation other than Unlimited (UNL), OSTI will not assign a DOI.

DOI

Reserve DOI (For Unlimited Software only) -  If a DOI has not yet been registered for the software, use Reserve DOI so that OSTI will assign a persistent identifier before you submit. Please note, your reserved DOI will not be registered with DataCite until a Release Date is provided.

DOI Infix -  A DOI contains 3 components: the prefix, which is assigned by the registration agency, begins with 10.xxx; the infix, which can contain intelligence, such as the name of the journal, repository or project; and the suffix, which is assigned by the allocation agency. Example: 10.00000/OSTIDOE CODE/170000

Release Date -  Select or enter the software release date.

Access Limitation - Access limitation field information will depend upon whether an Open Source project or Closed Source project is being provided. See "What is an access limitation?" for more details or refer to the list of access limitations and their definitions below.

Open Source - projects provided as Open Source are assigned Unlimited (UNL) as the default.

Closed Source - an access limitation must be selected for a project announced in DOE CODE as Closed Source. The list of access limitations and their definitions are below. Prior to announcing software to DOE CODE, it must undergo all appropriate reviews for sensitivity and export control by the originating site and be deemed secure. If you are unsure of the software sensitivity, please work with your site's software point of contact.

The Announcing Software to DOE CODE flowchart provides access limitation information requirements in a visual format.

Access Limitations
Access Limitation Definition Additional Required Fields Additional Optional Fields
UNL - Unlimited Unclassified information that is publicly releasable. None None
OUO - Official Use Only Information designated as Official Use Only is unclassified information that may be exempt from public release under the Freedom of Information Act.
  1. OUO Exemption Number
None
OUO; ECI - Official Use Only; Export Controlled Information This is information containing technical data as defined in and controlled by U.S. export control statutes. Information designated as ECI is given controlled distribution to prevent unauthorized release to foreign countries, organizations, or individuals.
  1. OUO Exemption Number
None
OUO; SSI - Official Use Only; Security Sensitive Information Unclassified information of a sensitive nature, that if publicly disclosed could be expected to have a harmful impact on the security of Federal operations or assets, the public health or safety of the citizens of the United States or its residents, or the nation's long-term economic prosperity; and which describes, discusses, or reflects: 1) the ability of any element of the critical infrastructure of the United States to resist intrusion, interference, compromise, theft, or incapacitation by either physical or computer-based attack or other similar conduct that violates Federal, State, or local law; harms interstate, international commerce of the United States; or, threatens public health or safety; 2) any currently viable assessment, projection, or estimate of the security vulnerability of any element of the critical infrastructure of the United States, specifically including, but not limited to vulnerability assessment, security testing, risk evaluation, risk-management planning, or risk audit; and 3) any currently applicable operational problem or solution regarding the security of any element of the critical infrastructure of the United States, specifically including but not limited to the repair, recovery, redesign, reconstruction, relocation, insurance, and continuity of operations of any element.
  1. OUO Exemption Number
None
OUO; PROT - Official Use Only; Protected Data CRADA/EPACT/OTHER Information produced in the performance of a CRADA (e.g. Energy Policy Act (EPAct)) that is marked as being Protected CRADA Information by a party to the agreement and that would have been proprietary information had it been obtained from a non-Federal entity. It may be protected for a period up to 5 years from the date it was produced, except as expressly provided for in the CRADA.
  1. Release Date
  2. CRADA, EPACT, or OTHER selection
  3. OUO Exemption Number
None
OUO; PAT - Official Use Only; Patent Pending A phrase that often appears on manufactured items, meaning that someone has applied for a patent on an invention that is contained in the manufactured items. Serves as a warning that a patent may issue that would cover the item and that copiers should be careful because they might infringe if the patent issues.
  1. OUO Exemption Number
None
OUO; LRD - Official Use Only; Limited Rights Data (Proprietary/Trade Secret) Data, other than computer software, that embody trade secrets or are commercial or financial and confidential or privileged, to the extent that such data pertain to items, components, or processes developed at private expense, including minor modifications.
  1. OUO Exemption Number
None
OUO; PDOUO – Official Use Only; Program-Determined Official Use Only This type of Official Use Only information is based on approved guidance as reflected in DOE O 471.3 Chg 1 (Admin Chg) Identifying and Protecting Official Use Only Information. CG-SS-4, Classification and UCNI Guide for Safeguards and Security Information, dated 1/13/2011, and other classification guides provide one type of program-determined guidance for marking and protecting Official Use Only information.
  1. OUO Exemption Number
  1. Specify DOE Headquarters Program Office and reason for protection

Programming Languages -  The specific language or languages in which the code being provided was written.

Version Number -  The given version number for the code being provided. Note: If a tagged release URL is provided in the Repository URL field, the Version Number field will autopopulate with the tagged release number, but can still be edited.

Documentation URL -  A unique URL which leads to documentation regarding the software.

Documentation URL


Developers

Developers -  A person concerned with facets of the software development process, including the research, design, programming, and testing of computer software. When there are multiple developers, the primary software developer should be listed first, then add additional developers. "NONE" is an option when necessary.

Developer

Developer Modal


Supplemental Product Information


Supplemental Product Information

Short Title or Acronym -  Abbreviated title or acronym for the software.

Country of Origin -  Identify the country of origin for the software. This field defaults to United States.

Keywords -  A list of words or phrases that describe the software. Keywords aid in the online search and discovery of information about the software. More than one keyword may be entered. Separate terms with a semicolon.

Other Special Requirements -  Information regarding hardware or software requirements.

Site Accession Number -  The accession or other identifying numbers assigned by the submitting site, university, or repository's database, records, etc.

Upload Container Image -  Upload the container image file that encapsulates a runtime environment for the source code. Supported file types include (Docker, Singularity): .tar, .simg.

Upload Container Image

Upload Source Code -  If you are announcing Open Source, No Publicly Available Repository or Closed Source code (including code with an access limitation) through DOE CODE, you will also be required to upload an archive file containing your source code. This will be used for archiving and preservation purposes. Supported file types include: .zip, .tar, .tgz, .tar.gz, and .tar.gz2. The Announcing Software to DOE CODE flowchart provides upload requirements in a visual format.

Upload Source Code


Organizations

Sponsoring Organizations -  The sponsoring or funding office(s) of the software product.

Sponsoring Organization

Sponsoring Organization Modal

  • DOE Organization -  Check this box if the Sponsoring Organization you are entering is an organization within the Department of Energy.
  • Name -  The name of the sponsoring or funding organization. If the sponsoring or funding organization is from the Department of Energy, please choose from the list of DOE organizations. Other sponsoring organization names will be free-form.
  • Primary Award/Contract Award -  DOE award/contract number that is largely responsible for funding the project. At least one valid entry is required for submittal of business software and announcing of scientific software. The Primary Award/Contract format should be either (1) two alphabetic characters and seven digits (for DOE awards granted since 2007), or (2) two alphabetic characters, two numeric characters, a dash, two-digit year, two alphabetic characters, and a five digit number (for awards granted prior to 2007).

    Examples: SC0001234; EE0005432; NT0009876; or FG02-03ER83715; FG52-06NA27489; FC07-99ID55444; and AC02-96CH12345.
  • Additional Awards -  Other award/contract numbers that represent funding contributed to the project, including other DOE awards or awards from other government agencies, foundations, etc.
  • B&R Codes -  A Budget and Reporting (B&R) code is given to a project by the Department of Energy. The structure of a B&R code parallels approved DOE PPAs (Program, Project or Activities). The code is used for executing the budget; reporting actual obligations, costs, and revenues; and controlling and measuring actual versus budgeted performance.
  • FWP Numbers -  Field Work Proposal number. A number given to a proposal from a DOE laboratory by the Department of Energy.

Research Organizations -  The research organization, such as a DOE national laboratory or university, which had primary responsibility for developing the software.

Research Organization

Research Organization Modal


  • DOE Organization -  Check the box if the research organization is associated with the Department of Energy.
  • Name -  The name of the research organization. If the research organization is within the Department of Energy, please select from the list of DOE organizations. Other research organization names will be free-form.


Contributors and Contributing Organizations

Contributors -  The name of the person(s) or institution(s) that has contributed to the software (code, documentation, tests, ideas, project guidance, etc.), but is not listed as a developer. This can include the person(s) or institution(s) responsible for collecting, managing, distributing, or otherwise contributing to the development of the software.

Contributor

Contributor Modal

  • Contributor Type -  When adding a contributor, use Contributor Type to define the role of the contributor. A drop-down menu is provided. For definitions of each contributor type, please see the DataCite Metadata Schema.

Contributing Organization(s) -  Other organizations which provided support to the project. May be entered in place of naming individual software developers.

Contributing Organization

Contributing Organization Modal


  • Contributor Type -  When adding a contributor, use Contributor Type to define the role of the contributor. A drop-down menu is provided. For definitions of each contributor type, please see the DataCite Metadata Schema.


Identifiers

DOIs or URLs that reference other documents, datasets, or software that relate to the submitted or announced software identifiers of related resources. Referencing identifiers that relate to the software provided allows users to follow these vital links and better understand the scope of the research.

Related Identifiers

Related Identifiers Modal
  • Identifier Type -  Select the identifier type from the drop-down menu, either DOI or URL.
  • Relation Type -  Select from the drop-down field the relationship of the resource being registered and the related resource. The Relation Type field also allows you to define how the provided software is related to the DOI entered and the document you are submitting. For definitions of each relation type controlled vocabulary see the DataCite list.
  • Identifier(s) -  Provide the Digital Object Identifier (DOI) or URL for the related item(s). If you are entering a DOI, please do not include the protocol or any domain information before the prefix, e.g., only enter 10.11578/dc.XXXXX and not https://doi.org/10.11578/dc.20171031.3XXXXX.

Awards

An Award Digital Object Identifier (DOI) is assigned to awards, contracts, equipment, facilities, grants, prizes, salary awards, time awarded, and training grants. If the software/code was produced under multiple awards given by multiple organizations, multiple Award DOIs may be entered.

Note:  Award DOIs are different than DOIs assigned to the software/code being submitted to DOE CODE and contract/grant/award numbers. DO NOT enter these here. Review the Award DOI Service FAQs for additional information about Award DOIs.

Award DOIs
  • Award DOI -  The Award Digital Object Identifier (DOI) under which the work or time was provided. DOIs follow the format: 10.XXXX/XXXXX.
  • Funder Name -  The name of the awarding/funding organization.

Contact Information

Contact Information -  Provide the name, email address, phone number, and organization of the submitter; this will serve as the point of contact for DOE if there are questions about the software provided. Contact information will not be shared in public output products. The best practice is to use a distribution list email address with multiple recipients instead of a personal email address. This will accommodate for any staff changes that may occur so there will always be a valid contact available. Select "Autopopulate from Account" to use the information associated with your DOE CODE account.

Contact Information


Save Your Progress

At any point, you can Save Your Progress and return to DOE CODE later to complete the software record.


Manage My Projects

The "Manage My Projects" page allows users to view the status and availability of each project submitted or announced to DOE CODE.

Manage My Projects Page

Status

The record Status indicates the state of the submission after it enters and completes the workflow. Statuses include:

PENDING APPROVAL Submission - The record has been submitted to DOE CODE and is moving through the metadata quality control process. The Status will be updated to Approved Submission once the process is completed.

PENDING APPROVAL Announcement - The record has been announced to DOE CODE and is moving through the metadata quality control/release process and DOI assignment, if the record is unlimited. The Status will be updated to Approved Announcement once the process is completed.

APPROVED Submission - The record has been approved for Submission and is available for record update and discovery in DOE CODE.

APPROVED Announcement - The record has been approved for Announcement and is available for update in DOE CODE. It is now discoverable in DOE CODE and, depending on access limitation, OSTI.GOV and Science Research Connection (SRC).

SAVED - The record has entered the workflow, but not all metadata submission has been completed. The filled out metadata is saved until submission or announcement.

Availability

The record Availability refers to where the software record is made available for search and discovery.

Availability includes:

Submitted to DOE CODE - The unlimited record was submitted for initial submission and optional DOI registration, and is available for record update and discovery in DOE CODE.

Announced to DOE CODE and OSTI.GOV - The unlimited record was announced with DOI assignment for official software announcement. The record can be updated in DOE CODE and is discoverable in DOE CODE and OSTI.GOV.

Announced to SRC - The limited record was announced for official software announcement. The record can be updated in DOE CODE and is discoverable in Science Research Connection (SRC).

Make Version

New or Previous Versions of Software - DOE CODE offers the option to create a DOE CODE record that is a newer or previous version of any DOE CODE record already submitted or announced. Selecting either of the Make Version buttons, "New" or "Prev," associated with a record will take you to the entry form with most of the metadata fields already populated based on metadata from the associated record. You can also use this option to submit a tagged release of your code by entering the specific URL to the tagged release in GitHub (ex. https://github.com/doecode/server/releases/tag/v2.0.1). The Version Number field will autopopulate with the tagged release number, but can still be edited if desired.

Once you have submitted or announced your "New" or "Prev" record, DOE CODE will automatically add metadata to all newer/previous records to reflect the appropriate relationship using the related Identifier fields.