Writings on technology and society from Wellington, New Zealand

Thursday, August 23, 2007

The General Public Licence

Today I talked about the General Public Licence, one of the ways in which software is licensed. It’s very important for several reasons, and it’s controversial because some software companies see it as a threat to their ways of doing business. Others see it as essential. My notes are below, and some links are at the end.

Q:What is the general public licence?

A: It’s a software licence. And that sounds dry as dust, I know, but it’s actually rather important.

Q: OK, why is it important?

A: It’s an open source licence, first of all. We’ve talked about open source before, remember – it’s software where the source code, the part of a program that a programmer can read and modify, is available, not locked up as a trade secret. And some people use the term free software to mean what I have just described as open source – you’ll sometimes see the term FOSS, for free or open source software. Free in this context doesn’t necessarily mean you don’t pay to use it, although in practice you generally don’t pay to use most free or open source software – it just means you are free of many of the restrictions of the closed source licences, so you can look at the source code and change it if you want.

Most programs you pay for, like Windows or Excel, are closed source. Most open source programs are free of charge although that’s not invariable – they don’t have to be.

Q: Can you give me some examples?

A: OpenOffice, Firefox and GNU/Linux are all open source. Most infrastructural software on the Internet is open source. The Internet wouldn’t have happened without open source software, and most recent open source software is developed by people cooperating across the Internet. There’s a symbiotic relationship between the Internet and open source – each one uses the other to grow in strength.

But there are a variety of free or open source software licences. When you buy or download software you don’t take possession of it – you get a licence to use it. The ownership belongs with someone, usually the original author unless he or she has chosen to give it away or sell it. So, you get a copy of the program and the right to use it, and possibly other rights as well. In commercial software those rights are set out enormous chunks of legalese that everybody clicks “I agree” to without trying to understand them. Generally every piece of commercial software, or at least every software company, has its own licensing terms and conditions. In the open source world there is also a variety of licences, but less of one – most open source software is under one of about three major licences that aren’t tied to any particular company or piece of software.

Q: And the General Public Licence is one of these?

A: Exactly so. Most open source licences are very permissive – they let you do what you like, often including incorporating the open source program into your own work. But the GPL is a little different – it’s the open source licence you use when you want your stuff remain open source. The GPL says: this is open source software, you can use it, you can have the source code, feel free to change the software to suit yourself – but there is a condition, if you distribute some software that is under the GPL and that you have changed, you have distribute your changes and the changed source code under the GPL as well. The requirement to distribute derivative works under the same licence is called copyleft by its inventor.

Q: Why is that important?

A: It’s both important and clever. It’s important because it prevents people who write closed source software from just taking open source software – or at least open source software released under the GPL – and incorporating it into their closed source products. Most people who write open source software think that’s only fair. It’s clever because it uses precisely the same law – the law of copyright – to prevent closed source companies from re-using open source work as though it were their own, the same law that these companies use to protect their own work.

Q: OK, so that’s a clever thing. But why does it matter so much?

A: Some would say it’s about fairness. If you had had spent hours, weeks or months writing software for people to use and appreciate you might not want a software giant jus tot be able to say “thanks” and stick it into their latest paid product. Frankly, I am amazed that all people don’t think that, but they don’t because quite a lot of open source software is released under completely relaxed licence conditions that let companies do just that to it. Windows’ first networking code came straight out of BSD, which is an operating system with a relaxed licence. So, when Microsoft found it had missed the arrival of the Internet in about 96, it was able just to download that code and put it right into Windows.

But other people see the GPL as being about more than fairness – many proponents would argue that it’s about ideology. This is essentially the view that says that software is part of culture and, as with science, culture all builds on what has gone before, and it is therefore wrong to try to prevent others from recycling your work. I’ve heard the analogy with arithmetic, for instance. If arithmetic were copyrighted, this analogy runs, you would have to go to the arithmetic shop to buy enough arithmetic in advance for any calculations you might need to do, such as balancing your cheque book, checking your change, or figuring out if you are going to get through the next fortnight. We all think that would be appalling – we would never allow someone to control something to basic, so essential to our culture, our way of living, as arithmetic. The argument is that computer software – which is just a structured way of writing down how to do something – is just as basic to our culture as it moves forward as arithmetic is.

Q: OK. So the GPL prevents companies from taking other people’s work, and some people have an ideological agenda for it. How do the rest of the software business see it, those who don’t do GPL software themselves?

A: They tend to view it with horror. A word that is frequently used by big software companies to describe the GPL is “viral”. It’s hard not to see that as perjorative, but then, many software companies rely on keeping their source code a trade secret and find the open source a threat. Such companies tend to say things like: if you use any GPL’d code anywhere in a project, you have to publish the source code for your project, even if its just for internal use. That’s rubbish. Private modifications don’t have to published; that’s very clear in the GPL. You do have ot publish if you make changes and distribute it to others, ie if you sell it or put on the Internet for download. That kind of rhetoric has toned down over recent years as people have realized that open source software is not going to go away. In fact, it seems to be gaining traction, with governments and big companies using it. And of the open source software projects on sourceforge, a popular open source development website, over 2/3 use the GPL instead of some other open source licence.

Anyway, the GPL is written in English, and it’s comprehensible by mere mortals who don’t have legal training. The whole licence recently went through a major revision that involved about two years of public consultation. People who were strongly against it were consulted as well as many people who think it’s a good thing, including open source software authors who release software under the GPL. The main changes were about closing loopholes that had arisen over the years where software and hardware manufacturers had found ways around the requirement to publish their changes to GPL software – effectively they were using the fruits of others’ labours but not letting others do the same with theirs.

Q: Where does all this stuff come from? Who would spend so much effort on a software licence if it’s all given away for free?

A: The GPL is part of the GNU project to provide free software for everyone. It has written some world-beating freely-available software which are in very wide use on computer around the world. Linux, for instance, the open source operating system, was written by a team led by Linus Torvalds, but that was just the core or kernel of the system: any useful Linux system consists of the kernel wrapped up with a whole lot of GNU software. That’s why its often called GNU/Linux. Anyway, the GNU project and the GPL are the brain children of a man named Richard Stallman, someone who used too be at the Massachusetts Institute of Technology – he may still be, we will probably get email on this – who some years ago took exception to the tendency of computer software manufacturers to prevent access to the source of their products. Stallman responded by personally writing a great deal of useful software, for which he published the source of course, and by building the general public licence so that other open source programmers would have a way to publish their programs without them being turned straight into closed source programs by others. Stallman was granted a Fields Medal by Congress for his endeavours. He’s still active in the GNU project and the Free Software Foundation which he also founded.

Q: We are hearing more and more about open source. Is it a trend for the future?

A: I certainly think so. Years ago all software was open source – you wouldn’t think to do it any other way. I think the closed source model will soon be seen as a historical aberration. Linus Torvalds, the man who wrote and maintains the Linux kernel, likes to quote Gandhi on this point: First they ignore you, then they laugh at you, then they fight you, then you win. I think open source is well into the ‘then they fight you’ stage, and there are increasing signs of it winning out altogether.


Wikipedia on free software licences and on the GPL.

The GNU General Public Licence as text – surprisingly readable.

An analysis of the difference between version 3 (latest) and version 2 of the GPL.

A very good speech in which Eben Moglen, the GPL’s main author, explains the reason for the GPL.

posted by colin at 9:39 pm  


  1. The talk by Eben Moglen is very interesting, thanks for linking to that.

    Also, look forward to you covering software freedom day on National Radio, 15 September. (And the “free” here relates to free speech, not free beer.)

    Comment by Peter Hewett — 25 August 2007 @ 8:26 pm

  2. Colin

    Very good, clear explanations. Can we quote you?

    Could you also tell to your audience how you manage self replication?

    Comment by Don — 27 August 2007 @ 10:09 am

  3. Yes, you can quote me.



    Comment by colin — 27 August 2007 @ 10:13 am

  4. Hi Colin,

    I’ve congratulated you before for your knowledgeable and accessible explanations of important computing concepts on NatRad, but that interview was really outstanding. You do a great service for the open source community who are usually shouted down by wealthy, influential commercial interests who have a lot to lose as open source gains momentum. The current OOXML debate (particularly in other countries) is an illustration of the lengths to which they’ll go to protect their interests. I, for one, think it’s the beginning of the end for them, though. The masses are starting to wake up.

    All the best,


    Comment by Dave Lane — 28 August 2007 @ 8:22 am

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress