DataCite Metadata Schema v4.1 FORCE11 Software Citation Principles Mapping

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

FORCE11 RequirementsDataCite Schema v. 4.1Comments
Unique identifier – recommend a DOIIdentifier
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.
Software nameTitleMay be the title of a dataset or the name of a piece of software.
AuthorCreatorMay include those responsible for software creation.
ContributorContributorFor 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.
Contributor rolecontributorTypeSee Definition in contributorType Appendix: Distributor: Includes distribution of software.
See Example for HostingInstitution: Includes software or run code repositories.
Version numberVersionSee Version example: Software engineering practice follows this approach of tracking changes and giving new version numbers.
Release datePublicationYearSee definition:
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.
Location/repositoryPublisher 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."
Indexed citations
(and links between software versions)
relationType +RelationTypes of use for software.
HasVersion, IsVersionOfHasVersion - 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, IsPreviousVersionOfIsNewVersionOf: can be used for “edition or software release etc.”
IsPreviousVersionOf: can be used for “edition or software release etc.”
IsDerivedFrom, IsSourceOfIsDerivedFrom and IsSourceOf: Can be used to denote software that is a fork of other software or is the origin of a fork.
IsPartOf,HasPartIsPartOf and HasPart: may be used for individual software modules
IsDocumentedBy, DocumentsIsDocumentedBy and Documents: e.g. points to software documentation
IsVariantFormOf, IsOriginalFormOfIsVariantFormOf 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, RequiresIsRequiredBy: 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.
Software licensesRightsSee 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’
KeywordsSubjectExisting guidance applies: Subject, keyword, classification code, or key phrase describing the resource.