Open source licences - a beginner explores

Posted by a.hay on 11 April 2013 - 5:26pm

While exploring the wide, endless vistas of open source software as a mere novice, I came across an interesting question that I felt obliged to answer. How do all the licences work? This is more important than you might think. After all, open source doesn't mean full-on anarchy, and sadly human nature as it presently stands is still in need of someone to paint yellow lines on the road and shout "mind the gap" at tube stations even though you could probably see the gap from orbit.

Likewise with open source. Being able to download for free and edit away is all well and good, but there is always the risk that someone could then take what they have done and copyright it themselves. (As an aside, this is also a problem in the fan fiction community.) There is also the issue of liability. If someone downloads your open source software and splices it with someone else's copyrighted material and then puts up the resulting squealing mutant up on the Web for download, how do you make sure you don't get sued? Licenses also codify the requirement to not discriminate against users, so the open source really is open, and to ensure that no one has to pay for the end product.

This is a controversial subject at the best of times, with some arguing that licenses are inferior to contracts [1], in that the former can be altered by the owner at any time. Others go further, such as GNU founder Richard Stallman, who argues that anything that puts the user 'in chains', including well-meaning licence terms and conditions, could undermine the freedom to develop upon software.

Furthermore, because it is a licence rather than an open invitation, users could leave themselves vulnerable to growing levels of surveillance, back doors and imposed upgrades, as some exponents call for elements of proprietary software to be integrated into open source. Put simply, licences may eventually have the unintended side effect of making software less free and bound by a nannying attitude that stifles true innovation.

For now, however, licences continue to bring benefits. A good example of this is the Apache License, Version 2.0. It pretty much lets you do as you please with the code, but does have some terms and conditions. To begin with, if you redistribute it, you must also make clear any attributions and changes you have made and ensure the recipients are as free to alter your work as you were to alter the original software.

The GNU operating system, meanwhile, offers not one but four licences. The first of these, the GNU General Public License (GNU GPL), ensures the copyleft credentials of the code. It also provides legal protection against such recent ‘innovations’ like Tivoisation (where hardware uses GNU but also prevents you modifying it), recent copyright laws that make breaking Digital Rights Management illegal and patent trolling where you get sued for breaching copyright while coding your own open source software.

The other GNU licences include the GNU Lesser General Public License (which supplements the main GNU GPL with additional permissions for software libraries), the GNU Affero General Public License (which also allows you to modify the software over a network) and the GNU Free Documentation License, which lets you copy and redistribute GNU manuals.

Next is the BSD, or Berkeley Software Distribution as it was originally called. Now in its third incarnation, it necame a true open source licence in 1999 when a clause requiring users to acknowledge UC Berkley, where it was first developed (as the name may suggest). The main BSD 3-Clause licence is a template, allowing users to insert their own details into it, and insists on only three requirements. Namely, the source code and binaries must retain their copyright notices if redistributed, and the author's name may not be used to promote any products without express permission.

The BSD 2-Clause License is even more simple, including only the first two clauses of BSD 3. Even more simple is the MIT licence, which lets you do whatever you wish with the code as long as you include the relevant copyright notice and permission.

Finally, a famous example of an open source licence is the Mozilla Public License. This lets you freely modify the code that underpins Firefox as long as you stick to the licence's terms. These include being bound by the MPL and be made freely available, regardless of whether it also includes proprietary code. 

There are, of course, other open source licences which we may look at in future articles. If you have one you're particularly impressed or horrified by, do mention it in our comments section below. What is clear, as I continue to study open source software, is that licensing is a surprisingly important part of it. After all, just because it's free, that doesn't mean it's a free-for-all...