Software in the Public Domain

I’ve been working on a project, and have decided to myself that I would make an effort to release some common utilities for the world to use.  When I have done this in the past, I picked an Open Source license almost randomly and just gone with it.  This time, I wanted to do it right.

My goal is for the license (or lack of license) to allow my code to be used anywhere.  I don’t care if someone copies and pastes it into their own file without crediting me, nor do I care if it gets packaged in some proprietary program never to come out.  It would also be nice to have some protection against liability.

I primarily narrowed it down to three options:

  1. Expat (MIT)
  2. CC0 (Public Domain)
  3. WTFPL

Of the three listed, Expat, more commonly known as the MIT license, is by far the most common.  It’s the only one on the list that is approved by Codehaus for hosting, and most developers will see a project licensed under it and not think twice about using it.

WTFPL is an interesting one.  It’s short, sweet, and to the point.  I’m not a lawyer, but it sounds like the substance is similar to the Expat license without the liability protection.  I do, however, see it as more restrictive in use, even if it is not a legal restriction, due to its wording.  Personally, I know a few people who would choose not to use code licensed under it just due to the language.

That leaves CC0.  The way CC0 works is that it attempts to dedicate the work to the public domain.  If the dedication fails (which can happen in various jurisdictions due to Public Domain laws), it, in turn, becomes a license for unrestricted use.  It also provides a liability waiver and has a very easy to read the summary.

Of the three I found, CC0 offers the best match to what I’m looking for.  So what’s the problem?  After scouring the internet for advice, I came across an Oggcast talking about releasing code in the public domain and the problems associated with doing so, mostly stemming from road blocks with the public domain. An example provided was a project under the Apache license turning down CC0 contributions because the project team wasn’t sure if the licenses were compatible (really!?).

The other issue is liability.  The Oggcast mentioned that there is no legal precedence for a liability waiver for something in the public domain. Since the work is in the public domain, there is no requirement for associated documentation to be included, and therefore the liability waiver could be lost along the way.

There are a few other concerns that come up along the way with project hosting as well. Hosting code on Google Code or SourceForge requires an OSI approved license, of which the MIT license is the only option of the one’s presented. Neither of which have support for projects in the Public Domain. Codehaus (listed above)specifically prohibits Public Domain projects.

For the reasons above, I feel I am forced to release under the Expat/MIT license, at least for the time being. My personal requirements align with CC0 the best, but the legal and social issues surrounding the Public Domain are just too numerous.