Skip to main content
See other licenses

public-domain

Public domain

Public domain is a status, not a license. Nothing is asked of you when the status is real, and the risk is that it often is not.

On this page

What it does

Public domain means a work carries no copyright restrictions, either because protection expired, because the author gave the rights away, or because the law never granted them. It is a status, not a license, so there is no text to read and no SPDX identifier to match. In package metadata you will usually meet a stand-in instead: CC0-1.0, the Unlicense, 0BSD or WTFPL. Those exist because a plain waiver does not work everywhere, so each of them adds a fallback permission grant for the countries where an author cannot abandon copyright.

Details

The consequence for your product is simple when the status is real: no notice, no credit line, no source duty, and nothing that changes when you ship a binary or run a hosted service. The trouble is that the status is often claimed rather than granted. A README line saying public domain next to an ordinary copyright header is not a dedication, and a missing license file is the opposite of one. Jurisdictions also differ. Several European countries do not let an author waive copyright at all, which is exactly why CC0 was written with a fallback license inside it.

Pros

  • Nothing to attach besides recording that the component is in the inventory.
  • No copyleft and no notice condition, so binaries do not need an extra licenses file for this component alone.

Cons

  • Some buyers still want the dedication text on file. "No conditions" is not the same as "no record."
  • Jurisdiction and moral-rights questions still exist around true public-domain dedications. Counsel should look at high-stakes use.

What it allows and requires

Choose a category to see the full grant in one scannable list. Permissions show what the license allows, limits show what it withholds, and obligations show the conditions your release process must satisfy.

Permissions

  • Commercial use

    You may use the work commercially. These texts are written to drop almost every restriction.

  • Modify

    You may change the work and keep or publish those changes under your own terms.

  • Distribute

    You may give copies away, including inside a closed product, without a copyleft duty.

What public-domain requires when you ship

public-domain asks nothing of you: no notice, no attribution, no source duty. It still belongs on the attestation page so a buyer sees the whole inventory rather than only the interesting rows. The steps below are how to keep that record honest.

  1. You can rely on the dedication when the project states it in its own license file, and not only in a README line or a forum post.

  2. You are in the same position in every scenario when the status is real. A hosted service, a shipped binary, a mobile app and a redistributed library all behave alike.

  3. You avoid the classic trap when you treat a missing license file as unknown rather than as public domain, because no license grants no permission at all.

  4. You give a buyer something to check when you keep the component listed with the wording you actually found, instead of dropping it from the page.

  5. You answer the jurisdiction question when you record which stand-in the package uses, since CC0-1.0 and the Unlicense both carry a fallback grant.

The duties named in public-domain

public-domain names no duties. The empty list is the point. Keep the identifier on the record anyway so the inventory is complete.

Include notice

Nothing is required on the face of the text. Keeping the SPDX id and the dedication on your record is still how buyers check the claim.

Things to be aware of

  • Teams read a missing license file as a dedication. Look for a copyright header in the repository, and ask upstream in writing when nothing is stated.
  • Teams assume a dedication works everywhere. Prefer a component under CC0-1.0 or the Unlicense, where a fallback license covers the countries that do not allow a waiver.
  • Teams assume a waiver covers patents. It does not, so a permissive license such as MIT or Apache-2.0 is the stronger choice when patents can become a topic.
  • Teams drop these components from the published list because nothing is required. Leave them in, so the page your customer reads matches your build.

What the Public domain does not do

Search results often flatten Public domain into a slogan. These are the usual misreads. public-domain is a grant with conditions, not a permission to skip the paperwork below.

  • a public-domain dedication does not create a notice or attribution duty. Teams still list it so buyers see the whole inventory.
  • It is not a warranty or a patent grant. Public-domain style texts waive conditions; they do not promise the code is free of defects.

How public-domain differs from nearby licenses

These licenses are often confused with public-domain, but their release duties differ. Each row summarizes what the license requires when you ship. Open the linked page for the full checklist.

public-domain
Public domain is a status, not a license. Nothing is asked of you when the status is real, and the risk is that it often is not.
CC0-1.0
CC0 waives copyright and adds a fallback license where a waiver is impossible. No credit required, and no patent rights.
Unlicense
A public domain dedication written for software, with a fallback license. OSI-approved, and it asks nothing of you.
MIT
MIT lets you ship the code inside a closed, paid product. The one condition is that the copyright line and license text travel with every copy.

Common questions about Public domain

Answers to common questions about what Public domain requires, when its duties apply, and what evidence belongs with a release.

What is the Public domain?

Public domain means a work carries no copyright restrictions, either because protection expired, because the author gave the rights away, or because the law never granted them. It is a status, not a license, so there is no text to read and no SPDX identifier to match. In package metadata you will usually meet a stand-in instead: CC0-1.0, the Unlicense, 0BSD or WTFPL. Those exist because a plain waiver does not work everywhere, so each of them adds a fallback permission grant for the countries where an author cannot abandon copyright.

What does public-domain require when you ship a product?

You can rely on the dedication when the project states it in its own license file, and not only in a README line or a forum post. You are in the same position in every scenario when the status is real. A hosted service, a shipped binary, a mobile app and a redistributed library all behave alike. You avoid the classic trap when you treat a missing license file as unknown rather than as public domain, because no license grants no permission at all. You give a buyer something to check when you keep the component listed with the wording you actually found, instead of dropping it from the page. You answer the jurisdiction question when you record which stand-in the package uses, since CC0-1.0 and the Unlicense both carry a fallback grant.

Should public-domain still appear on an attestation page?

Yes. Public domain asks nothing, and buyers still want the whole inventory rather than only the interesting rows.

How is public-domain different from Creative Commons Zero v1.0?

public-domain asks this: Public domain is a status, not a license. Nothing is asked of you when the status is real, and the risk is that it often is not. Creative Commons Zero v1.0 asks this: CC0 waives copyright and adds a fallback license where a waiver is impossible. No credit required, and no patent rights. Open the Creative Commons Zero v1.0 page for what that license requires when you ship. Do not treat the SPDX ids as interchangeable because the short names look similar.

Where do I record public-domain for a buyer?

SourceTrust treats these components like any other. It fetches the published artifact, extracts any license file it contains, and compares that text against the declared identifier. A package with a dedication in its README and no license file lands as not found or unconfirmed, and it waits for a person to accept it. Accepting keeps the component in the inventory with an honest state and the wording you found.

Where do I record public-domain for a buyer?

SourceTrust treats these components like any other. It fetches the published artifact, extracts any license file it contains, and compares that text against the declared identifier.

A package with a dedication in its README and no license file lands as not found or unconfirmed, and it waits for a person to accept it. Accepting keeps the component in the inventory with an honest state and the wording you found.

Read /docs/auto-fetch-license for how the fetch decides.

See also

The hub is the pillar for this cluster. Sibling licenses are the other spokes. Product FAQ links explain how SourceTrust records the duty, not the license text itself.

Practical guidance for procurement review, not legal advice. Confirm high-stakes use with counsel.

Ship the proof.

Import Public domain and the rest of what you ship. Free to import and review. You only pay when you publish.

Start for free

Cookies on sourcetrust.dev

We use essential cookies for security, including abuse prevention on our site scan and walkthrough request form. With your permission, we also use optional analytics and diagnostics (Google Tag Manager on this site, and the Sentry browser SDK on the SourceTrust application when configured). See our cookie policy.