Writings on technology and society from Wellington, New Zealand

Thursday, January 31, 2008

Free software or Open source

Today on Radio New Zealand National I talked about Free Software and how this is a different concept from Open Source.

Yes, there are important distinctions between these two. Free Software is sometimes taken to mean software which is free of charge under some circumstances, but the phrase really refers to software that carries certain freedoms with it – “free” as in unencumbered.

Read on for my speaking notes.

Q: Now to free software. We’ve talked about open source before, is free software the same thing?

A: Not really, but it’s related. We’ll get to that in a bit. But let’s just start by unpacking “free” in the context of software. There are two distinct meanings of the word “free” in the software world. There’s the everyday meaning of “free of charge”, or gratis. And there’s the notion that you the software user have specific freedoms in relation to the software, such as the freedom to change it to suit you. The two types of freedom are often described as free as in “beer” – you know, if someone says “Free beer” you are pretty clear about what they mean, and free as in speech, meaning that you have some rights.

Q: Aren’t these just the same thing?

A: Sometimes they are but it’s by no means something you can take for granted. There’s a lot of so-called freeware out there which you can download and use free of charge, or maybe free of charge only for some purposes.

Q: How can they tell what you are using it for!

A: That depends on what the software is for – if it’s something that works on the Internet, maybe they can tell. But, usually, it’s up to you to say what you are using it for. If you are using, for the sake of an example, Microsoft Office Student and Teacher Edition for your business, and your business has nothing to do with teaching and learning, then if Microsoft ever audit you, you’ll be in trouble. And that highlights a point about software in general – it comes with a licence. A software licence specifies what you can do with that piece of software – what you can use it for, whether you are allowed to look inside it, whether you are entitled to a copy of the source code and so on.

Q: We are talking about a chunk of legalese here?
Coiin: Absolutely, companies that write software get lawyers to write this stuff and it ain’t pretty. Typically commercial software licences go on for tens of pages and they are not comprehensible by mere mortals. If you do try to read them you generally find that they rest on the law of the US state of California.

Q: Do people read these licences?

A: Of course they don’t. They just click “I Agree” because they know that’s what will get their software working.

Q: What if the licence says something appalling?

A: Most people – just about everyone – will never notice. I suppose, if push came to shove, you could end up in court in New Zealand claiming that something in a licence you had assented to wasn’t legal in New Zealand and that should override the terms of the licence. That would be a fascinating test case that I would rather happened to someone else!

Q: So there is a problem here – licences people don’t read and can’t understand?

A: Yes, this is a real issue, because it doesn’t lead to clarity – noone can read this stuff, for most commercial licences anyway. And every company’s licence is different.

Q: I though this stuff was supposed to be free!

A: We are getting close to the practical distinction between the two different definitions of free for software. Free as in free beer software is something you can download and use, generally subject to a list of conditions as long as your arm, without paying for it. Free software where the free is as in free speech is software that comes with a list of rights that you get with the software.

Q: Such as?

A: Well, the most commonly-cited definition is from the person who invented the concept – Richard Stallman of the Free Software Foundation. According to the FSF, free software is software that gives you 4 separate freedoms. The points are numbered, programmer-style, from 0 to 3.
0.The freedom to run the program, for any purpose. So that stops the owner of the copyright form placing onerous or hard to understand conditions on what you can use the software for.
1.The freedom to study how the program works, and adapt it to your needs. In practice this means you have to have access to the source code.

Q: So we get to open source!

A: Yes, but free software and open source aren’t equivalent terms. Richard Stallman is very careful to make that distinction – open source, he says, is a different path from free software, which is what he supports. Let’s finish the the definition of free software.
2.The freedom to redistribute copies so you can help your neighbour.
3.The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. Of course, access to the source code is a precondition for this.

Q: Perhaps you should just explain what source code is?

A: Ah yes, source code is what a programmer writes. It’s a program written out in a computer language. Source code is usually readable by humans, or at least by any programmer who understands the particular computer language used. Source code also typically contains things that are meaningful to programmers who are reading it, such as names for things that make sense, or comments which are strings of text there to explain the operation of the program to other programmers who may have to change it. That’s source code; the computer doesn’t run the source code; it runs what are called binaries or object code which are amazingly terse collections of coded instructions. They don’t even look like words in a language of any kind. You can’t read or change binaries, they are made by using a computer program called a compiler which transforms the source code into binary code. So, the point of access to source code is that it gives you a way to understand a program, to change it if you have the skills, or to pay someone else to if you prefer, and to join it to other other programs you might working.

Q: So the definition you read above is very focussed on the community – on people being able to reuse what others have done.

A: That’s rather the point of it. And the embodiment of Free Software is the GPL or General Public Licence – which we talked about last year. The GPL is a relatively simple software licence which guarantees the freedoms I just listed. When you download software and install it, and it pops up a box full of its licence text, sometimes you will see that licence is headed “General Public Licence”. You can be confident that software under that licence won’t have hidden gotchas about how you can use it.

Q: So GPL is open source?

A: The GPL allows you to get the source code if you ask for it – typically it’s either bundled with the program or there’s a pointer with the program to a website where the source code lives. But the GPL is more that just being able to get the source; it’s a guarantee of the four freedoms. The GPL means Free Software. The term “open source” is rather more permissive – it allows a wider range of software which could be licensed on a variety of conditions, just so long as you can get the source. For instance, there is a class of open source licences called BSD-style which allow anyone just to reuse any BSD-licensed program without imposing conditions on the person reusing it. So you could write some amazing software, licence it under a BSD licence, and then I could come along, grab your software, stick a few tweaks on it and my logo and sell it for a gajillion dollars under whatever restrictive licence I can think of. People who write BSD licensed software are quite happy to do this. The GPL, by contrast, requires the person reusing GPL’d software to make their derivative software available under the GPL also. So if you write some cool software and release it under the GPL, I’m still welcome to modify it as much or as little as I like, but if I want to sell or distribute my changed version it also has to be under the GPL so the same freedoms are guaranteed to the next person. This property is often called copyleft, as a sort of pun on copyright, although in law the licence rests on copyright.

Q: So GPL software, open source software, they are all free as in no charge?

A: Not necessarily. It doesn’t follow that, if I licence you some software I own under the GPL that I can’t require you to pay to use it. None of the four freedoms say anything about that. In practice a great deal of GPL software, and open source software, is free of charge as well.

Q: Can you give me some examples of free software?

A: Firefox, the web browser, is available under the GPL. The operating system Linux – which is better called GNU/Linux, by the way, to reflect large amount of GNU software it contains – is under the GPL. Incidentally, GNU refers to a specific free software project that was also started by Richard Stallman on the Free Software Foundation, lest anyone say he’s only interested in writing licences not software.
There’s lots, frankly. GCC, which is the compiler that most people use, (the G in it is GNU) is free software under the GPL. Virtually the entire Internet is built out of either Free software or Open Source. The Ubuntu GNU/Linux distribution is wholly comprised of free software.
There has been some friction between the two camps – Free Software and Open Source at times. Many people use an abbreviation like FOSS, for Free and Open Source Software, of FLOSS which adds the French word libre, just to cover all the bases without getting offside with anyone.

Q: So is free software gaining ground?

A: Definitely. In a few years we will look back and wonder why people ever put up with anything else!


The Free Software Foundation and a page defining free software.

Wikipedia on the General Public Licence and on BSD Licences.

posted by colin at 11:50 am  

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress