Free vs open: What's the difference?

Paul Hudson explores the gap between the philosophies

Language is a tricky thing. Our word 'free' exists in old English, and means something not in bondage or under control – a freed slave, free speech.

And by 1382 John Wycliffe's English translation of the Bible says: "forsoth where is the spirit of God, there is liberte", showing that we had spotted and stolen 'liber' from Latin, also meaning 'without restraint'.

So, we certainly weren't short of words to describe freedom, and yet things were destined to go wrong.

In the 16th century 'free of cost' collapsed into 'free', making 'free' do the job of two rather important meanings: without cost, and without restraint. So when we talk about free software, what do we mean?

The phrase 'Free Software' is used by the Free Software Foundation (FSF) in its older meaning: it's software that comes with no restrictions for you to modify it and distribute it.

The FSF defines these freedoms as: the freedom to run the program for any purpose, commercial or otherwise; the freedom to study how the program works, and change it to make it do something else the freedom to redistribute copies; the freedom to improve the program, and release your improvements.

That much makes sense: we share our software and everyone benefits. But it does confuse many people because you are quite within your rights to sell that software if you want it – Free Software can have a non-free price tag.

This is made even more confusing because many people are familiar with the term 'freeware', which means pretty much exactly the opposite of Free Software – you can't modify it or charge for it!

In 1998, with the hope of clearing up this confusion, a group of well-known hackers gathered in Palo Alto, California, to create a new term to describe the release of the Netscape Navigator code.

That term – Open Source – was supposed to remove the ambiguities of 'Free Software', but it actually made things worse: the FSF insists that Open Source does more harm than good by focusing on the mere availability source code rather than important user freedoms.

This makes a great deal of sense: I program for Linux, and I'm not content with simply being able to read your source – if it doesn't come with the four freedoms, I don't want it.

Combining the two

One ugly, but workable, solution is to put the names together. So, Free Software plus Open Source software becomes FOSS: Free/Open Source Software. Other people clarify 'Free' to mean 'liberty' by using the French word 'libre', making Free/Libre/Open Source software, or FLOSS.

Sadly, no one knows what 'FLOSS' actually means, so you end up not just explaining the acronym, but also explaining what Free Software and Open Source is, as well as translating a word from a foreign language.

In short, it's not designed to solve the naming problem, just to pacify folks who spend far too much time arguing over naming. And so, the two fight on. And, sadly, fight they do: someone wrote in to our letters page last issue, saying:

"The 'open source' tag is a determined effort to relegate 'free software' to the back ranks to allow Linux to develop commercially", but I just don't think that's true. Free Software was never designed to stop commercial exploitation of software, as can be seen by the fact that Red Hat posted a revenue rise of 21% this year – that adds up to just under $200,000,000 in 2009.

However, it is true that open source does place a different emphasis on the benefits of our movement. Companies aren't always too interested in giving back to the community, but if you say: "Hey, you can make money from this," you usually get their attention. Of course, the Open Source definition comes with the same rights for modifying the source code – as the Open Source Initiative points out on its website:

"By constraining the licence to require free redistribution, we eliminate the temptation to throw away many long-term gains in order to make a few short-term sales dollars." In short, the Open Source movement takes a pragmatic view towards the freedom to modify software: it's great to have, but there are other things that average users care far more about.

One of the side effects of this is that many Linux users install closed-source drivers (such as for an Nvidia graphics card) or software (eg Adobe Flash Player), without thinking twice about freedom, and that doesn't sit well with the FSF.

Clashing philosophies

"The rhetoric of open source has convinced many businesses and individuals to use, and even develop, free software, which has extended our community – but only at the superficial, practical level… it brings many people into our community, but does not teach them to defend it."

RICHARD STALLMAN:Founder of the GNU project and the FSF, is a strong defender of the four software freedoms

That's from Richard Stallman's essay, Why Open Source misses the point of Free Software, and illustrates one of the downsides of the open source movement: if you want everyone to care about our free community, then couching the core beliefs in a pragmatic message may cause more harm than good.

This is where the real fighting starts. Have you ever met someone who always puts 'GNU/' before 'Linux'? Some people – even RMS himself – actually pronounce the /, giving "Guh-noo Slash Linux." This is a simple, voiced way of saying that the GNU project and all it stands for lie at the very core of Linux.

Not everyone agrees with this. Linux Format, for example, tries to sit in the middle by saying "GNU/Linux is abbreviated to Linux throughout for brevity" – it's right there in the small print on p108. Others, trying to make light of the situation, say they pronounce it "Linux" because the "GNU/" are silent letters. And then there are the truly belligerent among us, who make a point of over-emphasising "GNU Slash" and often adding "X11 Slash Gnome Slash Gimp Slash Frozen Bubble".

No one is denying that the GNU tools are pervasive – where would be without GCC? – but equally it's true that many people just don't care. As far as most people are concerned, the GNU project makes software. Very good software. Free software. But it's still just stuff to run on their computer – they aren't too concerned about the politics behind it all.

You say tomato

Richard Stallman is personally responsible for starting GCC. He also worked on GDB, Emacs and more, as well as putting in thousands of hours encouraging, supporting and building community groups around the world. So, I'm certainly not trying to ignore the past, or what Richard stands for, but I do believe that people shouldn't have to care about software freedom in order to use Linux.

If they see it as just another OS, that's fine with me. There's room enough for everyone in our community. The BSD licence says that everyone can take and use your code, as long as they give credit. The GPL licence says that everyone can take and use your code, as long as they give credit and share their own work under the same licence. Both help us build a free and open community.

You could spend hours arguing whether the BSD licence is 'more free' than the GPL, but it wouldn't change anything – we'd just be spinning our wheels while the real enemy, closed-source software, marches on.