The Unlicense: A License for No License

by Ostatic Staff - Jan. 11, 2010

The GNU General Public License (GPL) is often described as "Copyleft" because it turns traditional copyright on its head to make code freer than traditional proprietary copyright licenses. Taking that a step further, some developers are embracing the Unlicense, a license that "disclaims" copyright interest in a piece of code altogether. If the BSD, MIT, or WTFPL aren't Free enough for you, the Unlicense should fit the bill.

The Unlicense is a very short (four paragraphs, not counting a link back to the site for the original text) license that states the software is released into the public domain, and that anyone is free to use it for any purpose. Many projects distribute a file called COPYING or LICENSE, but the Unlicense site suggests using UNLICENSE as a file name. (Yes, they're actually all uppercase.) Aside from "protesting" the concept of copyright licensing, this will also make it easier to find code that's Unlicensed with automated tools.

Why not just throw code up with no license text at all? To put it simply, it makes things too legally murky for others who want to include or redistribute the code. As Alec Perkins points out, license notices help create a "chain of custody:

Assuming the license notices are properly included, they create a 'chain of custody,' so to speak, through redistributions. In this way, the license is a formal way to acknowledge and track usage of code.

For example, webapp Y includes package X, but doesn't mention that usage anywhere as package X is unlicensed. There is no included way for the users of Y to know package X is in there, short of digging into the code itself. A security hole is found in package X, but the author of webapp Y has discontinued working on Y. There could be a patch to fix X, but it doesn't matter because it won't be put into Y. Consequently, anyone using Y but unaware of its inclusion of X will continue to use the insecure version of X. If webapp Y clearly stated that it made use of package X, then upon becoming aware of the hole in X, the users of Y could apply the patch to their copies of Y.

No doubt the Unlicense, as opposed to a less official public domain statement or no notice at all, will make lawyers quite happy. Companies and projects that do their due diligence when vetting code for inclusion with projects can move much more quickly when the "chain of custody" is clear and there's no lack of clarity around the license for a chunk of code. Of course, don't hold your breath waiting for companies that work in FLOSS to embrace the Unlicense as a license of choice, but at least it makes inclusion of code much simpler.

Whether the Unlicense will catch on widely remains to be seen, but public domain software may be more prominent than one would think. The Unlicense site has a link to Unlicensed software and well-known software in the public domain. You might be surprised by some of the software found here. SQLite, qmail, and MinGW are all listed as public domain software. netscan and Markdoc are among the short list of projects that have chosen to release code under a version of the Unlicense.

Joe 'Zonker' Brockmeier is a longtime FLOSS advocate, and currently works for Novell as the community manager for openSUSE. Prior to joining Novell, Brockmeier worked as a technology journalist covering the open source beat for a number of publications, including Linux Magazine, Linux Weekly News, Linux.com, UnixReview.com, IBM developerWorks, and many others.