I recently got involved in a debate on the topic of Software Licensing, and I found it sad that there is so little understanding, amongst Developers, of such an important topic. Together with writing complete and accurate documentation, knowing how to license your Software is one of the skills that any Developer worth his salt must have. At the same time, Users must learn how to read licences, and get the habit of doing it, unless they like risking to violate them without even knowing.
The debate started with some colleagues pointing out that adding a Licence to Software I distribute free of charge is restrictive, not providing a Licence at all is a better and more flexible approach, since it grants more freedom. Their opinion is that “no Licence = free for all, for any use“. Unfortunately for them, they are wrong.
The issue, in my opinion, is that many people see Licensing as some form of evil trick invented by greedy companies, such as the constantly blamed Microsoft, to confuse Users and exploit them at a later time. As such, they don’t want to have anything to do with Licensing, thinking that whoever uses it is “one of them“.
What they don’t realises is that, by stubbornly insisting in keeping their position, they make fools of themselves, as they are ignoring a fundamental rule of Copyright.
The Berne Convention
What the above Developers, probably, don’t know is the Berne Convention (some information can also be found on Wikipedia). If you don’t have the time to read it completely, here’s a key concept expressed by it:
An author need not “register” or “apply for” a copyright in countries adhering to the Convention. As soon as a work is “fixed”, that is, written or recorded on some physical medium, its author is automatically entitled to all copyrights in the work and to any derivative works, unless and until the author explicitly disclaims them or until the copyright expires. Foreign authors are given the same rights and privileges to copyrighted material as domestic authors in any country that signed the Convention.
What does the above mean? Very shortly, it means that, unless the author of a Software explicitly waives some or all of his rights, whatever he distributed, even though publicly accessible, is considered “All Rights Reserved“. This means that nobody would be entitled or allowed to download, read, copy or use the Software in any way.
Being unaware of such fact is not an excuse. If there is no explicit Licence anywhere in the Software you downloaded from somewhere, it’s not “free for all“: you cannot use it. That’s as simple as that.
What if the author says “free for both commercial and noncommercial use”?
A note such as “free for both commercial and noncommercial use” is, actually, an ambiguous Licence. It grants you some rights, but it doesn’t automatically give you all of them. For example, “use” might not necessarily mean “redistribution”. You could be allowed to install and use the Software in your business, but not necessarily to copy it, create a better version of it and resell it. There is no “obvious”, in this case.
It’s also important to keep in mind where the above note has been posted. If it is included within Software package, then you are in a better position than if it were simply posted on a generic web page. The reason for this is that such note might “disappear” from a web page, suddenly reverting Software’s acceptable uses to “none”. Depending on the case, this might apply also to the Software you already downloaded, since you cannot prove you obtained when it still was free.
Things might get even worse if the web page displaying the statement doesn’t display a date and time of last modification, as one could argue that it has always been stating “all rights reserved”. Sure, one could rely on search engine cache, and so on, but it’s still a hassle.
But the author would never play such tricks!
Whether the author is going to play trick or not may be inferred, with a certain degree of inaccuracy, if you get to know him or her, but you will never know for sure. I think that Developers who don’t include a Licence in their software do it because they are ignorant (with both the meaning of “not knowing” and “not wanting to know“), consider Licensing “legalese” (although it’s partially true) or are simply lazy. As such, the chances that they will come back to you demanding compensation for the unauthorised use of their Software could be slim. However, all Professionals and Companies I worked with would not use a Software without clear Licence terms, as they cannot take any chance. A Developer who takes such an amateurish approach towards his job doesn’t inspire much trust.
By not adding any Licence to your software, you are not doing your Users a favour, but causing ambiguity. You should always include a Licence in anything you distribute, whether for non-commercial or commercial use. Fortunately, that doesn’t necessarily mean you will have to study Law before being able to distribute your Software.
If you wish to distribute your Software on a free for all basis, there is a way to do so without having to writing your own Licence. By using one of the many Open Source Licences, such as GPL, LGPL or MIT, you can grant your Users a great degree of freedom, without any ambiguity. Besides, due to the popularity of Open Source Licences, most Users will be already familiar with them, without having to read them completely.
As for how to include the Licence, I usually recommend to add a small note at the beginning of every file in your package, indicating your contact details, a reference to the applicable Licence and a link to it. If possible, it would be even better to include a copy of the Licence file in the package.
If you choose to use proprietary Licences, and you feel that some of their terms might be hard to understand, simply add a list of FAQ related to them, and keep it up to date. You can add it to both your website, like I did, and to the Software package, perhaps naming the file Licensing-FAQ. Of course, it’s important that you cover all the most important topics, so that any Users will immediately understand what are the rights and limitations of the Licence.