There Are Only Four Software Licenses

0 comments suggest edit

Jeff Atwood writes a great summary of Open Source Licenses. As far as I’m concerned, there’s really only four software licenses to worry about (open source or otherwise).

  1. Proprietary - The code is mine! You can’t look at it. You can’t reverse engineer it. Mine Mine Mine!
  2. 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.
  3. 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.
  4. 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:

Found a typo or error? Suggest an edit! If accepted, your contribution is listed automatically here.



11 responses

  1. Avatar for April 3rd, 2007

    You've been kicked (a good thing) - Trackback from

  2. Avatar for The Other Steve
    The Other Steve April 4th, 2007

    Aren't all licenses "Use at your own risk."?

  3. Avatar for Haacked
    Haacked April 4th, 2007

    @Steve... Heh heh, I suppose so. Though as there is no standard proprietary license, I could see the case where they neglect to mention that in their EULA, opening them up for lawsuits in the case of medical software etc...
    But in general, I doubt anyone forgets to mention that clause.

  4. Avatar for Darren Kopp
    Darren Kopp April 4th, 2007

    so if i just go and repost all this.... we're cool right? awesome. knew you would understand.

  5. Avatar for Haacked
    Haacked April 4th, 2007

    Well, as long as you follow the license. It's fine.

  6. Avatar for Damien Guard
    Damien Guard April 4th, 2007

    The term "public domain" indicates that there is no copyright so I can't see how you can claim to put the code into the public domain and yet retain copyright.
    There is also some speculation at the moment as to whether you can actively put something into the public domain...

  7. Avatar for Haacked
    Haacked April 4th, 2007

    Whoops, I was unclear. If you license your code, you retain the copyright. But if you put something into the public domain, then yes, you relinquish your copyright.

  8. Avatar for Doom Ash
    Doom Ash April 4th, 2007

    The LGPL is a good middle ground between the New BSD and the GPL and its fairly distinct from the two.

  9. Avatar for Chris Martin
    Chris Martin April 12th, 2007

    "HAHA! You'll never catch me!"
    The above is what everyone says when they snatch code from the 'net. And, truthfully, what are you gonna do about it?
    Unless a project becomes so successful that it catches your attention, you have no choice but a public domain license. I'm in the mindset that licenses suck ass!
    Unless you have a commercial product that the code is somehow secret and original, code is code that teaches people. Period! And, if not, you have no business publishing such code.

  10. Avatar for CodeClimber
    CodeClimber April 26th, 2007

    CodeClimber Copyright and License

  11. Avatar for spuffler
    spuffler December 20th, 2009

    Hmm. How about those enigmatic licenses that Microsoft uses? Windows Media Player circa 2002: "We own whatever hardware you install this software onto, and all the hardware that comes after it, and all the hardware that ever enters the houses on your block, too. Forever. Unless the hadware is made by Apple Computer.". Or their "If I show you the license, I'd have to go back in time to kill your maternal grandmother" license which is the license seen after you open the Windows full installation package and you read that by opening the package, you already indentured you first 3 offspring into servitude.