For full Software Citation Principles see:
Smith AM, Katz DS, Niemeyer KE, FORCE11 Software Citation Working Group. (2016) Software citation principles. PeerJ Computer Science 2:e86 https://doi.org/10.7717/peerj-cs.86
Unique identifier – recommend a DOI
with identifierType ‘DOI’
For software a decision may need to be made about whether the ID is for a specific version of a piece of software (recommended by Force11 Software Citation Principles), for a piece of software i.e. all versions or for the latest version.
May be the title of a dataset or the name of a piece of software.
May include those responsible for software creation.
For software, if there is an alternate entity that “holds, archives, publishes, prints, distributes, releases, issues, or produces the code, use the contributorType “HostingInstitution” for the code repository.
See Definition in contributorType Appendix: Distributor: Includes distribution of software.
See Example for HostingInstitution: Includes software or run code repositories.
See Version example: Software engineering practice follows this approach of tracking changes and giving new version numbers.
In the case of resources such as software where there may be multiple releases in one year, other DataCite metadata or information such as the landing page should enable users to identify the newest one.
Publisher or Contributor/contributorType ‘HostingInstitution’
For software, use Publisher for Code Repository, following the data model. If there is an alternate entity that "holds, archives, publishes, prints, distributes, releases, issues, or produces" the code, use the contributorType "hostingInstitution" for the code repository."
(and links between software versions)
RelationTypes of use for software.
HasVersion - The registered resource such as a software package or code repository has a versioned instance (indicates A has the instance B) e.g. it may be used to relate an un- versioned code repository to one of its specific software versions.
IsVersionOf - The registered resource is an instance of a target resource (indicates that A is an instance of B) e.g. it may be used to relate a specific version of a software package to its software code repository.
IsNewVersionOf: can be used for “edition or software release etc.”
IsPreviousVersionOf: can be used for “edition or software release etc.”
IsDerivedFrom and IsSourceOf: Can be used to denote software that is a fork of other software or is the origin of a fork.
IsPartOf and HasPart: may be used for individual software modules
IsDocumentedBy and Documents: e.g. points to software documentation
IsVariantFormOf and IsOriginalFormOf: May be used for different software operating systems or compiler formats, for example. Indicates that A is a variant or different form or packaging of B.
IsRequiredBy: the registered resource A is called by or is required by software resource B.
Requires: the registered resource A calls or requires software resource B.
See example: May be used for software licenses.
Description with descriptionType ‘TechnicalInfo’
Description with descriptionType ‘Abstract’
TechnicalInfo: for software description, this may include a readme.text, and necessary environmental information (hardware, operational software, applications/programs) that cannot be described using other properties such as ‘Format/version’ or ‘Description/summary’
Existing guidance applies: Subject, keyword, classification code, or key phrase describing the resource.