You are going to the home of a very generous couple. Let’s call them Rodney and Cassandra. Now Rodney is famous for brewing his own beer and it’s delicious. Cassandra makes a lovely soup. The flavour is incredible. You can imagine they are very popular. You and your friends have a lovely evening. At the end of the night, you ask Rodney if you can take home some of his beer. He agrees, but imposes some conditions.
- You can have the beer free, but for personal use only. You may not pass it on or sell it to anyone.
- You may not try to analyse or reverse engineer the beer to discover the formula in any way.
- You accept that the recipe for the beer is the property of Rodney.
Cassandra asks if you’d like to take some of her soup. You hesitate, as you don’t have a suitable container. She does not give you any actual soup, but hands you a piece of paper. It contains the recipe for the soup, exactly how she makes it. However this also comes with conditions:
- The recipe for the soup is copyrighted to Cassandra, and you can make it as often as you like, and you may pass the recipe on to anyone, as long as you also pass on a copy of these conditions.
- You may amend the recipe, provided that your amended recipe is also distributed freely under the same conditions, and acknowledges Cassandra’s earlier contribution to the recipe.
Er… I thought this was about computer software?
Yes, we’re getting there! In the case of the beer, Rodney is prepared to give it away, but jealously guards the recipe. It is free to obtain and drink, but you do not have the freedom to try to improve it. But in the case of the soup, You can pass it to anyone, some great cooks will be able to take the recipe, and improve on it. What they cannot do is claim it as their own by making the changed recipe secret. The improvements will have to be passed on under the same licence, and one day we will end up with the best soup recipe in the history of cuisine!
What I have described applies to the two main types of free software. If you are running Windows on your computer, and you download a virus checker, say, Avast Free, what you are getting is free software as in Rodney’s beer. It doesn’t cost you anything, but you’re not allowed to analyse the program, try to decompile it, to see how it works, and maybe to improve on it. And as with “paid for” software, you have to take it on trust that it doesn’t report your activities to the company that made it, for example.
On the other hand, if you download a program created under the GPL or Mozilla Licence, you will also find, at the web site for the program, the “source code” (like the soup recipe) which you can inspect, change, recompile, as long as any changes you pass on, come under the same licence. Chances are, that the source code will look like gobbledegook to you, but there are plenty of programmers who will be able to understand it. The fact that it’s published on line, alongside the program you run, means that someone will be able to send information to close security breaches, or debug it, or add new features — or even take away some superfluous features for a lighter program. It doesn’t cost you any more than Avast Free did, but the “freedom” here means something else entirely.
Why is that so important?
Well, in my last article, I mentioned how, in Linux, it’s up to the Linux Distribution itself, to handle stuff like adding, removing and updating software. It’s this freedom that makes it possible. As in Windows, you have “libraries”, these are smaller programs that accomplish frequent tasks that many programs will need to carry out. You wouldn’t have loads of different programs that all contain very basic instructions for writing to the screen, or sending sound to the speakers, or collecting input from your keyboard or mouse. Lots of other tasks are also shared in library files. Every so often, new functions become available, and libraries are rewritten to take advantage of new features. Then the programs that use those libraries have to be updated. Often it’s a case of taking the source code and recompiling it against the new libraries. Because it’s all open and free, the people that run your distribution of Linux can do this, without any legal or licensing issues, so that next time you do a software update on your computer, all the revised versions get pulled down and installed together. This is why a linux distribution, being run by a tight, conscientious team, has such an advantage over other operating systems such as Windows and OSX.
I’m a user, this is a bit technical!
So it is! The great thing for me, as a user of PCLinuxOS, is that all I have to do, every few days, is to run Synaptic (which is the program that installs and updates software), check for updates, and add them. Any worries about clashing library files (in Windows known as DLL hell) is taken care of, and everything just continues to work with the minimum of fuss. If there are any new programs I wish to add, I will also check using Synaptic, if they are there. If a new or updated program requires a library file I don’t have, it will be pulled in automatically. For the end user like me, it all makes life easier because I don’t really have to worry about any of this. It’s all taken care of automatically.
I would recommend Linux, especially PCLinuxOS, but there are plenty of choices, to anyone who really wants to see what their computer is capable of. And to anyone who fancies the idea of seeing how far Cassandra’s soup can be improved!