My concrete example is IANA's tzdb version 2023c. As specified in https://data.iana.org/time-zones/tzdb-2023c/LICENSE the case is clear "if the files date.c, newstrftime.3, and strftime.c are present": The SPDX-License-Identifier is BSD-3-Clause then. However I cannot find any public domain license for IANA or any general public domain license (perhaps with something as general as "This falls under public domain" or something comparable to that) in SPDX' license list https://spdx.org/licenses/. There is a discussion on a forum from eleven years ago: https://opensuse-packaging.opensuse.narkive.com/7ulzl2g8/what-s-the-new-spdx-name-for-a-public-domain-license, but there doesn't seem a clearly fitting solution for me here.

Personally, I see 3 different ways to proceed:

  1. Use some public domain license, already listed as of now that seems like a close match (9 May 2023). Togan Muftuoglo suggests using CPL-1 (https://narkive.com/7ulzl2g8:2.375.36) There are some specific public domain licenses listed: Common Public License 1.0 (suggested by Togan Muftuoglu), Creative Commons Public Domain Dedication and Certification, libselinux public domain notice, NIST Public Domain Notice, Open Data Commons Public Domain Dedication & License 1.0, and Sax Public Domain Notice. Yet, these have very specific individual wording, so I wouldn't use "Creative Commons Public Domain Dedication and Certification" or the others in my case.

  2. Don't mention it at all. On the other side, Stephan Kulow mentions in the same discussion that "As Public Domain is basically the lack of license, spdx does not cover it." (https://narkive.com/7ulzl2g8:3.375.74). So should I just leave it out?

  3. Use a new Public-Domain He also mentions their organization's solution (https://narkive.com/7ulzl2g8:3.528.34): adding a new tag.

3.1. I might also put a "Iana-Public-Domain" for request to be added in the official SPDX license list.

3.2. Also just using a custom and unofficial "Public-Domain" doesn't seem that wrong to me.

What is the best solution?

  • 3
    You can't find a Public Domain License because a Public Domain License cannot possibly exist. If something is in the Public Domain, it is not copyrighted and thus cannot be licensed. If something has a copyright license, then it is obviously copyrighted and thus not in the Public Domain. Commented May 9, 2023 at 7:27
  • 2
    And yet there are 1. Creative Commons Public Domain Dedication and Certification, 2. libselinux public domain notice, 2. NIST Public Domain Notice, 3. Open Data Commons Public Domain Dedication & License 1.0, and 4. Sax Public Domain Notice listed in spdx.org/licenses (which I also mentioned in my original post).
    – Peter
    Commented May 9, 2023 at 9:14
  • You might want to put a jurisdiction tag on your question. The links you provided specifically try to work within differing national laws. "Public Domain" does not necessarily mean the same thing in the US, the EU, or India.
    – doneal24
    Commented May 9, 2023 at 20:26
  • 2
    In my country (the Netherlands), it is possible to transfer one's copyrights to someone else, but it is not possible to declare a work free of copyright (which is what placing it into the public domain means). Works can only enter the public domain when their copyrights on them expire. This is true for many countries. C0 is a license to waive your rights; you remain the copyright holder. Commented May 10, 2023 at 9:29
  • 1
    Noting specifically that copyright exists at creation, so "not mentioning" a license doesn't put it into the public domain at all (jurisdictions vary, but in most of the western world a lot of people have tried those arguments in courts and every one of those has lost).
    – Rycochet
    Commented May 11, 2023 at 14:55

2 Answers 2


https://wiki.spdx.org/view/Legal_Team/Decisions/Dealing_with_Public_Domain_within_SPDX_Files SPDX policy is to treat these as custom licenses on a case by case basis. Due to the ambiguity of the term 'Public Domain' outside of uncopyrightable/expired works, the complexity of expiry/uncopyrightability across jurisdictions, and the variation of process for dedication, dedication to the public domain is a much more complex process than a sufficiently open license.

As such the way to handle it is like any other custom license: a ExtractedText or LicenseCrossReference tag for the public domain declaration.

If you are the rights holder for the work, and not just annotating third party code, you should consider licensing the work under CC0. CC0 is a legally validated attempt to either dedicate to the public domain or as close to across jurisdictions in a standardized manner avoiding the above complexity. Then you can use the CC0 SPDX license value.

  • How can someone be the "rights holder" of a work whose rights have been waived (that's what public domain is, right?) ?
    – user30747
    Commented Dec 8, 2023 at 0:51
  • @user30747 it's not legally possible to do so worldwide. You will retain at least some rights in some jurisdictions. This is why cc0 exists. Commented Dec 8, 2023 at 11:38
  • 1
    @user30747 Public domain in a legal sense is more usually used to refer to works that are either uncopyrightable, or have expired (pre-1900ish works), for works which are still within the expiry period, the idea of waiving your rights is legally fraught, and even then theres the idea of the person who is doing the waiving. As only the person who holds the rights prior to waiving can do so, even in countries where it is possible to do so. Commented Dec 8, 2023 at 12:20

'Public Domain' as a concept does not exist in all jurisdictions. For example Germany has the term 'Gemeinfreiheit', which is similar, but not the same.

If you reside in a jurisdiction, which accepts the concept of 'Public Domain, then your best bet might be CC0 which attempts to cover both (and other similar) concepts in its wording.

As you can read in the Creative Commons FAQ:

"Please note that CC0 is not a license; it is a public domain dedication. When CC0 is applied to a work, copyright no longer applies to the work in most jurisdictions around the world."

And the CC0 FAQ states:

"CC0 is a useful tool for clarifying that you do not claim copyright in a work anywhere in the world. Because copyright laws differ by jurisdiction, you might be granted an automatic copyright in jurisdictions that you may not be aware of. By using CC0, you signal to the public that you relinquish any such rights."

Creative Commons have employed lawyers to create a legal tool, which is a public domain dedication in some jurisdictions and a license in others. CC0 is putting the simplistic Public Domain into sophisticated words which are understood by lawyers around the world. Therefore re-use of the code would not be a problem even in large, commercial projects.

There is a SPDX identifier ("CC0-1.0"), which you can use.

If you reside in a country, which does not support the concept of 'Public Domain' (e.g. Germany), then you should not touch it. Even if it is the declared intent of the rights holder to put the work into Public Domain, this might be invalid and thus insufficient in your jurisdiction for the re-labeling of 'Public Domain' into CC0.

  • 8
    This is wrong. CC0 is a license like any other (just one with a minimal set of requirements and a maximal set of granted rights). Attaching a specific license (like CC0) is a right of the author/copyright owner. A random user cannot claim a work is licensed under CC0 when… it just isn’t. (Just like you cannot claim a work under GPL is under CC-BY-SA because those are “similar” copyleft licenses.)
    – Mormegil
    Commented May 9, 2023 at 17:25
  • 3
    Specifically, this question asks about how to use SPDX to mark 3rd party work which has an (admittedly problematic) simple statement that the work is "in the public domain," so using another license identifier to represent that author's declaration isn't the right approach. You are correct that it would have been much nicer if they had used CC0 but unfortunately they didn't.
    – apsillers
    Commented May 9, 2023 at 18:47
  • 2
    The situation depends on whether the OP is the rightsholder, or annotating existing code with a pre-existing dedication. CC0 is a good option is they are the rightsholder. If they are not the rightsholder, then they should not assert that the code is license-able under CC0, as that creates a potential negative effect if the actual rights holder messed up their declaration and later decides to renege on the dedication. Commented May 10, 2023 at 8:18
  • 3
    In jurisdictions where public domain does not exist, there is the possibility that the single sentence does not create a license at all, and therefore a user would have no rights to treat it as a CC0 work. Commented May 10, 2023 at 8:21
  • 4
    No, this is still completely wrong, CC0 is not “a verbose version of ‘this is in public domain’”; it is “a verbose version of ‘I am releasing this into public domain’” and only the author can do that. Just read the CC0 license! “the person associating CC0 with a Work (the "Affirmer"), to the extent that he or she is an owner of Copyright […] in the Work, voluntarily elects to apply CC0 to the Work”, “Affirmer hereby […] surrenders all of Affirmer's Copyright and Related Rights”, etc. The whole license talks only about the actions of the person attaching the CC0 license to the work!
    – Mormegil
    Commented May 10, 2023 at 9:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.