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 Requirements

DataCite Schema v. 4.1


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.

Software name


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.

Contributor role


See Definition in contributorType Appendix: Distributor: Includes distribution of software.
See Example for HostingInstitution: Includes software or run code repositories.

Version number


See Version example: Software engineering practice follows this approach of tracking changes and giving new version numbers.

Release date


See 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.


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."

Indexed citations
(and links between software versions)

relationType +

RelationTypes of use for software.

HasVersion, IsVersionOf

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, IsPreviousVersionOf

IsNewVersionOf: can be used for “edition or software release etc.”
IsPreviousVersionOf: can be used for “edition or software release etc.”

IsDerivedFrom, IsSourceOf

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, Documents

IsDocumentedBy and Documents: e.g. points to software documentation

IsVariantFormOf, IsOriginalFormOf

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, Requires

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.

Software licenses


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.

Did this page help you?