Friday, 16 November 2012

Unlicense

Over the last few weeks I've done a lot of work making some programs for my parallel programming course. I'll get to those in another post. One problem I ran into was how to license it since I have everything on Github. Now I really don't care if anyway uses something I did, nor do I care how they do it. I just want to be sure I'm not liable for anything. Basically I just want to release to public domain. MIT and BSD licenses are good, way better than GNU, but there is still have to make sure the license is copied and the author attributed properly. Frankly I find that last part a bit vain. If you're going to make something free for anyone to use in anyway, then just do it.

But you cannot just release to public domain. Although it depends on jurisdiction, many places do not let you make something public domain. The only way to get something in public domain is when the copyright expires. Copyright is automatically given to the author when they make something. However you can make the license be effectively public domain. There are currently two license that do this. The first is the Creative Commons CC0 license. Unfortunately is doesn't seem the best suited to code, and worse it is really long. The sheer length of it would make me worried about using the code because I just wouldn't really understand it all. That is why the MIT and BSD licenses were so good. The I found the other one, the Unlicense.

Why Unlicense? Here is what they says.
Because you have more important things to do than enriching lawyers or imposing petty restrictions on users of your code. How often have you passed up on utilizing and contributing to a great software library just because its open source license was not compatible with your own preferred flavor of open source? How many precious hours of your life have you spent deliberating how to license your software or worrying about licensing compatibility with other software? You will never get those hours back, but here's your chance to start cutting your losses. Life's too short, let's get back to coding.

Source: http://unlicense.org/
 And here it is.

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

For more information, please refer to <http://unlicense.org/>
No liability and it is simple. However there is one gotcha. To protect yourself from accepting contributions which would automatically be copyrighted to the author of that contribution, every contributor should include a simple waiver with each contribution, or at least major contribution. If you want you can go further by requiring a digital signature. There are more details at http://unlicense.org

Of course this also means you can only use public domain (or equivalent) sources for code, but there is actually a lot of it out there.

No comments:

Post a Comment