Part III

Getting serious with Free Software



Finding Free Software to suit your needs

According to Barry Schwartz's “The Paradox of Choice”, choice can be a bad thing. If that is the case, then Free Software is very bad, because so many choices are available. It is, as a good friend of mine describes it, an embarrassment of riches.

This chapter will help you choose from these riches. It will teach you about some of the resources available and give some tips for finding and evaluating Free Software. The character examples highlight some of the best available software to get you started. By the end, I hope you will agree that choice is a wonderful thing.

Searching for software – let Google guide you

With the right words, you can find most Free Software through Google (www.google.com). Google is useful because its rankings are influenced by popularity – the more websites linked to a particular website, the more importance Google assigns to that website. This is usually a good indicator of how close software is to being the standard in its category.

For example, if you search for web browser, the top result on Google is Mozilla, with its open source software like Firefox and Thunderbird (see Figure 1).

However, not all examples are this simple. For most cases you will need to specify that you are interested in Free Software by adding GPL to your search. This refers to the GNU General Public License, which has the four freedoms of Free Software. For example, cd rip gpl shows Zlurp (www.zlurp.com), which allows you to copy your music CDs onto your computer.

Frame3

You can widen your search a little by using open source rather than gpl. Open source software is available free of charge and its source code is available for inspection and improvement. Free Software is an example of open source software, but the term open source is more commonly used on Google.

This is why Google shows Audacity as the top result (http://audacity.sourceforge.net/) for the search sound editor open source.

So far we have used search terms that accurately describe the software, but sometimes you will not know the correct description. It helps to use the name of a popular commercial alternative. For example, word open source shows OpenOffice.org on Google.

Finally, you will not always get software as the top result on Google. Instead you might more usefully get an article guiding you through your options. For example, photoshop open source shows a NewsForge article1 describing alternatives to the image editor Adobe Photoshop. These include GIMP, which is described in more detail in M. Braille’s example on page 12.

Friends, family and forums

Of course, you do not have to accept Google’s judgement of the most popular software. Often, choosing the same software as the one that your friends and family members are using is better. This way you can ask them for help when you are learning how to use the software and exchanging files is easier. You will also be able to ask for their opinion of the software’s strengths and weaknesses.

Finally, contact your local GNU/Linux User Group. GNU/Linux is a Free Software operating system, an alternative to Microsoft Windows that is discussed in the next chapter. Enthusiasts in these user groups provide useful advice, training and support with Free Software. Attendance at their sessions is almost always free and the details of your nearest group will probably be available at www.linux.org/groups/.

Downloading the software

Once you find software that you think you will use, you can download and install it for your computer. There are three points to look out for: the version number of the software, its download location and whether or not the file is zipped.

The version number

The version number of the software tells you how recent the version is. For example, OpenOffice.org 2.0 is more recent version than 1.1.4, which is in turn more recent than 1.1.3. Usually you will want the latest version because it has the most features and the fewest bugs, but there are two exceptions.

First, you might want an older version if you have an older computer. This is because the fewer features of the older version make fewer demands on your computer, which is important if the computer is old and therefore less powerful.

Second, the words “beta” or “alpha” next to a version number indicate that it is still under testing. This means you can get early access to the new features but that the bugs have not been fully removed yet. For example, Mozilla Firefox 1.1 alpha should only be downloaded by programmers because it is so experimental, while Firefox 1.1 beta is probably stable enough for most users to take advantage of the new features. However, if you are using your computer for critical work, or if reliability matters to you more than features, you should only download Firefox 1.0 today, or Firefox 1.1 when it is finally available.

Download location

Because Free Software is so popular and because downloads make considerable demands on the websites making them available, creators of Free Software share the load with partners around the world. To download the software you must pick one of these partners to get a copy.

For example, OpenOffice.org is available through universities (such as Brazil’s Pontifìcia Universidade Catòlica do Paranà) and internet service providers (such as Australia’s Pacific Internet) around the world. The list is shown to you when you click the download link on OpenOffice.org’s website (see Figure 2).

Any of the sites is suitable, but it is often faster to choose the one that is closest to you geographically. For example, if you are in Canada, choosing the US site will probably be more efficient than choosing the Australian one and choosing the Canadian one probably the most efficient.

Finally, because you are looking at the page using a web browser, make sure that you select the link next to HTTP rather than FTP.

Frame4

Unzipping software files

Software installers usually require several files. To save you the trouble of downloading each of these separately, programmers often combine the files into one. This is the case with OpenOffice.org. The combining is called compression, or zipping and you can tell this has been done because the file name ends in .zip.

When you download the file you must reverse the compression to recreate the original files. This is called unzipping.

If your computer is running Windows XP or Mac OS X it is already capable of unzipping2. If not, 7-zip is Free Software that works on all versions of Windows and allows you to unzip (www.7-zip.org).

Incidentally, you can use 7-zip to zip your own files. This is useful for emailing several files together as one file; converting several large files into one file which is smaller than the total of the original file sizes; and for encrypting files so that their contents can only be accessed with the correct password.

Examples

Mrs Shrub uses FreeMind for mind maps (see page 8)

Dr Digitalis uses OpenEMR for her patients' medical records (see page 10)

M. Braille uses GIMP for drawings (see page 12)

Mr Big uses Gantt Project for project management (see page 13)

Ms Yates uses Plucker for her handheld computer (see page 14)

Mr Salah Al-Din plays games (see page 16)

Mrs Shrub uses FreeMind for mind maps

A mind map is a great way to show complex information. The most important point is largest and at the centre of the page. Its subsidiary points appear as smaller branches and sub-branches. Using colours and pictures provides vivid learning for the brain (see Figure 4).

I greatly benefited from this method during medical school because it allowed me to understand and remember the lectures.

Mind maps (www.mind-map.com) were invented by Tony Buzan in the 1960s and since then millions of students, businessmen and professionals have benefited from his techniques. If you have not read any of his books yet, your library will almost certainly contain one and it is well worth learning more.

Frame5

Mrs Shrub liked to use mind maps because of the number of policy reports and data that came to her desk every day. She made mind maps of the important reports so that she could refer to them later.

Searching for mind maps gpl she found FreeMind (http://freemind.sourceforge.net/), which she downloaded from the UK’s University of Kent (see Figure 3).Like OpenOffice.org, it required the latest version of Java to run (http://java.sun.com/j2se/index.jsp).

FreeMind is designed for speed. Pressing the Insert key creates a new sub-branch, while pressing the Enter key creates a branch of the same thickness (see Figure 4). Mrs Shrub could quickly create an outline of the points in any document she was reading.

The left hand side contains icons that you can add to each branch, or you can add your own pictures and diagrams using the Set Image command. Finally, the Export to HTML command creates webpages out of mind maps.

Frame6

Dr Digitalis uses OpenEMR for her patients' medical records

There are several open source tools for storing medical records. One of the most widely used is the Veterans Health Information Systems and Technology Architecture (VistA).

Created by and for the US Department of Veterans Affairs, the software contains the medical records of millions of US military veterans and their families (www.worldvista.org). This means it is probably the most popular medical records software in the world. Because it is available in the public domain it is also used outside the USA, including in the Berlin Heart Institute of Germany and the National Cancer Institute of Cairo University in Egypt.

However, setting up the software requires considerable expertise and maintaining it requires access to an IT department. This meant it was not suitable for the small practice of Dr Digitalis.

For her, OpenEMR (www.openemr.net) was more appropriate. Its code is available as Free Software and an experienced computer professional can install it onto a website within one hour.

Once running, OpenEMR is available through any web browser software on any computer connected to the internet. This included the tablet computer of which Dr Digitalis had grown fond.

With the right username and password you can create different user accounts for your team members. Through the website a clinician can enter information about a patient’s problem, examination findings and test results. The clinician can also prescribe medications and print off the prescription.

OpenEMR is fully HIPAA-compliant. This means that it conforms to the US legislation on the security and portability of medical records. Its billing modules work with US health insurance clearing houses like ProxyMed and Zirmed.

More importantly for Dr Digitalis, several companies sell products and support to ease installation and maintenance. For example, for $300 Synitech sells a portable hard disk with the software already installed (www.synitech.com). The patient records are stored encrypted on the hard disk and this can be locked at night. And because it is portable, Dr Digitalis could carry it home if she wanted to access her patient records there.

In the end, she chose the services of the Pennington Firm (www.pennfirm.com). For an annual fee they provide a website running OpenEMR through which she could access her patients’ records. They make regular backups of the patient data. They also implemented several extra security measures such as restricting access to the website so that only computers in her clinic or home could view the patient records. This meant that Dr Digitalis could stop worrying about backups and security and just concentrate on using the software to support the care of her patients.

M. Braille uses GIMP for drawings

The GNU Image Manipulation Program (GIMP – www.gimp.org) allows you to create and edit images. Its features match those of Adobe’s Photoshop, including layers, masking, blending, toning, image maps and scripting.


Figure 5: The GIMP

These features make it well suited to professionals, but M. Braille’s students also wasted no time in putting it to use.

Because it is such a well established tool, many books have been written about it. The GIMP website lists these, including the French book “(A la) SOS GIMP”3. Its entire text is available free online (www.le-radar.com), as is the text of the English book “Grokking the GIMP”4.

The site also included several useful tutorials for beginners (www.gimp.org/tutorials/). The children used these and were soon editing their family pictures for the school’s website.

In trained hands, the GIMP is a speedy tool because it has many keyboard shortcuts. Pressing a series of shortcuts is faster than clicking the menu items using the mouse. The more experience the students gained, the more they wanted to memorise these shortcuts. They were delighted when M. Braille bought a copy of “The GIMP Pocket Reference”5.

Mr Big uses Gantt Project for project management

Because it is web-based, dotProject does have a weakness: entering lots of information can be slow.

That is why Mr Big appreciated the ability to import Microsoft Project files. At the start of a project he could enter lots of preliminary details quickly using Microsoft Project then import the file into dotProject. Collaborating with the rest of the team on finalising the details was faster with dotProject.

Better still, dotProject can import Gantt Project files (http://ganttproject.sourceforge.net/). Like Microsoft Project this runs on a PC rather than a webserver so it is fast to enter data. It matches Microsoft Project for many features.

The software also works with FreeMind thanks to gan2mm (http://ganttproject.sourceforge.net/extras.php). This is one of the extra tools available and demonstrates an advantage of Free Software: because the code and files are transparent it easy to create integrated tools.

And because it is free of charge Mr Big insisted that all his employees use the software. Combining it with dotProject gave the staff powerful tools for planning and tracking their projects.

Frame8

Ms Yates uses Plucker for her handheld computer

Plucker can make a copy of a website. This is useful if you want to look at the website later on without a connection to the internet.

The software comes in two parts: the distiller, which makes the copy and the viewer, which lets you look at it. The distiller is designed to work on a PC running Windows, GNU/Linux or Mac OS X operating systems. Although viewer versions are available for these PCs the most useful versions run on Palm Powered and Pocket PC handheld computers.

The Palm Powered version interested Ms Yates the most. She downloaded the Plucker Desktop for Windows from www.plkr.org. This includes the distiller for her Windows PC and the viewer for her Palm Powered computer. The Pocket PC viewer is available at http://vade-mecum.sourceforge.net/.

Ms Yates used Plucker for news websites. Although handheld computer screens are small, the Plucker viewer adjusts the layout for comfortable reading. It was perfect for long trips. The battery on her handheld computer lasted much longer than her laptop’s, allowing her to read the news while standing in line or waiting for her flight.

Plucker is also useful for reference websites. For example, the entire CIA World Factbook is available for download6 and Plucker can work on the downloaded webpages. Ms Yates loved learning about other countries through this.

Ms Yates also used Plucker to create copies of books from Project Gutenberg (www.gutenberg.org). The website has copies of books that are available in the public domain. She particularly enjoyed reading “Self Help”7, perhaps the first book in the self-help genre.

The website www.palmopensource.com contains several other Free Software tools for handheld computers. Most of it is for Palm Powered devices, but the newer http://ppc.palmopensource.com/ contains Pocket PC software as well. The sites include several serious business applications that helped Ms Yates with her work – but it was the game OpenChess that occupied her most (http://palmopenchess.sourceforge.net/).

Mr Salah Al-Din plays games

There are many Free Software games available, including the educational ones like Tux Typing produced by Tux4Kids (www.tux4kids.com).

One of the most comprehensive listing is the Games / Entertainment category8 of www.sourceforge.net. The students used this to find a Free Software version of the Risk (http://jrisk.sourceforge.net/) board game.

Many of the multiplayer games can be played through a computer network. To start a game, one student would designate his computer as a game server and the other students would use their computers to connect to it. All the students connected to the server would be able to play the same game together.

Some games, like FreeCiv (www.freeciv.org), make public servers available (http://pubserver.freeciv.org/). This allowed the students to play from their home computers with their friends from around the world. But it was Mr Salah Al-Din that played the most. The game is a Free Software version of Sid Meier’s classic game, Civilization, which is wonderful for teaching history. As the game progresses the player builds cities of increasing sophistication and develops technologies and military units.

Finally, there are plenty of Free Software games that offer original gameplay rather than copying existing commercial games. But many of these are only available for the GNU/Linux operating system, with no Microsoft Windows version available. The students began asking Mr Salah Al-Din for copies of GNU/Linux.

Further resources

Go all the way with GNU/Linux operating system

On January 6th 2005, Bill Gates's computer crashed, again. Embarrassingly this happened while he was giving the keynote speech at the International Consumer Electronics Show in Las Vegas. Even if Mr Gates had been using OpenOffice.org Impress rather than Microsoft PowerPoint his presentation would still have had an unnecessarily high chance of crashing because his computer was running Windows. As you read this chapter there may well be another news story about a bug or virus that is threatening Windows users.

It does not have to be this way.

GNU/Linux is good

So far most of the Free Software tools in this book run on Microsoft's Windows and Apple's Mac OS X operating systems. I chose these tools because you can experience the advantages of Free Software without having to change your habits.

But a Free Software operating system does exist and it is called GNU/Linux. In fact it is the jewel in the Free Software crown: secure, high quality, tested software that enterprises depend on for their most critical computing tasks.

All the Free Software described so far is available in versions that run on GNU/Linux. There are also some great examples that only run on GNU/Linux, with no Windows versions available. For example, GnuCash is respected accounting software (www.gnucash.org). Scribus has impressive desktop publishing capabilities for designing posters, brochures and books (www.scribus.org.uk). Evolution (www.gnome.org/projects/evolution/) has the features of Microsoft Outlook, including a calendar and address book. It also has Microsoft Exchange compatibility, without the security risks and viruses of Outlook.

As operating systems go, GNU/Linux is rather efficient. It runs quickly even on computers that may be running too slowly with Microsoft Windows. Many users begin their switch to GNU/Linux by installing it onto an old computer that is no longer coping with Windows.

GNU/Linux is also more secure. The Honeynet Project's (www.honeynet.org) researchers regularly test operating systems for their ability to withstand attacks from the internet. Their January 2005 report9 showed that PCs running unmodified GNU/Linux lasted an average of three months before being hacked. The average time for PCs running unmodified Windows was measured in minutes.

GNU/Linux is not for beginners

There are some caveats. Not all the software that is available in a Windows version is also available for GNU/Linux. This is changing as more software is developed for the expanding market of GNU/Linux users.

You might still find that one or two applications you depend on are only available for Windows.

There are two ways around this. The easiest is to find alternative software designed for GNU/Linux. For example, Evolution has similar features to Microsoft Outlook and its interface will be familiar to anyone who is used to Outlook's. The software is also compatible with Microsoft Exchange, meaning that your GNU/Linux machine fits perfectly well into a network of Windows machines.

Alternatively, for specialised applications with no GNU/Linux alternative, you can use emulator software. This allows your GNU/Linux machine to act like Windows for the purposes of running your Windows software. One of the most popular emulators is called Wine (www.winehq.com) and it is quite usable for most Windows software.

The other caveat is more significant: GNU/Linux works in a different way to Windows. On the one hand, this is a good thing; it is how you can avoid the crashes and security problems of Windows. On the other, this will mean a period of unfamiliarity at the start.

In the past few years, one welcome development has been a dramatic improvement in the GNU/Linux user interface. Newer versions of the software are more user-friendly and some versions have tried to mimic the Windows interface, making the switch less painful.

But it is not painless. You should only install GNU/Linux if you are a computer expert, or if you have the help of a computer expert. For a start, the expertise is necessary to choose between the different versions.

There are many versions of GNU/Linux

There are different versions of GNU/Linux and the differences matter. Each of the versions, known as a distribution (www.linux.org/dist/), is maintained by one company or organisation. Each distribution focuses on a particular group of users. Making the right choice at the start will save you effort and ensure your needs are met.

Examples

Mr Salah Al-Din experiments with Knoppix live CD (page 23)

Ms Yates chooses Linspire for ease of use (page 24)

M. Braille chooses Ubuntu for its international features (page 26)

Mrs Shrub chooses a Beowulf cluster for affordable and scalable computing power (page 28)

Dr Digitalis chooses Lycoris for her tablet PC (page 30)

Mr Big chooses Red Hat for support (page 32)

Mr Salah Al-Din experiments with Knoppix live CD

A live CD is a safe way of trying GNU/Linux. Whenever you start up a computer with a live CD inserted the computer will run GNU/Linux. No software will be installed, instead the operating system will run from the CD.

If for any reason you decide you no longer want to use GNU/Linux, take out the CD and restart the computer. The computer will return to whatever state it was in before you used the CD. Your Windows installation and files will be untouched.

One of Mr Salah Al-Din's students gave him a live CD version of GNU/Linux Knoppix (www.knoppix.org). He tried it on an old computer and it ran well. The CD included Firefox, OpenOffice.org and other tools for class work.

Rather than installing it, Mr Salah Al-Din decided to make copies of the CD for each of his classroom's computers. This way he would avoid the problems of Windows crashing in the classroom and of students making changes to the computers that he had to fix. All he had to do was restart the computer and the live CD would return to its original GNU/Linux state, ready for the next classroom.

He also made copies of the CD for other students to take home – Knoppix included several games that they had been asking for.

Ms Yates chooses Linspire for ease of use

Linspire (www.linspire.com) is one of the easiest versions of GNU/Linux to use. When Ms Yates decided to switch she found it at her local Staples store. The Value Bundle includes a CD and a one year subscription.

She switched because she could not restart her Windows computer. She did not know why and the computer support representative did not know why either. The representative could only suggest using the recovery CD that had come with the computer.

Sadly, “recovery” was a misnomer. The CD would delete all the files on her computer and then install a new copy of Windows. She would have to install any other software that she wanted. And, she would only be able to reclaim her files because she had been regularly backing up her computer, making weekly copies of her documents onto external hard disks.

Within half an hour of inserting the Linspire CD into her laptop computer, Ms Yates was browsing the web through her broadband connection. The software looked as familiar and easy to use as Microsoft Windows (see Figure 7).

However, in some ways Linspire was even easier to use. The one year membership meant she could take advantage of the Click-N-Run (CNR) Warehouse. This gave her access to thousands of software applications. She would select the ones she wanted to install and CNR would take care of the rest.

Frame1

Half an hour later, she had installed the latest versions of OpenOffice.org, Firefox, Thunderbird and GIMP. She also found new software like Evolution, which was more powerful than Thunderbird and Gnucash, which seemed promising as an alternative to Quasar Accounting. In the end, however, she stuck to Quasar because she wanted to use her prior accounting files and Thunderbird because she was used to it.

Browsing the CNR Warehouse is particularly useful because it is well organised into categories and the software tools in each category are ranked by popularity. In this way Ms Yates identified many software tools of which she was not aware.

These included project management tools like Planner (www.imendio.com/projects/planner/) which allowed her do draw a Gantt chart for the next phase of her marketing plan. But it also included plenty of home and educational software that her children would enjoy.

The children would not need her laptop to use the software because she could install Linspire on all her home machines. Within another hour she had installed Linspire on her family desktop PC and used her CNR account on that PC to get more software.

That PC still had Windows installed, but Linspire coexisted happily with it. In time the children preferred the Linspire machine because it included software to manage their digital camera's photographs (http://info.linspire.com/lphoto/) and to organise the music (http://info.linspire.com/lsongs/) from their CD collection.

To protect them on the internet Ms Yates bought a one-year susbcription to SurfSafe. This service prevents family computers from accessing adult-only websites (www.linspire.com/surf_safe_info.php).

In time, Ms Yates would feel safe enough to delete Windows from that PC. For now, she felt comfortable with the security and stability that Linspire's GNU/Linux technology gave her laptop.

M. Braille chooses Ubuntu for its international features

Ubuntu has excellent support for different languages, particularly African ones such as Swahili. This is a language supported by OpenOffice.org but not Microsoft Office.

M. Braille first heard about Ubuntu GNU/Linux while on a trip to Kenya, where another school there was already using it.

Ubuntu GNU/Linux solved another problem that M. Braille was facing: donated PCs with Microsoft Windows 98. Because Microsoft had stopped supporting Windows 98, he could not get security updates to ensure the safety of the machines when browsing the internet. Ubuntu can run on these machines and includes excellent security.

Installing Ubuntu (www.ubuntulinux.org) is easy. M. Braille copied an installation CD from the Kenyan school and inserted it into each of his PCs. The Ubuntu website also provides free CDs and covers the costs of delivery (http://shipit.ubuntulinux.org/).

The CD automatically detected the different hardware and configured it to access the network. It also installed several common software packages including OpenOffice.org, Firefox, Evolution and GIMP – everything a school PC needs.

The students liked the interface because it was colourful and simple to use (see Figure 8). M. Braille liked it because it placed strict limits on what changes the students could make to the settings.

M. Braille decided to use Ubuntu even on PCs that came with later versions of Windows.

Frame2

Mrs Shrub chooses a Beowulf cluster for affordable and scalable computing power

Mrs Shrub instructed her computer officer to lay out a plan for switching to GNU/Linux. The easiest starting point, he decided, was to switch the government's web servers to GNU/Linux.

The machines were currently running Windows as the operating system, MySQL as the database and PHP as the programming language. The same machines could have GNU/Linux installed on them, then use the same PHP code and MySQL database to serve the public.

But the new machines would function better because the team chose a Beowulf cluster (www.beowulf.org). This is the method used by Google and other organisations running websites with enormous demand because it allows affordable upgrading of computer resources to meet demand.

For example, when a citizen visits the London government website to pay off a parking ticket, he or she is assigned the least busy computer within the Beowulf cluster. The remainder of the citizen's visit is handled by that computer, from the explanations of the process of payment to checking with the citizen's credit card provider for availability of funds.

If any computer in the cluster breaks down, the cluster continues to work – albeit a little more slowly – with the remaining computers. When the failing computer is replaced, the cluster returns to its former speed.

The power of the system is that it has almost no diminishing returns. In other words, doubling the number of computers working in the cluster doubles the power of the cluster. It can handle twice as many visits by citizens, or handle the same number of visits in half the time.

By switching from Windows to GNU/Linux the computer team was able to switch their efforts from plugging the security holes and breaches of their servers, to improving their power and responsiveness to citizens' demands. The results for citizens were measurable and Mrs Shrub made sure that the measurements were publicised in time for the election.

However, the Beowolf version of GNU/Linux is not much use for government employees doing their daily work. It lacks the user-friendliness of Windows. In fact it lacks windows or any other familiar aspects of user interfaces that we take for granted today.

For those users, Mrs Shrub's team chose SuSE GNU/Linux (www.novell.com/linux/suse/). They found a London-based company that would provide help with the migration from Windows to GNU/Linux. It could also provide ongoing technical support. The SuSE distribution includes a user interface that is similar to Windows.

The switch would be more difficult than switching the servers to Beowolf or switching the employees to using OpenOffice.org. But again the computers would be faster, safer and more stable.

Dr Digitalis chooses Lycoris for her tablet PC

A tablet PC looks like a laptop but its screen can be turned and folded back onto the keyboard. The screen is also touch-sensitive. This design has been heavily marketed to clinicians. It promised the advantages of paper pads.

In reality, tablet PCs running Windows have several problems. First, their handwriting recognition is lacklustre and slow (particularly with the famously messy handwriting of doctors, but that is another matter). The battery life is also poor, not enough to last a full clinical day. Furthermore, the screen only responds to a special stylus, certainly not a finger or a pen.

When Dr Digitalis picked a tablet PC that ran GNU/Linux, she did so to avoid that last problem – she was able to write on her machine using whatever pointed object was available, be it the included stylus or even her finger. She particularly favoured TrueTip pen tops (www.truetip.com) because one end is a pen tip for writing on paper and the other is a plastic tip that worked on her tablet PC.

The handwriting recognition was not brilliant, but at least it used the same alphabet as the one on her Palm Powered handheld computer, so she did not have to learn a new writing system.

Dr Digitalis and her patients loved the machine. At the beginning of each session with a patient, she would use the machine as a laptop. She could twist the screen to allow the patient to see some details that would be useful to them, like the response of their blood pressure to the new hypertension tablet. The end of the session would usually involve educating the patient, at which point she would switch to tablet mode. She used Firefox to show websites that the patient would find useful and Adobe Reader to read through educational documents before printing them off.

Printing and browsing were easy with the tablet because they mainly required tapping the icons on the screen. But prescriptions were also possible (and impressive to her patients) because they required only limited writing. Instead, most of the prescription involved selecting from different choices, such as the number of tablets per day or the number of days per prescription.

The tablet included Lycoris GNU/Linux (www.lycoris.com). This has tablet-friendly features such as switching between landscape display (for laptop mode) and portrait display (for tablet mode).

But it also shares two features with Linspire. First, its interface was reassuringly familiar to users of Windows and had similar ease of use. Second, it had the application installation features of Linspire, which allowed Dr Digitalis to browse easily for and install additional software. The mix and focus of the applications was less for the home user than the office professional, which suited the needs of Dr Digitalis.

Not that Dr Digitalis did not use the tablet at home. The machine included wireless internet connectivity, which is what allowed Dr Digitalis to move freely with it from room to room in the clinic. Once she got used to browsing the internet in tablet mode, however, she could not resist using it in the same way at home. She could lie on the couch, glass of wine in one hand and TrueTip stylus in the other, reading the Guardian newspaper's site in portrait display. It was the perfect end to her day.

Mr Big switches to Red Hat for support

At the start of 2005 Microsoft announced that they would no longer support Windows NT 4. This meant that the company would not create any new security fixes for the software. Although the NT series of Windows was designed for security and was the basis of Windows XP's enhanced security, new security holes were found every week even in Windows XP. Without the fixes, the old NT 4.0 machines would become a greater risk every day as new problems were publicly announced but solutions remained unavailable.

The business opportunity of legacy NT 4.0 machines was not lost on GNU/Linux companies, many of whom bought advertising spots where CEOs like Mr Big would see them.

Around the world, many of Mr Big's hotel staff were still using machines that ran Windows NT 4.0 software. The machines were old, but they worked and replacing them would cost too much money.

One of the best companies doing this is Red Hat (www.redhat.com). Its Red Hat GNU/Linux distribution had become one of the most popular because of its focus on making the switch between Windows and GNU/Linux as easy as possible – its installation software was clear and comforting, guiding the user through the steps and it installed software that Windows users found reassuringly familiar.

Now called Red Hat Fedora GNU/Linux, it is still available free of charge (http://fedora.redhat.com/). Books like “Red Hat Fedora 4: Unleashed”10 include the software on a DVD and you can install it onto as many computers as you want.

More recently, Red Hat began focusing all its efforts on selling to large organisations, releasing Red Hat Enterprise GNU/Linux. For example, it created tools which would ease the installation onto multiple machines and assist the management of all these machines. Furthermore, its pricing and support contracts were scalable, allowing Mr Big's company to begin with the Windows NT machines and then ramp up their GNU/Linux installations to all of the company's computers. Mr Big's Chief Technology Officer liked this because it would allow him to “start low and go slow”, his favourite aphorism, and thus reduce the risk and pain of the switch. And Mr Big himself liked it because the costs were transparent, predictable and manageable. He could see where the money was going and what his company would get out of it.

In time, he would switch all the company's machines to GNU/Linux.

Further resources

How on earth can Free Software even exist?

“What is a cynic? A man who knows the price of everything and the value of nothing” Oscar Wilde, Lady Windermere's Fan (1892) Act 3.

During my childhood I learnt the value of freedom. I lived in several countries as my parents travelled to pursue their work and studies. These included Syria, a communist dictatorship, and Lebanon, a country that had been a free-market democracy before its tragic civil war.

Back then communism made sense to many people – the government would take responsibility for organising the economy to produce the goods that its citizens needed.

By contrast free markets seemed chaotic. How could the right goods be produced if there was no one to plan or take responsibility for their production?

But the fact is that they are produced, the system does work and it does so better than the central planning of communist countries. Understanding this helps us understand why Free Software is so important and successful.

Free markets and Free Software

What I learnt on my travels is the benefit that freedom brings to society.

In a free market, anyone has the freedom to try their hand at meeting customers' needs. With time, customers find that some companies are better than others for meeting these needs and so they focus their spending on those companies.

However, if one of the companies raises its prices or lowers the quality of its products, customers are able to redirect their spending to that company's competitors. This freedom means companies that mistreat their customers go bankrupt while those that treat them well grow richer.

More importantly, knowledge of this freedom means that companies understand that they must treat their customers well. Most companies in free market societies are constantly striving to deliver better products at lower prices for their customers.

This is particularly clear in the information technology industry – every 18 months, for over 40 years, the market’s freedom has produced a doubling of computer power, with astonishing drops in costs. This phenomenon was described in a seminal paper11 by Intel’s Dr Gordon Moore back in 1965 and led to his eponymous law.

Computing power has been mirrored by software with rising features and dropping costs. Wherever there has been competition in IT, the customer has benefited. Conversely, wherever competition was lacking, the customer has suffered.

Free Software ensures competition – any developer is free to build on existing Free Software and extend its functionality. If this work does improve the software, anyone can benefit from the improvements by copying and using the extended software. Competition to make these improvements is fierce and as this book has described, the result has been an extraordinary variety of quality software.

Free speech and Free Software

My parents spent many years campaigning for the democratic rights of their fellow citizens in Bahrain. My generation is the first to benefit and in 2002 I was able to vote for the first time in my life. My generation is also a beneficiary of free speech, an essential right enshrined in numerous democracies' constitutions.

Free speech allows honest intelligent discussion of problems and their solutions. Without it, accountability collapses and corruption begins.

Free Software is built on such openness. The source code from which software programs are created is openly available for anyone to read and critique. This is why Free Software is often referred to as open source software. It is also why bugs in Free Software are spotted and fixed more quickly than in its closed source alternative.

For example, a study by Stanford University scientists that analysed GNU/Linux operating system's kernel source code found just 985 bugs in 5.7 million lines of code12. That is just 0.17 bugs per 1,000 lines of code. Another study, of MySQL, found similarly low levels of bugs13. By contrast, the industry average for closed code is 20 to 30 bugs for every 1,000 lines.

This could explain why bugs are found so often in Windows XP's 40 million lines of closed source code.

The principle extends to security. Bruce Schneier (www.schneier.com) is the celebrated author of several textbooks on security and the co-founder of Counterpane Internet Security, Inc. His book “Beyond Fear”14 is well worth the read and discusses openness versus secrecy for security.

The secrecy of closed source software is bad for security. As Schneier explains the computer security world has long ago “learned that publishing security vulnerabilities is the only way to get software vendors to fix them. Before publication was the norm, vendors would routinely deny the existence of vulnerabilities and not bother fixing them... The risk, of course, is that attackers learn about the vulnerabilities and exploit them.”

In fact secrecy creates dangerous ignorance for the user. Taking the example of door locks described in his book there was “a vulnerability in a certain type of door lock that has existed for a hundred years or so”. Locksmiths and criminals knew about the vulnerability, but most customers did not and continued to buy the faulty locks.

Furthermore, the ignorance of users of closed software means that they will not demand better software. Finally, of course, secrecy in the name of security can be misused to hide the mistakes and malpractice of companies.

For all these reasons democratic societies benefit from openness and Free Software benefits from open source practices.

This explains why so many government and commercial security agencies have recommended against using the closed source Internet Explorer and in favour of the open source Firefox15.

Freedom isn't free

Just because Free Software is available free of charge to users and distributors, it does not mean that it cost nothing to create. Quite the contrary – it is the result of the labours of tens of thousands of software developers around the world requiring astonishing investments of time, effort and knowledge.

Such investments requires payment and the only reason they continue, and indeed increase, is that the payments continue and increase. There are several ways in which this happens.

1 – Programmers are funded by their institutions

The beginnings of Free Software rest with Richard Stallman (www.stallman.org), who created the GPL license and the Free Software Foundation (www.gnu.org).

He wrote software to solve a problem as part of his work for his employer. Working at MIT's Artificial Intelligence Laboratory in the 1970s he and colleagues used a printer that frequently broke down. However, because his team had the source code for the software connecting the printer to the computer they were able to write additional software that alerted them whenever the printer had broken down. This saved a lot of time for MIT's employees so was worth the initial investment in writing the software.

Around the world thousands of software developers are paid by their employers to fix bugs and add features to Free Software programs. Such investments are good for the employers because their immediate business problems are solved, but also good for the rest of us as the GPL license means that the solution has to be shared with other users.

2 – Software companies reduce their costs by sharing development with the Free Software community

Other companies save money on development costs by making their software available through the GPL license. For example, in 1999 America Online bought Netscape for around $4 billion. Netscape made web browser software and AOL wanted to have an alternative to Microsoft's Internet Explorer. By creating the Mozilla Foundation and giving it the source code for Netscape's browser products AOL was able to ensure the continued development of the software for a relatively small investment of $2 million over the first two years. Mozilla was then able to receive investments from Red Hat and Sun as well as the development efforts of software developers around the world.

The result has been the continued development of the Mozilla suite, as well as the creation of Firefox, Thunderbird and other software projects. AOL can now incorporate Mozilla's browser technology into its own products as a valid and highly cost-effective alternative to Internet Explorer.

Sun itself makes money from Free Software by providing technical support services. In 1999 it bought the StarOffice software company and then made the source code freely available in the form of OpenOffice.org. By making the source code available to the community Sun was also able to ensure continued high quality development of the software for a minimal investment of its own resources. On this foundation it built and sold StarOffice which is essentially the OpenOffice.org suite with clipart libraries and technical support.

3 – Companies earn money from services

Companies like IBM make money by providing consulting and integration services. In the 1990s the company made a commitment to GNU/Linux as the operating system it would recommend to its clients because this would provide the value and power demanded by its corporate customers. These clients pay IBM to incorporate Free Software solutions into their computer networks and buy IBM hardware running this software. The transformation to this business model was described by its CEO Louis V. Gerstner in his surprisingly enjoyable book “Who Says Elephants Can't Dance?”16 and he credits it with billions of dollars in revenue streams for the company.

RedHat, another investor in the Mozilla Foundation, is one of the companies that makes money from distributing Free Software, mainly the GNU/Linux operating system. It focuses its efforts on large organisations, ensuring that system administrators can deploy GNU/Linux software as fast and securely as possible. By contrast, Linspire focuses on consumers, providing them with a version of GNU/Linux that is easy to use. Clients also pay a yearly subscription to have easy access to thousands of software applications which they can install through the internet.

4 – Companies earn money from software development

Of course software development itself can be profitable. The most popular open source database, MYSQL (www.mysql.com), is made by a Swedish start-up of the same name. The software is freely available through the GPL license but the company makes its money from customers who want to be able to customise the software without making those customisations available to others. The company's clients include the Associated Press, Google, NASA, Sabre Holdings and Suzuki.

Many such Free Software start-ups are arising around the world. For example, Pennington Firm makes the OpenEMR (www.openemr.net) medical records software and sells installation and technical support. Octance Security (www.octane-security.com) extends existing Free Software like MailScanner (www.mailscanner.info) and SpamAssasin (http://spamassassin.apache.org) which it sells as security solutions.

The best of these companies will increase revenues and profits and their size may come to rival that of software giants like Microsoft, Oracle and Adobe.

5 – Money is not always necessary

It is worth pointing out the non-monetary methods of compensation. For many programmers, contributing to Free Software projects is a labour of love. The only payment that they ask for is attribution as they take pride in their name being attached to great software. Others use it as a way of building their skills and expertise. They can then use these for future employment and higher salaries.

6 – Governments support Free Software for national security

Governments have their own agendas on behalf of their citizens. For example, in the name of national security, the governments of China, South Korea and Japan announced that they would develop Asian GNU/Linux. This version of the GNU/Linux operating system would assuage concerns over the use of the Microsoft Windows operating system because the source would be open and transparent. Critical government computing infrastructure would not be in the hands of a single American software company.

Also in the interests of transparency the government of Brazil is considering developing Free Software in its electronic voting machines. Britain's taxpayer-funded BBC created Dirac video compression software to facilitate its public service mission of making its programmes freely available to the public. In the USA, funding for the government's National Institutes of Health (NIH) now includes the development of open source software to support biomedical research.

There are plenty of other reasons that investments in Free Software are made, but the result is the same: we all benefit from the advancement and availability of these tools.

Further resources

Giving back to the Free Software community

“The general tendency of monopolies is to make things dear, to make them scarce, and to make them bad.” — Thomas Babington Macaulay17

I wrote this book for two reasons. First, because I take great pleasure and pride in teaching others how to benefit from technology. In writing “Handheld Computers for Doctors” I was able to teach clinicians how to make use of an affordable technology – handheld computers – to improve patient care. With this book I am able to teach an even wider audience about an even more affordable technology.

This chapter is about the second reason for writing this book. I want to explain to you why you should care about the health and development of the Free Software movement.

Yes, for many around the world, it is a movement. It is one with similar moral imperatives to movements to improve the environment, tackle poverty and uphold civil liberties. And it is one with political dimensions and challenges.

I hope that the previous chapters have convinced you of how much you can benefit from Free Software. The rest of this chapter will explain what you can do in return.

Ask what you can do

Of course, the method of helping that is easiest to understand is giving money. Almost all Free Software sites accept donations and they use this money to invest in further development of the software. For many volunteers working on such projects the donations act as reassurance that their work is appreciated and motivation to work even more.

So the next time that you particularly appreciate the quality of some Free Software, consider donating. If you work for a business that uses Free Software talk to your boss about making a donation from the company's budget. Your company will have already saved great sums by switching to Free Software and faster development and improvement of this software will make a measurable contribution to your company's profit margins.

Many of these donations are tax-deductible. For example, the Mozilla Foundation (www.mozilla.org), the Open Source Applications Foundation (www.osafoundation.org) and the Free Software Foundation (www.gnu.org) are all section 501(c)3 compliant which means that donations can be deducted from US tax payments. Analogous deductions are possible for other countries' tax systems as well.

But money is not the only contribution, nor necessarily the most important.

1 – Give feedback

For example, you have an important contribution to make simply by reporting problems in the software. Some groups, such as the Mozilla Foundation, make this particularly easy for you by including the Quality Feedback Agent18 (QFA). The QFA appears when the software crashes and asks you to fill out a report of what you were doing when it happened. This report is sent back to the developers who can then include fixing this bug in their development schedule.

Using the QFA takes little of your time but provides valuable data to the software developers. Through receiving thousands of reports from around the world they can quickly identify new bugs. They can also assess the impact of a bug from the number of reports they receive about it. We all benefit as the developers are rapidly alerted and can focus their efforts on the most important bugs.

2 – Teach in your community

One thing we can all do is teach. In my case I felt so strongly about this that I wrote a whole book, but all kinds of teaching are necessary. If you have a website, write articles about the software that you find useful. In fact, just by posting a link to the websites of Free Software projects you help people looking for the software. This is because search engines like Google constantly analyse the links. The more links that a site receives the more importance it assigns to that site and the more frequently it displays the site to searchers.

Consider writing a letter to your newspaper, an article in your journal or a tutorial for your school newsletter.

For many people the decisions that they make about computer technology are determined by the advice of their friends and colleagues. The biggest barrier to adopting Free Software is often the uncertainty that comes with novelty. You can reassure them because you use and benefit from the software and you can educate them about properties of Free Software that deliver quality with value.

When your friends do decide to make the switch they will need a little support to get them going. Consider installing the software onto their machine and spending the first hour with them. You can show them how to do the things with the new software that they were used to doing with the old software. And you can show them how to do new things of which they had not even thought.

3 – Teach your boss

If you work for an organisation, convince the decision makers to make the switch. Going through this exercise will do wonders for your career. First, you will have to write a formal proposal making a strong business case for the switch. This is a useful exercise and good expertise to mention on your CV. It is also an opportunity to come to the attention of your organisation's leaders. Try to send your proposal to the highest level of management in your organisation because this is a strategic switch that requires their attention. Once this works you will become associated with a successful project that saved money and improved quality.

Then of course there is the biggest organisation of them all – your government.

Ask what your country can do

Governments have an important role to play in Free Software. First, there is the financial support they give Free Software projects. Second, governments can insist on open standards for storing the important data for which they are responsible. Finally, they must avoid passing harmful laws.

1 – Governments can fund Free Software

When the local governments of Paris, Munich and Haarlem in Europe made the switch they saved money without sacrificing quality. As taxpayers we should all care about such trends and ensure that they continue.

Make sure your local government representative knows that you expect them to consider Free Software as a way to spend your money intelligently. At local town hall meetings you can teach the audience about the benefits of this software.

2 – Governments can demand open data standards

A bigger role comes from the government's ability to set standards. Take the example of data standards. Even with expensive commercial software and top specification hardware the most expensive component of computing is data. The salary for the hours that you may spend creating Microsoft Word documents is far more than the cost of Microsoft Word itself. For every organisation data is far more expensive than the computers on which it resides or the software used to manage it.

Given this importance, open data standards are crucial. Most proprietary software tools use proprietary data formats. This means that only the company which wrote the software truly understands the data format and in many cases the company takes significant efforts to obscure the details of the format. Proprietary software business models depend on this, guarding data format as a commercial secret, because it locks their customers into depending on the software company for the safety of their data.

Only the software company benefits from this. The customers do not, starting with the high costs that the company can charge because customers are dependent on the company for the safety of their data.

Furthermore, if the company were to go bankrupt, or simply decide that supporting the software is no longer worth the investment, the customers are left in a terrible position. The data that they depend on is only accessible through software that will neither improve in features nor decrease in bugs. And because the format is proprietary it may prove impossible to transfer the data into another format for use with other software.

Because governments keep track of crucial data, they must ensure that the formats they use are open. This is one of the reasons why the Department of Veterans Affairs (VA) in the USA chose the open source method for its electronic medical records software. The Department is responsible for the healthcare of 26 million veterans as well another 44 million Americans who are the families and surviving dependants of veterans.

Dealing with so much important data means that the VA could not afford the risk of using proprietary formats. In fact, the history of medical software is littered with failed software projects19 and the subsequent failure of the companies that owned the software. So the VA decided to develop the software itself, openly and over time, to reduce the risks and ensure delivery of the exact features that it needed. Because it is funded by US taxpayers the software that it created is made freely available in the public domain for anyone to use.

The project began in the 1980s as Decentralized Hospital Computer Program (DHCP) and was launched as the Veterans Health Information Systems and Technology Architecture (VistA – www.worldvista.org) in 1996. Over 20 years the software has proved its stability and quality. Because it is available free of charge, users around the world are deploying it. And the open data format means that data can be exchanged between different healthcare providers.

This makes it a solution to a problem that plagues the US healthcare system and those of other countries around the world. The proprietary data formats in use in each practice, laboratory and hospital around the country are incompatible. Each year these healthcare providers spend millions trying to convert data from one proprietary format to another as they try to share data about patients under their care. Often they end up with the lowest common denominator – printing out tons of paper in medical records which recipients must then type into their own medical records software.

This is why the software is under consideration as the building block of President Bush's plan for a nationwide electronic health record system.

In the Netherlands the government has taken the principle of open data formats even further. In 2002 the Dutch Lower Chamber unanimously carried a motion requiring that by 2006 all government IT purchases would be of software that was based on open standards.

Not only do such purchases ensure that government data is safe, they also allow Free Software to compete on a fair footing in the marketplace. One of the biggest barriers to adoption of OpenOffice.org was that most businesses had been locked into using Microsoft Office. The creators of OpenOffice.org overcame the technical barrier by ensuring that their software was compatible with Microsoft's proprietary file format. However, government laws and purchases that are friendly to Free Software overcome the psychological barrier and have spurred the virtuous cycle of OpenOffice.org's adoption around the world.

3 – Governments should avoid passing bad laws

The final and perhaps most important role of government is that of doing no harm. For example, one of the most harmful laws adopted in USA is that for software patents. In 1996 the US Patent and Trademark Office adopted its Final Computer Related Examination Guidelines. These allowed the patenting of software processes.

It is important to realise that before 1996 the software industry was making tremendous strides in innovation and software companies were investing millions of dollars in development. In other words, laws to allow software patents have never been necessary to support software innovation and investment.

Lawrence Lessig is Professor of Law at Stanford University (www.lessig.org) and author of several books, including “Free Culture”20 (www.free-culture.cc). This book describes the harm that software patents will cause to the software industry's development. In fact on page 140 he includes a memo written in 1991 by Bill Gates, chairman of Microsoft, criticising software patents because “established companies have an interest in excluding future competitors”. Software patent laws give them the tools to do that.

The threat is particularly significant for Free Software because proprietary software companies can sue new Free Software projects claiming infringement on their patents. Because many of these projects are started by volunteers, they have no revenue stream let alone a legal budget. Large commercial enterprises understand this and will be able to start frivolous lawsuits in the knowledge that the mere threat of litigation will shut down a Free Software project that lacks a legal department.

This will have a chilling effect on innovation and may well cost the USA its lead in software development in the future.

For now, Free Software developers do have some allies. When the BBC began developing the Dirac video software they made a legal team part of their contribution to the project. Its lawyers are ensuring that no patents exist on the software techniques that Dirac uses, as well as patenting those new techniques that Dirac creates. It will then place the patents in the public domain so that they are available for others to use without fear of litigation. For GNU/Linux litigation, IBM, Novell and other companies are making their lawyers available to defend the operating system in the courts.

However, it is a sad day when the innovation that comes from small teams starting up depends on the patronage of large companies for legal defence.

That is where governments such as that of Poland come in. In December 2004 it successfully campaigned to remove the “Software Patent Directive” from the European Union's legislative agenda. In other words, citizens and companies of the European Union were spared the dangers of software patents and they have Poland to thank for this (www.thankpoland.info).

Of course, the Polish government did not make this decision by itself. It was advised by activists, citizens and companies that this would be the best course of action for Poland's interest. Nor was Poland's the only government that was of this opinion. In the European Union and around the world, governments are making the necessary investments. The national governments of Venezula, Brazil, India, China, South Korea, Japan and others are all responding to their citizens' needs and supporting Free Software.

The end of the beginning or the beginning of the end?

All of these developments allow me to end on a happy note. I hope that you have enjoyed this book and that you found it useful. As I mentioned in the introduction: if reading this book can save enough money to employ one more nurse or one more teacher, or to allow one more start-up to succeed financially, then my job is done.

Above all, I hope that you learnt enough about Free Software to demand more freedom in how you use computer technology in your life. And I hope that you will share what you learnt with your family, friends and colleagues. We will all be winners when the principles and practice of Free Software spread through society.

Further resources

1http://www.newsforge.com/article.pl?sid=04/07/19/214206

2http://www.cod.edu/dept/tlc/TIPS/Zip-unzip.htm

3[A la] SOS GIMP” by Cédric Gemy. 2005. ISBN 2952170312.

4Grokking the GIMP” by Carey Bunks. Pearson Education 2000. ISBN 0735709246.

5The GIMP Pocket Reference” by Sven Neumann. O'Reilly & Associates 2000. ISBN 1565927311.

6www.cia.gov/cia/download.html

7Self Help; Conduct and Perseverance” by Samuel Smiles. It was originally published in 1859, the same year as “On Liberty” by John Stuart Mill and “On the Origin of Species” by Charles Darwin.

8www.sourceforge.net/softwaremap/trove_list.php?form_cat=80

9http://www.honeynet.org/papers/trends/life-linux.pdf

10Red Hat Fedora 4 Unleashed” by Paul Hudson, Andrew Hudson, Bill Ball, Hoyt Duff. Sams 2005. ISBN 0672327929.

11“Cramming more components into integrated circuits”, Gordon E Moore. Electronics, Volume 38, Number 8, April 19th 1965. The original paper is available from Intel: ftp://download.intel.com/research/silicon/moorespaper.pdf

12www.wired.com/news/linux/0,1411,66022,00.html

13www.internetnews.com/security/article.php/3469631

14Pages 130-132 of “Beyond Fear” by Bruce Schneier. Springer 2003. ISBN 0387026207.

15For example, see www.washingtonpost.com/wp-dyn/articles/A5524-2004Jun25.html and www.theregister.co.uk/2004/09/13/german_ie_jitters/

16Who Says Elephants Can't Dance? Inside IBM's Historic Turnaround” by Louis V. Gerstner, Jr. HarperBusiness 2002. ISBN 0060523794.

17http://www.law.duke.edu/boylesite/experiment.html

18www.mozilla.org/quality/qfa.html

19http://www.pubmedcentral.gov/articlerender.fcgi?artid=129665

20Free Culture: How Big Media Uses Technology and the Law to Lock Down Culture and Control Creativity” by Lawrence Lessig. The Penguin Press 2004. ISBN 1594200068.