There Are Only Four Software Licenses
- Proprietary - The code is mine! You can’t look at it. You can’t reverse engineer it. Mine Mine Mine!
- GPL - You can do whatever you want with the code, but if you distribute the code or binaries, you must make your changes open via the GPL license.
- New BSD - Use at your own risk. Do whatever the hell you want with the code, just keep the license intact, credit me, and never sue me if the software blows your foot off. The MIT license is a notable alternative to the New BSD and is very very similar.
- Public Domain - Do whatever you want with the code. Period. No need to mention me ever again. You can forget I ever existed.
Yes, there are many more licenses, but I think you’ll do just fine if you just stick with these four. (Note, I am not a lawyer, take this advice at your own risk and never ever sue me. Ever.)
Of course, this really is focused on software, what about the content of your blog, or sample code in your blog?
For small code snippets in your blog, I recommend either explicitly releasing the samples to the Public Domain or pick the new BSD License.
UPDATE: I’ve updated this section based on feedback. Creative Commons is a poor choice for source code.
The tricky part in my mind is that there are two potential uses for source code snippets in a blog.
For example, you may just want to post the same code in your blog. In that case, I see the code as being content, for which CC might be appropriate. The other use is posting the code in an application. Then it really is source code, and CC is not appropriate.
In any case, my source code snippets are released to the Public Domain unless otherwise stated. I only ask that you do reference the blog post where you got the code from, but it is not required.
Note, except in the case of releasing content to the Public Domain, if you choose to license your code using an Open Source License or license your content using a Creative Commons license, it does not mean you give up your copyright to the material. You still own the copyright. The license just lets people know that they may make use of your content and what restrictions are in place. That is where the Some Rights Reserved phrase commonly associated with Creative Commons content comes from, as opposed to All Rights Reserved.
Also, keep in mind that you can choose to license code snippets in your blog differently from your blog’s content. Many people do not want to share their blog content, but do want to share code snippets. Just make it clear in your copyright notice.
If you want to know more about software licensing, check out my multi-part series on copyright law and software licensing for developers: