On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

SoftwareSourceCode

SoftwareSourceCode describes a computer program in its human-readable source form. It is the schema.org type for code repositories, scripts, libraries, and any software distributed as source rather than compiled binaries. The type extends CreativeWork, inheriting properties like name, author, description, license, and version, while adding code-specific properties like codeRepository and programmingLanguage.

SoftwareSourceCode is the backbone of the CodeMeta standard, which uses codemeta.json files to provide machine-readable metadata for research software. Academic institutions, open-source projects, and software archives use it for citation, discovery, and FAIR (Findable, Accessible, Interoperable, Reusable) compliance.

Google does not offer rich results for SoftwareSourceCode. Its primary value is in machine-readable metadata for AI engines, package registries, academic indexers (DataCite, OpenAIRE), and citation tools.

When to use SoftwareSourceCode

Use SoftwareSourceCode on any page or metadata file that describes source code:

  • Open-source project pages on a company or research website
  • codemeta.json files in GitHub/GitLab repositories
  • Software catalog pages listing tools and libraries
  • Academic software landing pages that need citation metadata

Do not use SoftwareSourceCode for compiled applications, mobile apps, or SaaS products. Use SoftwareApplication for those.

Fields

Since Google does not have a dedicated structured data page for SoftwareSourceCode, none of these fields carry a Google requirement status. All are classified as Optional from a search engine perspective. The grouping below reflects practical importance for software metadata.

Core fields

Inherited from CreativeWork

SoftwareSourceCode inherits all CreativeWork properties. The most commonly used in software metadata:

Complete JSON-LD example

Based on real CodeMeta files from open-source projects:

{
  "@context": "https://schema.org",
  "@type": "SoftwareSourceCode",
  "name": "codemetar",
  "description": "Generate CodeMeta metadata for R packages",
  "version": "0.3.7",
  "codeRepository": "https://github.com/ropensci/codemetar",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "author": {
    "@type": "Person",
    "name": "Carl Boettiger",
    "url": "https://www.carlboettiger.info"
  },
  "license": "https://spdx.org/licenses/GPL-3.0",
  "dateModified": "2024-01-15",
  "url": "https://docs.ropensci.org/codemetar/"
}

CodeMeta and codemeta.json

Most real-world SoftwareSourceCode markup lives in codemeta.json files rather than HTML <script> tags. CodeMeta is a community standard that maps software metadata from different ecosystems (npm, PyPI, CRAN, Maven) into schema.org vocabulary. A codemeta.json file placed in a repository root provides structured metadata that academic indexers, citation tools, and AI engines can consume.

The CodeMeta context URL is https://doi.org/10.5063/schema/codemeta-2.0, which extends schema.org with additional software-specific properties.

Webflow implementation

SoftwareSourceCode is uncommon on Webflow sites. The typical use case is a company or research group that maintains a portfolio of open-source tools and wants machine-readable metadata on each project page.

For a Webflow CMS collection of open-source projects:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareSourceCode",
  "name": "{{wf {&quot;path&quot;:&quot;name&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}",
  "description": "{{wf {&quot;path&quot;:&quot;description&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}",
  "version": "{{wf {&quot;path&quot;:&quot;version&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}",
  "codeRepository": "{{wf {&quot;path&quot;:&quot;repository-url&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}",
  "programmingLanguage": "{{wf {&quot;path&quot;:&quot;language&quot;,&quot;type&quot;:&quot;PlainText&quot;} }}"
}
</script>

Schema HQ can generate this markup automatically by mapping Webflow CMS fields to the corresponding SoftwareSourceCode properties.

Validation

Google's Rich Results Test does not validate SoftwareSourceCode since it has no associated rich result type. Use the Schema.org Validator to check for syntax errors and type conformance.

On this page:
This is some text inside of a div block.
This is some text inside of a div block.
This is some text inside of a div block.

Need help with schema on your site?

We implement structured data for Webflow sites — from audit to deployment.

Work with us

Work with us