usnistgov/oscal-deep-diff

Production release readiness & publication in MIDAS

Closed this issue · 0 comments

User Story:

As a NIST OSCAL team member, in order to ensure this project is well-designed, implemented, tested, and documented, I want itemized list of NIST publication requirements for publishing research software, status, and supported evidence for individual items per and other relevant guidelines.

NOTE: this issue is derived from usnistgov/metaschema-node#16

Goals:

The following NIST requirements must be met:

  • NIST S 1801.03 (supplemented by this checklist)
    • How do you expect your code/software to be used (choose 1):
      • Code is informational (e.g. part of the supplemental information in a narrative publication) and not intended for re-use
      • Code itself is intended for re-use (e.g. in a specific scientific area) or the public is being invited to contribute to it
    • Developing and Testing:
      • A testing plan was developed, followed, and documented. The testing plan is available at a specified link. (see usnistgov/OSCAL#44)
      • Continuous testing was conducted during updates and new builds.
      • Code includes appropriate IT security and privacy controls. (DNA)
    • Documenting:
      • Documentation is available as appropriate as: (choose 1)
        • Integrated with the source code
        • On separate web pages (e.g. nist.gov, pages.nist.gov)
        • In a separate publication
        • Other
      • Documentation includes, as appropriate:
        • A readme
        • Function-level documentation
        • Information about how a binary was produced
        • System requirements and prerequisites (e.g., OS version, memory, dependencies): **Available in package.json
        • Installation instructions
        • User instructions/guides
        • API Specification
        • A changelog file (included in GitHub releases)
        • Specification of maturity level (i.e. is the software still being developed,, are you expecting feedback on performance and usability, is the project completed)
        • A communication to users of your intent to provide (or not provide) support
    • License and disclaimers:
      • NIST license and disclaimers
      • External collaborators who were part of this project have been credited
      • Third-party software licenses permit modification and/or redistribution
        • Appropriate licensing is included
        • Files modified by NIST contain notice that modifications are released to the public domain as appropriate
  • Fair Principles (supplemented by this checklist)
    • Findable (Will be satisfied by MIDAS entry)
      • (Meta)data are assigned a globally unique and persistent identifier
      • Data are described with rich metadata (defined by R1 below)
      • Metadata clearly and explicitly include the identifier of the data they describe
      • (Meta)data are registered or indexed in a searchable resource
    • Accessible (satisfied by NPM)
      • (Meta)data are retrievable by their identifier using a standardised communications protocol
      • Metadata are accessible, even when the data are no longer available
    • Interoperable (satisfied by NPM)
      • (Meta)data use a formal, accessible, shared, and broadly applicable language for knowledge representation.
      • (Meta)data use vocabularies that follow FAIR principles
      • (Meta)data include qualified references to other (meta)data
    • Reusable (satisfied by NPM)
      • (Meta)data are richly described with a plurality of accurate and relevant attributes
        • (Meta)data are released with a clear and accessible data usage license
        • (Meta)data are associated with detailed provenance
        • (Meta)data meet domain-relevant community standards