views:

2086

answers:

8

I have recently been wondering why so little code is ever released as 'Public Domain'. MIT and BSD licenses are becoming extremely popular and practically only have the restriction of license propagation.

The reasons I can think of so far are:

  1. Credit - aka Prestige, Street-cred, 'Props', etc. Authors don't want usage of the code restricted, but they also want credit for creating the code. Two problems with this reason.
    1. I have seen projects copy/paste the MIT or BSD license without adding the 'Copyright InsertNameHere' thereby making it a tag-along license that doesn't give them credit.
    2. I have talked to authors who say they don't care about people giving them credit, they just want people to use their code. Public Domain would make it easier for people to do so.
  2. License Change - IANAL, but I believe by licensing their code, even with an extremely nonrestrictive license, this means they can change the license on a later revision? This reason is not good for explaining most BSD/MIT licensed code which seems to have no intent of ever becoming more restrictive.
  3. AS IS - All licenses seem to have the SCREAMING CAPS declaration saying that the software is 'as is' and that the author offers no implied or express warranty. IANAL, but isn't this implied in public domain?

Am I missing some compelling reason? The authors I have talked to about this basically said something along the lines of "BSD/MIT just seems like what you do, no one does public domain". Is this groupthink in action, or is there a compelling anti-public domain argument?

Thanks

EDIT: I am specifically asking about Public Domain vs BSD/MIT/OtherEquallyUnrestrictiveLicense. Not GPL. Please understand what these licenses allow, and this includes: Selling the work, changing the work and not 'giving the changes back', and incorporating the work in a differently (such as commercially) licensed work. Thank You to everyone who has replied who understands what BSD/MIT means.

+14  A: 

Liability. Public Domain does not prevent people from suing you if your symbolic math library ends up killing their dog.

Ignacio Vazquez-Abrams
.. which happens often :)
Corey Goldberg
I'm pretty sure this is covered by AS IS
Robert Elwell
I used to release a number of my little apps that I wrote for myself as public domain, way back in the early PC days. Liability has put an end to my releasing ANYTHING to anyone (public domain or open source).
Brian Knoblauch
The liability explanation is the one I've heard most often, as well. In this case, the only purpose of the software license is to "carry" the disclaimer of warranty. I have often wondered how liable you'd actually be for damages if someone used software you released as PD. Better same than sorry?
Mark Bessey
Someone gets sued for the behavior of work released into the public domain... Has this ever happened before? Ever? In the history of civilization?
Michael Burr
You can always submit it anonymously.
Subtwo
+2  A: 

The real answer is 2 -- but for other people changing the license. If you release some code into the public domain, anyone else can take that code, modify it slightly, and then release it under their own license, which can be as restrictive as they wish. Worse, they can then sue you for infringing their license, unless you can prove that you've never seen or heard of their modifications (hard to prove a negative)

Chris Dodd
If you use the modern BSD license, anybody can take that code and release it anyway. There's BSD-licensed code in Microsoft Windows (or there used to be).
David Thornley
If you use the BSD license, you then have that as a legal defense -- they have to prove that their license predates the BSD license and was illegally removed. If it was public domain, you have to prove it.
Chris Dodd
+6  A: 

Also, to be Public Domain you have to actually "uncopyright" your code.

http://www.gnu.org/philosophy/categories.html:

"Under the Berne Convention, which most countries have signed, anything written down is automatically copyrighted. This includes programs. Therefore, if you want a program you have written to be in the public domain, you must take some legal steps to disclaim the copyright on it; otherwise, the program is copyrighted."

Corey Goldberg
+27  A: 

As far as I have heard, the legal value of "public domain" is limited to some countries. I think this means that if you publish your code under that license, someone who wants to use it, might have to step back from doing so, because (s)he could not be sure whether this "public domain" license would allow him to do so. Stricter license terms which define the actual terms in words are probably easier to use in different countries, because they are not limited to some government stuff.

To quote Sam Hocevar:

Isn’t this license basically public domain?

There is no such thing as “putting a work in the public domain”, you America-centered, Commonwealth-biased individual. Public domain varies with the jurisdictions, and it is in some places debatable whether someone who has not been dead for the last seventy years is entitled to put his own work in the public domain.

(Taken from the WTFPL page.)

hangy
+1 for the mention of the WTFPL. Best. License. Ever.
Michael Burr
Yes, thanks for the link to WTFPL!
Subtwo
One particular example is Germany: Public domain exists - but only if the author is dead for at least 70 years. You cannot grant anything into public domain yourself since you cannot deny your copyright. PD is only legal if both countries, the one of the issuer and the one of the acceptor, accept PD the same way. Else it is considered no license at all, so it's better to release under non-restrictive licenses like MIT or BSD instead if you want people to use it globally without always asking you for a explicit written permission.
Energiequant
You'll notice that many photos on Wikipedia are listed as "public domain" followed by an "if this is not possible" clause. Public domain doesn't work everywhere.
TRiG
+2  A: 

Probably the main reason is that it is damn near impossible to do in any legally binding way in the USA. All works are automaticly copyrighted. You can include a declaration that the item is being released to the Public Domain, but I've never seen a legally-tested boilerplate for it.

That being said, I still will attempt to do so in situations where it would make sense (including any situation where others might use a BSD style license). For my own work I basically follow the following tiers of licensing, in order of ascending freedom:

  • Whatever my company forces on me - When they pay the bills.
  • GPL - Anything that is a complete work in and of itself.
  • GPL with inclusion and linking exceptions - For libraries, facilities, etc.
  • Public Domain - For partial implementations of libraries (as above) that I'd like anyone to be able to pick up and work with however they'd like.
T.E.D.
A: 

Sometimes, the only right worth holding onto is right of Authorship (which I guess could relate to #1.)

That's what BSD/X11/ISC/MIT/etc. licenses allow.

Broam
A: 

A very good explanation for Public Domain laws in the United States : http://cr.yp.to/publicdomain.html

Jay Sullivan
+1  A: 

The Software Freedom Law Show recently did an episode about this, where they discuss this very question in detail.

Teddy