Tuesday, 26 August 2008

Attribution and Open Source Licenses

Filed under: Business of Software — Jan Goyvaerts @ 14:25

Anders Melander, the Share Alike-licensed component that I blogged about yesterday responed with an article why he licenses his stuff the way he does.

Putting a license on your software is very important. Without a license, nobody can legally use your software. If you create something, you own the copyright. That means only you can decide who can copy and perform your work in which ways. If you don’t explicitly give anybody any rights to your work, nobody can copy or perform it in any way. For software, that means no downloading, no compiling, no sharing, nothing. If you don’t care at all what happens to your software, simply state “This software is in the public domain.”

Yesterday I focused on the open source aspect of the CC Attribution-Share Alike license. That was the sticky point for me.

Anders writes that he chose the license primarily because it clearly requires attribution. Nice graphics and a human-readable deed add to the appeal. He’s right that the traditional open source licenses are seriously lacking in these areas.

But this isn’t a problem. The Creative Commons license is flexible. The human-readable deed clearly states:

Any of the above conditions can be waived if you get permission from the copyright holder.

Such permission is easy to give. Simply write a clear statement next to your CC BY SA license grant. If you want your open source component to remain open source, but still allow closed source applications to use it, write something along these lines:

This software component is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License. The copyright holder waives the Share Alike condition if the component is used to create an application or product where the component is not a substantial part of the overall application or product.”

You should place such sentences on your web page, near the component’s download link, so people know what they’re getting themselves into in advance. You should also place them in the (main) source code files of your component, so people can’t say they didn’t see your license statement (though that’s no excuse, since by default nothing is allowed), and can easily check later if they forget what the terms are.


  1. “Without a license, nobody can legally use your software.”

    This is plain wrong. The law is not like programming where you initialize a variable to either ‘allowed’ or ‘not allowed’.

    Copyright gives the holder thereof the right to seek redress against those violating it. It is obviously better to publish to a license with software so as to take away any doubts, but it is not true that using software for which there is no license included is automatically illegal (or rather, a violation of copyright). It is up to the creator to decide under what terms a work can be reproduced, not explicitly stating a license does not mean that no permission is given.

    I know of no legal systems in which such a ‘permission is denied in case of no explicit grant’ is codified. As always, I’m open to being proven wrong, obviously.

    Comment by Joske Vermeulen — Tuesday, 26 August 2008 @ 22:55

  2. The full legal situation is obviously a little more complicated than I want to get into on this blog.

    The short answer is that any competent legal counsel will advise you against using unlicensed software in any way. You don’t know what permission, if any, was given by the copyright holder. You don’t know if or when the copyright holder will stop by to ask for a piece of your pie.

    So if you publish software for others to use, be nice and stick a license onto it. If your throwing some source code onto the world and you don’t really care what happens to it, make a clear statement that the software is in the public domain, or attach a simple license such as the BSD license if you want to be acknowledged as the author.

    Comment by Jan Goyvaerts — Wednesday, 27 August 2008 @ 12:24

Sorry, the comment form is closed at this time.