Advice on Public Domain license

I am about to publish a few projects, and I even though they are currently licensed under the MIT license, I came to the unexpected realization that the license I wanted (or the lack of it) was to release them under the PUBLIC DOMAIN.

So far I have found the following licenses:

So far I have found:

Can anybody recommend a specific license?

The Other option it to not choose an license, and just write PUBLISHED UNDER PUBLIC DOMAIN.

My main concern is liability, complications that I could have. Accepting people’s contributions, and so on.

Other software released under the Public Domain are SQLITE (which does not accept contributions) and youtube-dl.

Any advice is greatly appreciated.

1 Like

The SQLite docs mention some possible headaches around the concept of “public domain” under the Warranty of Title section.

Flipping the question on its head, what’s an example of a situation where an MIT license would give a result you don’t want? That might help folks figure out what license would fit better.


Maybe it’s worth looking at the current license of Elastic. They’ve been hit hard by Amazon some months ago and I am sure they wisened up a lot on what licenses to use for open source that specifically disallows a corporation to use your software and then bully you as if they are the authors.

1 Like

Do you have a link to read about this, to put it in context?

I have been reading about it, after I posted the question.
There are some countries, like Germany where it is illegal to release stuff to the public domain, therefor a license is needed.
I have read some criticism against “Unlincense” because of this, where CC Zero has a sort of backup policy where in countries where PUBLIC DOMAIN is not accepted,then the CC ZERO license act as one (in layman terms, I AM NOT A LAWYER).

There is a pretty recent MIT license known as MIT NO ATTRIBUTION which acts pretty much as a public-domain license,
IT IS LIKE MIT but you do not need to give attribution.
Another similar is the ZERO BSD, which is no directly related (only in name) to the BSD-2 license, but no attribution is needed.

what’s an example of a situation where an MIT license would give a result you don’t want?

  1. Don’t want to impose anything, not even the attribution notice and the copy of the license.
  2. Don’t want to have the COPYRIGHT notice (all rights reversed, sort of thing). I want my work to be part of the public domain. Whether the user/creator of derivative work wants to give credit, it is up to her.

It was an awful clusterf_ck back then and most details elude me now. This is a good entry point: Amazon: NOT OK - why we had to change Elastic licensing | Elastic Blog

Also maybe this: Elastic CEO reflects on Amazon spat, license switch, and the principles of open source – My Blog


What I understand it was a issue of Amazon using the name of their product to promote their services “Amazon ElasticSearch Services”. It beats me how they managed to get away with it when their product was under Apache 2.0 (which prevents derivative works to user the name of the original product or any derivative name) and they product name was trademarked in 2011.

Regarding my use case, I would say this does not affect as I will have no ownership of any name, and that is the idea. If someone ever decide to trademark the name of your library I guess the license will have no saying in whether you have more rights over the trademark in question.

It is interesting because Amazon could start providing “Amazon Elixir Services”, since Elixir is using the same Apache 2.0 license. :neutral_face:

Thank for bringing it up, anyway it is good to know and it was a good read,

1 Like

Regarding of code contribution, I will be requiring contributors to use

Currently, from what I can remember based on my previous contributions, OTP and Livebook use it.

1 Like

Assuming you really want to publish under public domain, then CC0 would be the way to go. It purposefully tries to relinquish copyright if allowed (part 2), or offer a license that’s as free as possible (part 3) as an alternative. Unlicense is the same but less wordy. WTFPL is the same but humorous.

Just writing “Published under public domain” won’t be enough, as has been noted by SQLite, since it’s just not possible to do that in some countries.

IANAL, but I don’t think a CLA is needed if you’re not intending to relicense the code later under a different license (or want to keep the door open for doing that).


I never heard of this.

PD is possible in Germany, though not the default. In Germany when no explicit license is mentioned with the source code, it is assumed to be all rights with the author and not even downloading from GitHub would be allowed from what I understand.

Putting software under “public domain” is possible though, but of course the understanding what these 2 words mean differs between legislatives, therefore you’d also always put an explicit license that explains in a legal proof way what these 2 words mean specifically.

So you are basically back to “choose the license”.


In Germany it’s not possible to transfer or give up the “Urheberrecht” (author’s rights) so it’s not illegal, but rather impossible to release things to the public domain. The initial author will always retain their “Urheberrecht”.

Though this is separate from “Nutzungsrecht” (rights of use) and many other rights, which can still allow others to use the released work. How exactly needs to be defined however and therefore licenses are required.


Oh, yeah, I forgot about the “Urheberrecht”. Still, as both of us pointed out, this doesn’t make it illegal to put something under public domain.

It’s just not possible to give up the rights that are implied by authorship.


Depends on the definition of “public domain”. Afaik the definition implied by the american concept of public domain would be to give up authorship as well.

1 Like

Then it’s not “illegal” but you simply can’t.

Noone will sue you because you tried, but dropping the authors right won’t have any effect and will invalidate the “license” as a whole.

But at no point in this process you’ll be sueable.

Disclaimer: I am not a lawyer

1 Like

PD is possible everywhere, but you need to die first (and then wait 50+ years) :wink: You cannot voluntarily reject your rights and place your work in PD though.

The same problem was in EEPs where “public domain” is not legal in some jurisdictions (it was confirmed by lawyers of Ericsson on @kennethL’s request).

No, it is not illegal to put something under public domain, it is impossible to do so (these are two different things). You may not be keen to sue anyone on “stealing” your work, but in case of author demise or putting someone under care (I do not know if there is English term for ubezwłasnowolnienie) then the designed handler of the rights is fully capable of suing anyone that uses that piece of work.

So in other words saying that “this work is in public domain” is void in many jurisdictions and mean nothing, so in the end that work is still proprietary (in law terms).

IANAL, but this is what I understand from my discussions with my lawyer friends (I am in weird position where half of my friends are programmers and other half is lawyers).


Poor choice of words of mine. What I meant was that it does not have legal validity.

I have done my one hour of reading on this subject, and I pretty much came to the same conclusion.
CC Zero is the way to go. I am in doubt whether to go with dual license with MIT NO ATTRIBUTION or not, as there might be some companies that do not like PUBLIC DOMAIN such as Google that forbids the company to contribute to projects with such license, where it explicitly mentions CC ZERO and have an exception for BSD0. I am wondering if this practice is extended to other big companies.

In this case it has more to do to make sure that their contribution are their own work and not from other project with license, and if they are the copyrights should be attributed given the case.

I think there is nothing less restrictive than public domain, so if I want to relicense the project under MIT or GPL later I could.
But what if its the other way around, if the project is released under GPL and I want to relicense it under BSD or MIT, would that be even possible? Can contributors wave their right so in the future I choose the license I want, including a totally proprietary one? How does relicensing work?

Thank you @hauleth . It is very similar to my use case.

Can’t you just write your own WTFPL with your own wording? I someone came up with such a license, it looks like anyone can do the same, no?

Hi! I could just write “RELEASED UNDER PUBLIC DOMAIN” and it will have the same effect, But I am trying to avoid legal voids in certain countries, and projects not being able to use my project due to similar limitations due to lack of a license. The WTFPL and Unlicense licenses suffer from this.