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.
Limits
Hold liable
The authors disclaim warranty. Recipients cannot hold them liable for damages arising from the software, except where law forbids that disclaimer.
Use trademark
The license is not a trademark license. Names, logos and product marks stay with their owners unless a separate grant says otherwise.
Provenance
A dedication is only as strong as the author's right to make it. If title is unclear, treat the files as needing review.
Obligations
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.
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.
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.
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.
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.
