

There is no included way for the users of Y to know package X is in there, short of digging into the code itself. In this way, the license is a formal way to acknowledge and track usage of code.įor example, webapp Y includes package X, but doesn't mention that usage anywhere as package X is unlicensed. As Alec Perkins points out, license notices help create a "chain of custody:Īssuming the license notices are properly included, they create a 'chain of custody,' so to speak, through redistributions. 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.

(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.

Many projects distribute a file called COPYING or LICENSE, but the Unlicense site suggests using UNLICENSE as a file name. 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. If the BSD, MIT, or WTFPL aren't Free enough for you, the Unlicense should fit the bill. Taking that a step further, some developers are embracing the Unlicense, a license that "disclaims" copyright interest in a piece of code altogether. 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.
