Deposit metadata#

When making a software deposit into the SWH archive, one can add information describing the software artifact and the software project.

Metadata requirements#

  • the schema/vocabulary used MUST be specified with a persistent url (DublinCore, DOAP, CodeMeta, etc.)

    <entry xmlns="http://www.w3.org/2005/Atom">
    or
    <entry xmlns="http://www.w3.org/2005/Atom"
           xmlns:dcterms="http://purl.org/dc/terms/">
    or
    <entry xmlns="http://www.w3.org/2005/Atom"
           xmlns:codemeta="https://doi.org/10.5063/SCHEMA/CODEMETA-2.0">
    
  • the name of the software deposit MUST be provided [atom:title,

    codemeta:name, dcterms:title]

  • the authors of the software deposit MUST be provided

  • the url representing the location of the source MAY be provided under the url tag. The url will be used for creating an origin object in the archive.

    <codemeta:url>http://example.com/my_project</codemeta:url>
    
  • the create_origin tag SHOULD be used to specify the URL of the origin to create (otherwise, a fallback is created using the slug, or a random string if missing)

  • the description of the software deposit SHOULD be provided [codemeta:description]: short or long description of the software

  • the license/s of the software deposit SHOULD be provided [codemeta:license]

  • other metadata MAY be added with terms defined by the schema in use.

Examples#

Using only Atom#

<?xml version="1.0"?>
    <entry xmlns="http://www.w3.org/2005/Atom"
             xmlns:swhdeposit="https://www.softwareheritage.org/schema/2018/deposit">
        <title>Awesome Compiler</title>
        <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
        <updated>2017-10-07T15:17:08Z</updated>
        <author>some awesome author</author>
        <swhdeposit:deposit>
          <swhdeposit:create_origin>
            <swhdeposit:origin url="http://example.com/my_project" />
          </swhdeposit:create_origin>
        </swhdeposit:deposit>
</entry>

Using Atom with CodeMeta#

<?xml version="1.0"?>
    <entry xmlns="http://www.w3.org/2005/Atom"
             xmlns:codemeta="https://doi.org/10.5063/SCHEMA/CODEMETA-2.0"
             xmlns:swhdeposit="https://www.softwareheritage.org/schema/2018/deposit">
        <title>Awesome Compiler</title>
        <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
        <swhdeposit:deposit>
          <swhdeposit:create_origin>
            <swhdeposit:origin url="http://example.com/1785io25c695" />
          </swhdeposit:create_origin>
        </swhdeposit:deposit>
        <codemeta:id>1785io25c695</codemeta:id>
        <codemeta:url>origin url</codemeta:url>
        <codemeta:identifier>other identifier, DOI, ARK</codemeta:identifier>
        <codemeta:applicationCategory>Domain</codemeta:applicationCategory>

        <codemeta:description>description</codemeta:description>
        <codemeta:keywords>key-word 1</codemeta:keywords>
        <codemeta:keywords>key-word 2</codemeta:keywords>
        <codemeta:dateCreated>creation date</codemeta:dateCreated>
        <codemeta:datePublished>publication date</codemeta:datePublished>
        <codemeta:releaseNotes>comment</codemeta:releaseNotes>
        <codemeta:referencePublication>
          <codemeta:name> article name</codemeta:name>
          <codemeta:identifier> article id </codemeta:identifier>
        </codemeta:referencePublication>
        <codemeta:isPartOf>
            <codemeta:type> Collaboration/Project </codemeta:type>
            <codemeta:name> project name</codemeta:name>
            <codemeta:identifier> id </codemeta:identifier>
        </codemeta:isPartOf>
        <codemeta:relatedLink>see also </codemeta:relatedLink>
        <codemeta:funding>Sponsor A  </codemeta:funding>
        <codemeta:funding>Sponsor B</codemeta:funding>
        <codemeta:operatingSystem>Platform/OS </codemeta:operatingSystem>
        <codemeta:softwareRequirements>dependencies </codemeta:softwareRequirements>
        <codemeta:softwareVersion>Version</codemeta:softwareVersion>
        <codemeta:developmentStatus>active </codemeta:developmentStatus>
        <codemeta:license>
            <codemeta:name>license</codemeta:name>
            <codemeta:url>url spdx</codemeta:url>
        </codemeta:license>
        <codemeta:runtimePlatform>.Net Framework 3.0 </codemeta:runtimePlatform>
        <codemeta:runtimePlatform>Python2.3</codemeta:runtimePlatform>
        <codemeta:author>
            <codemeta:name> author1 </codemeta:name>
            <codemeta:affiliation> Inria </codemeta:affiliation>
            <codemeta:affiliation> UPMC </codemeta:affiliation>
        </codemeta:author>
        <codemeta:author>
            <codemeta:name> author2 </codemeta:name>
            <codemeta:affiliation> Inria </codemeta:affiliation>
            <codemeta:affiliation> UPMC </codemeta:affiliation>
        </codemeta:author>
        <codemeta:codeRepository>http://code.com</codemeta:codeRepository>
        <codemeta:programmingLanguage>language 1</codemeta:programmingLanguage>
        <codemeta:programmingLanguage>language 2</codemeta:programmingLanguage>
        <codemeta:issueTracker>http://issuetracker.com</codemeta:issueTracker>
    </entry>

Using Atom with DublinCore and CodeMeta (multi-schema entry)#

<?xml version="1.0"?>
<entry xmlns="http://www.w3.org/2005/Atom"
       xmlns:dcterms="http://purl.org/dc/terms/"
       xmlns:codemeta="https://doi.org/10.5063/SCHEMA/CODEMETA-2.0"
       xmlns:swhdeposit="https://www.softwareheritage.org/schema/2018/deposit">
    <title>Awesome Compiler</title>
    <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
    <swhdeposit:deposit>
      <swhdeposit:create_origin>
        <swhdeposit:origin url="http://example.com/225c695-cfb8-4ebb-aaaa-80da344efa6a" />
      </swhdeposit:create_origin>
    <swhdeposit:deposit>
    <dcterms:identifier>hal-01587361</dcterms:identifier>
    <dcterms:identifier>doi:10.5281/zenodo.438684</dcterms:identifier>
    <dcterms:title xml:lang="en">The assignment problem</dcterms:title>
    <dcterms:title xml:lang="fr">AffectationRO</dcterms:title>
    <dcterms:creator>author</dcterms:creator>
    <dcterms:subject>[INFO] Computer Science [cs]</dcterms:subject>
    <dcterms:subject>[INFO.INFO-RO] Computer Science [cs]/Operations Research [cs.RO]</dcterms:subject>
    <dcterms:type>SOFTWARE</dcterms:type>
    <dcterms:abstract xml:lang="en">Project in OR: The assignment problemA java implementation for the assignment problem first release</dcterms:abstract>
    <dcterms:abstract xml:lang="fr">description fr</dcterms:abstract>
    <dcterms:created>2015-06-01</dcterms:created>
    <dcterms:available>2017-10-19</dcterms:available>
    <dcterms:language>en</dcterms:language>


    <codemeta:url>origin url</codemeta:url>

    <codemeta:softwareVersion>1.0.0</codemeta:softwareVersion>
    <codemeta:keywords>key word</codemeta:keywords>
    <codemeta:releaseNotes>Comment</codemeta:releaseNotes>
    <codemeta:referencePublication>Rfrence interne </codemeta:referencePublication>

    <codemeta:relatedLink>link  </codemeta:relatedLink>
    <codemeta:funding>Sponsor  </codemeta:funding>

    <codemeta:operatingSystem>Platform/OS </codemeta:operatingSystem>
    <codemeta:softwareRequirements>dependencies </codemeta:softwareRequirements>
    <codemeta:developmentStatus>Ended </codemeta:developmentStatus>
    <codemeta:license>
        <codemeta:name>license</codemeta:name>
        <codemeta:url>url spdx</codemeta:url>
    </codemeta:license>

    <codemeta:codeRepository>http://code.com</codemeta:codeRepository>
    <codemeta:programmingLanguage>language 1</codemeta:programmingLanguage>
    <codemeta:programmingLanguage>language 2</codemeta:programmingLanguage>
</entry>

Note#

We aim on harmonizing the metadata from different origins and thus metadata will be translated to the CodeMeta v2.0 vocabulary if possible.

See Protocol reference for details on the content of <swh:deposit> elements.