name (Text): The name of the softwaredescription (Text): A description of the softwareurl (URL): URL of the software/projectidentifier (PropertyValue or URL): ISBNs, GTIN codes, UUIDs, etc.sameAs (URL): URL unambiguously indicating item identity (Wikipedia, Wikidata, official website)author (Organization or Person): The author of the softwarecontributor (Organization or Person): Secondary contributorsmaintainer (Person): Individual responsible for maintaining the software (with email)editor (Person): Person who edited the CreativeWorkcopyrightHolder (Organization or Person): Party holding legal copyrightcopyrightYear (Number): Year copyright was first assertedfunder (Organization or Person): Financial supporter/sponsorsponsor (Organization or Person): Supporter through pledge or promiseproducer (Organization or Person): Person/organization who produced the workpublisher (Organization or Person): Publisher of the workprovider (Organization or Person): Service provider, operator, or performerversion (Number or Text): Version of the softwaresoftwareVersion (Text): Version of software instancedateCreated (Date): Date when software was createddateModified (Date): Date when software was last modifieddatePublished (Date): Date of first publicationreleaseNotes (Text or URL): Description of what changed in this versionprogrammingLanguage (ComputerLanguage or Text): Programming language usedruntimePlatform (Text): Runtime platform/script interpreter dependencies (Java v1, Python 2.3, .Net Framework 3.0)softwareRequirements (SoftwareSourceCode): Required software dependenciessoftwareSuggestions (SoftwareSourceCode): Optional dependencies for features or developmentprocessorRequirements (Text): Processor architecture (e.g., IA64)operatingSystem (Text): Supported operating systems (Windows 7, OSX 10.6, Android 1.6)memoryRequirements (Text or URL): Minimum memory requirementsstorageRequirements (Text or URL): Storage requirements (free space required)fileSize (Text): Size of application/package (e.g., 18MB)codeRepository (URL): Link to repository (SVN, GitHub, GitLab, CodePlex)downloadUrl (URL): URL to download binary if file can be downloadedinstallUrl (URL): URL where app may be installedfileFormat (Text or URL): MIME format of software (e.g., application/zip)encoding (MediaObject): Media object encoding this CreativeWorklicense (CreativeWork or URL): License document/URLisAccessibleForFree (Boolean): Flag if publication accessible for freeapplicationCategory (Text or URL): Type of software (Game, Multimedia)applicationSubCategory (Text or URL): Subcategory (Arcade Game)targetProduct (SoftwareApplication): Target Operating System/Productcitation (CreativeWork or URL): Reference to another publication/workhasPart (CreativeWork): CreativeWork that is part of this CreativeWorkisPartOf (CreativeWork): CreativeWork this is part of (reverse of hasPart)relatedLink (URL): Related links, e.g., related web pagessoftwareHelp (CreativeWork): Software application help documentationkeywords (Text): Keywords/tags describing content (comma-delimited)permissions (Text): Required permissions (e.g., internet access, wifi-only)supportingData (DataFeed): Supporting data for applicationposition (Integer or Text): Position in series/sequence (way to order arrays)review (Review): A review of the source code (v3)These properties fill gaps not covered by Schema.org:
buildInstructions (URL): Link to installation instructions/documentationcontinuousIntegration (URL): Link to continuous integration service (v3; v2 used contIntegration)developmentStatus (Text): Development status (active, inactive, suspended) per repostatus.orgembargoEndDate (Date): Embargo period for public access (pending publication, 1 year post-publication)funding (Text): Funding source (e.g., specific grant)hasSourceCode (SoftwareSourceCode): Link indicating where software code is located (v3)isSourceCodeOf (SoftwareApplication): Reverse property - software built from given source code (v3)issueTracker (URL): Link to bug reporting/issue tracking systemreadme (URL): Link to README fileaddress (PostalAddress or Text): Physical addressaffiliation (Organization): Organization person affiliated withemail (Text): Email addressfamilyName (Text): Family namegivenName (Text): Given nameidentifier (URL): ORCID ID preferred for individuals, FundRef ID for fundersname (Text): Full name if separate given/family names unavailableroleName (Text or URL): Role played (Design, Architecture, Debugging, Maintenance, Coding, Documentation, Testing, Support, Management)startDate (Date/Datetime): ISO 8601 formatendDate (Date/Datetime): ISO 8601 formatreviewBody (Text): The actual body of the reviewreviewAspect (Text): Part or facet of object being reviewedcff-version (string): Version of CFF schema (e.g., "1.2.0")message (string): Message to display when citing (e.g., "If you use this software, please cite it as below.")title (string): Software name/titleauthors (array): List of author objectsabstract (string): Brief description of software purpose/functionalitycontact (array of person objects): Contact information for authors/maintainersrepository (URL): General repository/homepage URLrepository-code (URL): URL to source code repository (GitHub, GitLab, etc.)repository-artifact (URL): URL to artifact repository (package registry, Docker Hub, etc.)url (URL): Project website/landing pageversion (string): Current version of software (semantic versioning recommended)date-released (YYYY-MM-DD): Release datecommit (string): Git commit hash for this versionidentifiers (array): Array of identifier objects:type (string): "doi", "url", "other"
- value (string): The actual identifier value
doi (string): Digital Object Identifier (deprecated in favor of identifiers array)preferred-citation (reference object): Preferred way to cite softwarereferences (array): List of references (publications, standards, software)type, authors, title, year, doi, url, etc.
license (string or array): SPDX identifier(s) (e.g., "Apache-2.0", "MIT")license-url (URL): URL to full license text (if SPDX not available)keywords (array of strings): Keywords describing softwaretype (string): "software" or "dataset" (default: "software")family-names (string): Last namegiven-names (string): First/given namename-particle (string): Particle in name (e.g., "van", "de")name-suffix (string): Suffix (e.g., "Jr.", "III")orcid (URL): ORCID identifier (https://orcid.org/XXXX-XXXX-XXXX-XXXX)email (string): Email addressaffiliation (string or object): Organization affiliationaddress (string): Physical mailing addresscity, region, postal-code, country (strings): Address componentswebsite (URL): Personal/institutional websitetelephone (string): Phone numberfax (string): Fax numbername (string): Organization namecity, region, postal-code, country (strings): Addresswebsite (URL): Organization websiteror (URL): Research Organization Registry identifierurl (URL): Alternative to websiteabstract, authors, cff-version, commit, contact, date-released, doi, identifiers, keywords, license, license-url, message, preferred-citation, references, repository, repository-artifact, repository-code, title, type, url, version
Inherits from CreativeWork and extends with:
Inherits from CreativeWork and extends with:
applicationCategory (application)applicationSubCategory (application)operatingSystem (both)runtimePlatform (both)softwareRequirements (both)processorRequirements (both)memoryRequirements (both)storageRequirements (both)codeRepository (both)| Field Category | CodeMeta | CFF | Schema.org | Zenodo | SWH |
|---|---|---|---|---|---|
| Identification |
| Name/Title | ✓ | ✓ | ✓ | ✓ | ✓ |
| Description/Abstract | ✓ | ✓ | ✓ | ✓ | ✓ |
| Identifiers (DOI, UUID) | ✓ | ✓ | ✓ | ✓ | ✓ |
| URL/Website | ✓ | ✓ | ✓ | ✓ | - |
| Authors & Attribution |
| Author(s) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Contributor(s) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Maintainer | ✓ | - | ✓ | - | - |
| Funder/Sponsor | ✓ | - | ✓ | ✓ | - |
| Copyright Holder | ✓ | - | ✓ | - | - |
| Versioning |
| Version | ✓ | ✓ | ✓ | ✓ | ✓ |
| Release Date | ✓ | ✓ | ✓ | ✓ | ✓ |
| Git Commit | - | ✓ | - | - | ✓ |
| Release Notes | ✓ | - | ✓ | - | - |
| Technical Specs |
| Programming Language(s) | ✓ | - | ✓ | ✓ | - |
| Dependencies/Requirements | ✓ | - | ✓ | ✓ | - |
| Runtime Platform | ✓ | - | ✓ | ✓ | - |
| Operating System | ✓ | - | ✓ | ✓ | - |
| Processor Requirements | ✓ | - | ✓ | - | - |
| Memory Requirements | ✓ | - | ✓ | - | - |
| Storage Requirements | ✓ | - | ✓ | - | - |
| Repository & Distribution |
| Repository URL | ✓ | ✓ | ✓ | ✓ | ✓ |
| Code Repository | ✓ | ✓ | ✓ | ✓ | ✓ |
| Download URL | ✓ | - | ✓ | - | - |
| Artifact Repository | - | ✓ | - | - | - |
| Build & CI/CD |
| Build Instructions | ✓ | - | - | - | - |
| Continuous Integration | ✓ | - | - | - | - |
| Issue Tracker | ✓ | - | - | - | - |
| Licensing |
| License(s) | ✓ | ✓ | ✓ | ✓ | ✓ |
| Copyright Year | ✓ | - | ✓ | - | - |
| Content & Metadata |
| Keywords | ✓ | ✓ | ✓ | ✓ | - |
| Citation(s) | ✓ | ✓ | ✓ | ✓ | - |
| Related Publications | ✓ | ✓ | ✓ | ✓ | - |
| README | ✓ | - | - | - | - |
| Development Status | ✓ | - | - | ✓ | - |
| Specialized |
| Software Help | ✓ | - | ✓ | - | - |
| Review | ✓ | - | ✓ | - | - |
| Provenance | - | - | - | - | ✓ |
| Embargo Date | ✓ | - | - | - | - |
Based on comprehensive analysis, recommended fields for a unified LinkML schema:
name: string (required)
description: string (required)
abstract: string
url: URL
identifier: string or PropertyValue (DOI, UUID, etc.)
keywords: array[string]
version: string (semantic versioning)
`
Authorship & Attribution
`
authors: array[Person]
contributors: array[Person]
maintainers: array[Person]
funders: array[Organization]
copyrightHolder: Organization or Person
copyrightYear: integer
`
Temporal
`
dateCreated: date
dateModified: date
datePublished: date
dateReleased: date
`
Technical Specifications
`
programmingLanguages: array[string]
softwareRequirements: array[SoftwareSourceCode]
softwareSuggestions: array[SoftwareSourceCode] (optional)
runtimePlatforms: array[string]
operatingSystems: array[string]
processorRequirements: string
memoryRequirements: string
storageRequirements: string
`
Repository & Distribution
`
codeRepository: URL
downloadUrl: URL
artifactRepository: URL
installUrl: URL
fileFormat: string (MIME type)
fileSize: string
`
Build & Development
`
buildInstructions: URL
continuousIntegration: URL
issueTracker: URL
developmentStatus: enum (active, inactive, suspended)
readme: URL
`
Citation & References
`
references: array[CitationObject]
relatedPublications: array[CreativeWork]
relatedDatasets: array[DataFeed]
preferredCitation: Citation
citations: array[CitationObject]
`
Licensing & Rights
`
licenses: array[string] (SPDX identifiers)
licenseUrl: URL
isAccessibleForFree: boolean
`
Application Classification (optional)
`
applicationCategory: string
applicationSubCategory: string
targetProducts: array[SoftwareApplication]
`
Advanced Metadata
`
review: array[Review]
hasSourceCode: array[SoftwareSourceCode]
isSourceCodeOf: array[SoftwareApplication]
hasPart: array[CreativeWork]
isPartOf: array[CreativeWork]
relatedLinks: array[URL]
supportingData: array[DataFeed]
funding: array[string or FundingObject]
embargoEndDate: date
provenance: object (Software Heritage)
``
1. CodeMeta Terms Documentation: https://codemeta.github.io/terms/
2. CodeMeta Project Home: https://codemeta.github.io/
3. Citation File Format (CFF): https://citation-file-format.github.io/
4. CFF Schema Guide: Guide to Citation File Format schema version 1.2.0
5. CFF Schema Repository: https://github.com/citation-file-format/schema
6. Software Heritage: https://www.softwareheritage.org/
7. Software Heritage Data Model: https://docs.softwareheritage.org/devel/swh-model/data-model.html
8. Software Heritage Metadata Deep Dive: https://www.softwareheritage.org/2023/08/24/archival-of-software-metadata/
9. Schema.org SoftwareSourceCode: https://schema.org/SoftwareSourceCode
10. Schema.org SoftwareApplication: https://schema.org/SoftwareApplication
11. Zenodo Software Deposits: https://help.zenodo.org/docs/github/describe-software/
12. Zenodo Help Documentation: https://help.zenodo.org/docs/deposit/