The magazine of the Melbourne PC User Group

Open Source at Home?
Trevor Gosbell
 
 

Trevor Gosbell writes about the Strengths and Weaknesses, Opportunities
 and Threats that might affect your decision to set up and use Open
Source software in the home environment

Are you thinking about taking the plunge and installing an open source operating system? Or would you prefer to enter open source waters more gradually? Either way, you need to consider a few issues before you do.

You've heard of GNU/Linux - it is the most common open source operating system, but it is not the only one. There are three other major systems, all versions of the UNIX system developed at the University of California (Berkeley) in the 1970s and 1980s. The "Berkeley Software Distribution" (BSD) was released as open source software in the 1990s, giving rise to FreeBSD, NetBSD, and OpenBSD. There are other open source operating systems available including an effort to recreate the now defunct BeOS, and of course Darwin which is the core of the Macintosh OS X. However this article mostly discusses GNU/Linux because it is the most common open source operating system at the moment.

Beyond the operating system itself, open source software offers a vast selection of programs that are of interest to the home and small office computer user.

This is not intended to be a diatribe against Microsoft. However I assume that most people considering a switch to an open source system will be familiar with Windows, so much of the discussion is about Microsoft products compared to open source products.

Strengths

Low cost
Open source and free software is not about cost but it needs to be said up front - for the home user one of the most attractive things about open source software is that you can get it for almost no cost. Maybe it will be the cost of a download or a CD-ROM and a little time to install it. While the pundits sound-off about purchase price being a small part of the total cost of ownership of a business computer system, for the home user purchase price is usually the major cost of obtaining software. So open source represents a major saving, especially when you consider the cost of upgrades and new licenses.
 

Easy To Try
GNU/Linux exists peacefully beside Windows - several versions of GNU/Linux will run completely off a CD-ROM, while others install inside the Windows file system. This makes it very easy to get a feel for what GNU/Linux has to offer.

Of course, if you really want to use an open source operating system you'll need something more permanent, but even then you don't have to wipe Windows. Both GNU/Linux and FreeBSD have boot managers that can "dual-boot", starting in either Windows or the Unix-like system. Linux was designed this way from the start (so that Linus Torvalds could keep playing the DOS game "Prince of Persia" while he was working on his new operating system!).

Even if you don't really want to move to an open source operating system, there are plenty of open source programs that work in Microsoft
Windows.

User Support
Home and small office users are isolated from the types of support that exist in larger workplaces. Even where official user support is poor or non-existent, computer users in larger groups often learn from and support each other.

At home, we need to know that we can get help. User groups are often the most effective way for the home or small office user to find good support. There are several GNU/Linux user groups in Melbourne and the most active is Linux Users Victoria (LUV); they meet monthly and have a couple of special interest groups that meet separately. LUV holds "Installfests" where people bring along their computers and get assistance with setting up a version of GNU/Linux. Melbourne PC User Group also has the LUBe SIG, which focusses on Linux, UNIX, and Be operating systems.
  Hackers

The term "hacker" is used often in this article, and it is important to know what it means. The following definition of "hacker" is found at http://www.hardcorehackers.com/hacker.html:
  1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities, as opposed to most users, who prefer to learn only the minimum necessary.

  2. One who programs enthusiastically (even obsessively) or who enjoys programming rather than just theorizing about programming.

  3. A person capable of appreciating "hack value".

  4. A person who is good at programming quickly.

  5. An expert at a particular program, or one who frequently does work using it or on it; as in "a Unix hacker". (Definitions 1 through 5 are correlated, and people who fit them congregate.)

  6. An expert or enthusiast of any kind. One might be an astronomy hacker, for example.

  7. One who enjoys the intellectual challenge of creatively overcoming or circumventing limitations.

  8. [deprecated] A malicious meddler who tries to discover sensitive information by poking around. Hence password hacker, network hacker. The correct term for this sense is cracker.
It is a common misconception that "hackers" are the bad guys who break into networks and steal your credit card details. Real hackers reject this completely.

And don't under value the support you can get online. In 1997 InfoWorld magazine gave their Best Technical Support Award to the Linux user community. This isn't really surprising when you compare the type of support you get from someone reading from a script in a call-centre with the hands-on technical know-how that comes from a community of hackers and enthusiasts.

But if you prefer commercial support, services like LinuxHelp are available and the major GNU/Linux distributors include some level of support when you buy their products. They also offer support contracts.

Standard Office Applications Available
Let's face it, every home computer system needs the standard business tools - a good office suite, a modern Web browser, and e-mail. There are many open source office applications and one of the best things about them is that most are available for many platforms, so the inquisitive Windows user can try them out without having to install a different operating system.

Office Suites
The front runner is OpenOffice.org, which includes a word processor, spreadsheet, and presentation package. Sun Corporation opened the source of Star Office some years ago to create OpenOffice.org.
OpenOffice.org does a great job of reading and writing Microsoft Office file formats, so interoperability is not a major problem.

Several other projects are producing mature and useful office suites, including Abiword and KOffice.

Web Browsers
Netscape was the first company to open the source on a major commercial product when, in 1998, they turned their aging Netscape browser over to the hacker community in the Mozilla project. As well as being a handy browser in its own right, Mozilla is the basis for several other browser projects including Netscape's own commercial offering and the open source Gnome Galeon browser.

Another powerful browser is Konqueror, which also doubles as a file system browser (in the same vein as the Windows Explorer). Konqueror so impressed Apple that they used its kHTML rendering engine as the basis for their new Safari browser for Macintosh OS X.

E-mail
There is a bewildering array of open source e-mail clients. KMail is an unassuming utility that just does e-mail and does it very well. But the glamour product is Ximian Evolution, which its authors modestly describe as "a complete system for managing your communications and personal information". As well as e-mail it provides a calendar and contact management.
 

 Microsoft Outlook users would find the Evolution interface reasonably familiar.

There are tons of other offerings in open source e-mail clients, so you are sure to find one that suits.

Quality and Reliability
There is a popular myth that open source software is slapped together by teenagers with low social skills working out of their bedrooms. A study by the Boston Consulting Group last year showed that many open source hackers are experienced, professional programmers, often motivated to participate in open source projects to sharpen their skills. Open source is still largely the domain of the amateur, but these amateurs don't necessarily fit the stereotypes.

Not that there is anything wrong with amateurs. In 1995 a number of standard programs and utilities on several Unix-like platforms were "fuzz" tested (the programs were fed garbage input to see if they handle it). The researchers were not overly impressed by the level of bugs generally but they did find that "the reliability of the freely-distributed GNU and Linux software was surprisingly good, and noticeably better than the commercially produced software".
  Linux Distributions

A "distribution" of GNU/Linux is simply a collection of programs (usually on several CD-ROM) that constitute a complete GNU/Linux operating system. The major distributions have excellent self-installation programs. Most distributions provide much more than a basic operating system, usually including an extensive library of applications, utilities, games, and programming tools.

The major distributions available are:
• Mandrake http://www.mandrakelinux.com - the best distribution for a beginner.
• Red Hat http://www.redhat.com - also suitable for beginners, Red Hat is probably the most common distribution in the world.
• SuSe http://www.suse.com - the most popular distribution in Europe.
• Debian http://www.debian.org - a purely open source effort run by volunteers, Debian is the distribution of choice for many advanced GNU/Linux users.

Security
Is Open Source Safe?

Supporters of proprietary software argue that open source software is inherently less secure because the source code is available for crackers to examine and exploit. This is rubbish. In his paper "Security in Open versus Closed Systems", Ross Anderson demonstrates that access to the source code helps "attackers and defenders equally", so there is no inherent advantage to the cracker.

Bruce Schneier is a cryptography and computer security expert and author of "Secrets and Lies: Digital Security in a Networked World". In the September 1999 issue of his Crypto-Gram newsletter, he said:

"[An argument] you sometimes hear is that secret cryptography is stronger because it is secret, and public algorithms are riskier because they are public. This sounds plausible, until you think about it for a minute. Public algorithms are designed to be secure even though they are public; that's how they're made. So there's no risk in making them public. If an algorithm is only secure if it remains secret, then it will only be secure until someone reverse-engineers and publishes the algorithms."

He goes on to outline the advantages of publishing security algorithms so that experts everywhere can review and test them, then concludes:

"Comparing the security of Linux with that of Microsoft Windows is not very instructive. Microsoft has done such a terrible job with security that it is not really a fair comparison. But comparing Linux with Solaris, for example, is more instructive. People are finding security problems with Linux faster and they are being fixed more quickly. The result is an operating system that, even though it has only been out a few years, is much more robust than Solaris was at the same age."

Is Closed Source Safe?
If the programming community can't examine the source code, what's to stop a software company getting up to mischief? That's what happened in 1994 when programmers at Borland added a secret account (or "back door") to their InterBase database product. The secret account was hard-coded into the program and it could not be deleted or changed. The back door allowed an intruder to access any part of the database, install malicious code in stored procedures, and under certain circumstances the intruder could overwrite any file on the host computer! The back door was not revealed until January 2001 - six months after InterBase was converted to open source status.

While there is no evidence that this security hole was ever exploited, the fact remains that a gaping security hole that shipped in a commercial product for six years was discovered within six months of the conversion to an open source project.

Even if proprietary software companies actively prevent their programmers doing this sort of thing, security holes are sometimes inadvertently coded into both open and closed source software. Schneier says, "The point of making [an application] open source is so that many, many people look at the code for security flaws and find them. Quickly. These then have to be fixed. ... Security flaws will also be discovered in proprietary code, but at a much slower rate."

Viruses
There are fewer viruses for open source systems than for Windows. The Wild List shows hundreds of viruses active "in the wild" in June this year, of which only two affect GNU/Linux. Of course it is possible to write viruses for GNU/Linux, but for some reason there simply are not many at the moment, so it could be fair to say that the best anti-virus software for your computer could be GNU/Linux.

Interestingly, anti-virus programs do exist for GNU/Linux but they are used on servers to scan for Windows viruses to stop them propagating through Networks.

No Vendor Lock-In
Over the years Microsoft has done a great job bringing affordable computing to countless millions across the world and it has become an incredibly successful company in the process. However they no longer even pretend to have an interest in the end-user - their recent licensing plans and support for user-hostile initiatives like digital rights management (DRM), product activation, and the Trusted Computing Platform Alliance (TCPA) make this abundantly clear. Microsoft wants to know far too much about what I do with my computer. They may own the software, but it's none of their damned business what I do with my hardware.

Microsoft has effectively established a monopoly on the desktop operating system and the office suite and, quite understandably, they want to hang onto it. So they will make it as hard as possible for users to switch to alternative platforms. The undermining of the Java programming language and recent cancellation of Internet Explorer for Macintosh suggest that Microsoft is not prepared to play in a cross-platform space, they want the whole playground.

A user of open source software does not have this concern. There is no compulsory registration or restrictive licenses. If you want to get your software from some other vendor, you just do it. In the open source world, the prizes don't go to the company that can "trap" the most users with tricky licenses, rather it is companies that provide excellent service (such as RedHat) that come away with the gold.

It must be said that open source developers are generally opposed to proprietary vendors like Microsoft, but are not necessarily against Windows. Sourceforge, "the world's largest Open Source software development Web site", hosts over ten thousand projects for the Windows platform.

Weaknesses

Usability
When you look for commentary about open source usability, some open source defenders do a lot of pointing to, and exclaiming about, the latest improvements to the KDE and Gnome desktop environments, often leaving their arguments at that. It's true that both are developing and maturing at an astonishing rate and many of the features found in commercial interfaces have been reproduced.

But it is important to note that the design of a desktop environment contributes only partially to the end- user's experience; users spend relatively little time interacting directly with the desktop. Rather it is the applications that mostly influence usability, if only because that is where users spend most of their computing time.

There are some known problems with the usability of open source software, including:

  • user interfaces are usually better when designed before coding commences, but this doesn't tend to happen in open source projects

  • open source hackers self-select their tasks, and for many interface design would be a low-prestige choice

  • many hackers want their part of the code to have a visible presence, giving rise to a cluttered interface or an array of confusing options

  • proprietary software companies do not always produce well designed interfaces, so to reproduce those features is to repeat those mistakes

It is sad, but apparently true, that interface improvements in open source applications tend to happen more by accident or afterthought than by planning. I would hasten to add that this tendency doesn't seem to be limited to open source projects; most programmers don't tend to give interface design due consideration, often leaving interface implementation to the end of the development phase or just throwing it together as the program evolves.

It would be wrong to conclude from this that open source software is inherently less usable than proprietary software, in fact many open source applications compare favourably. Rather this objection is about underlying development processes: that in open source projects less attention is given to end user experience than in major proprietary products.

Documentation
As with usability, many programmers consider documentation to be non-essential or a chore (or both). Anyway programmers do not always make good writers. Proprietary products are usually well documented simply because the software companies can hire technical writers to do it. Open source projects, reliant on volunteers, rarely have this luxury. As a result the quality of documentation tends to be variable, with some more commercially focussed projects (such as Evolution) having good user manuals and online help, where some of the smaller projects have practically nothing.

The open source community recognises the problem and addresses it with projects like the FreeBSD Documentation Server and the Linux Documentation Project, a repository of online "how-to" manuals that are usually distributed with the major GNU/Linux distributions.

Confusion
When looking at open source software there can be too much choice. For starters there are the multiple flavours of Unix-like operating systems, including GNU/Linux and three versions of BSD. Then there are countless distributions of the GNU/Linux operating system, and each distribution packages up several e-mail clients, Web browsers, live chat clients, music players, and office suites. Some may find such an extensive smorgasbord exciting, but most users who just want to get on with it probably find the choice overwhelming.

As a guideline, users who want to try GNU/Linux should look at the mainstream distributions like Mandrake or Red Hat as suitable starting points. Other distributions like Debian and Gentoo are likely to remain the platform of choice for more experienced GNU/Linux devotees.

Some Assembly Required
Critics and friends of open source have long claimed that GNU/Linux is difficult to install, but this is no longer true. The major distributions, such as Mandrake, SuSE, and Red Hat, have put great effort into making the installation process straightforward and easy. GNU/Linux is now no harder to install than Windows XP, but few end-users need to install Windows (at least, not before they get started) because it comes pre-installed when they buy their PC. Until it becomes more common to find open source operating systems pre-installed on new computers, the need for the users to do their own installations must go down on the debit side of the ledger.

Niche Applications
Open source has created some fantastic new software, but there are some niche areas where open source projects have not penetrated to a great degree. For example, I don't know of any industrial strength open source CAD programs, and while there are some great open source Web site editors I don't think any match the capabilities of Macromedia's Dreamweaver (but I am happy to be corrected on both counts).

If you use some kind of special-purpose software, it would pay to check that the same functionality is available before taking the plunge to an open source operating system.

Opportunities

Some unusual opportunities arise as a result of using open source software. Many users may not necessarily consider these to be "strengths", so they are presented here.

Use Old Hardware
Proprietary software companies have a commercial interest in constantly moving their users onto newer versions; Apple has stopped supporting Macintosh OS 9 and Microsoft has cut off support for Windows 95 and NT. New versions always seem to require newer, faster hardware so users of proprietary systems are strongly encouraged to upgrade.

Open source projects do not have the same commercial incentives, so older hardware remains useful for much longer. A number of online resources describe how GNU/Linux can be used to revive old "boat anchor" computers as Firewalls, routers, or file and printer servers on a home Network.

Use Different Hardware
Unlike much proprietary software, open source software is not restricted by hardware. Many open source projects are ported to multiple hardware platforms because the source code is available to be converted and recompiled. Portability is one of the main aims of the NetBSD project, and they take great pride in having their system running on as many hardware configurations as possible, giving rise to their motto: "Of course it runs NetBSD".

For an unusual challenge it is relatively inexpensive to convert both the Sony Playstation 2 (PS2) and Microsoft Xbox to run GNU/Linux. NetBSD also works on the PS2 and the Sega Dreamcast. If you have one of these game consoles lying around, open source gives you the option of making their considerable computing power available for more than crashing cars and shooting aliens.

On handheld computers GNU/Linux runs on several PDA, including Hewlett-Packard's iPaq and Jornada, and the Sharp Zaurus is specifically designed to run under GNU/Linux.

Contribute And Learn
If you enjoy programming, open source is a great environment to sharpen your skills. While it can be hard to keep up with some of the more commercial projects such as Gnome or Apache, literally thousands of projects are crying out for contributors and any positive input is usually gratefully received. Likewise there is also a need for writers, testers, and user interface designers. There are many ways to contribute, and in doing so you are bound to learn more about your computer than you would otherwise.

Threats

There are few, if any, external threats to the home user in adopting open source software. The threats identified here are more general threats to the open source community, but are worth considering before taking a major plunge.

Forking
The open source philosophy allows anyone to take an existing program and redevelop it in any way they like. This is called "forking" (from the UNIX command 'fork' that starts a second process running in the background) and has happened most notably to BSD UNIX - there are now three major forks of BSD: FreeBSD, NetBSD, and OpenBSD. While there has never been a fork of the GNU/Linux operating system, there are sometimes forks in application level projects.

Usually quite separate teams work on different forks, leading to a dilution of talent and a duplication of effort between teams. Sometimes forked projects die through lack of ongoing support and on rare occasions forked projects are reunited in a merge. All of this muddies the waters for the end-user, but it is not intrinsically bad.

Patents and Licensing
Major proprietary software vendors have been hoarding software patents for quite some time and some quite frivolous patents have been granted for fairly obvious ideas. The purpose of patent hoarding is to inhibit competition but it is very hard to pursue a patent claim in the proprietary world where source code is generally not available to be examined. However anyone is able to examine the code of open source software - including patent owners. As open source becomes more commercial and mainstream, expect patent owners to make attempts to sue or demand license fees.

In fact, this is already happening. At the time of writing the SCO Group (formerly Caldera), who claims to own the rights to UNIX, is suing IBM for a licensing breach. SCO claims that IBM has taken code protected under copyright from UNIX and incorporated it as open source in Linux. They are also asking business users of Linux for licensing fees, although their case is yet to be proven in court (which gives the request a hint of extortion). There is also some suggestion that SCO could target individual end-users for licensing fees or legal action, but how they would find them all is anyone's guess.

Many commentators have dismissed SCO's tactics as an attempt to make the struggling company a more attractive take-over target for a bigger company such as IBM or Microsoft, while others say it is a minimal threat because if a licensing problem is found open source developers will isolate the code, reprogram around it, and move on.

FUD
Fear, Uncertainty, and Doubt (FUD) involves trying to convince consumers that a competitor's product is dangerously defective in some way, by making false or greatly exaggerated claims. Effectively a smear campaign technique, software companies often use FUD as a tactic against each other and recently against open source software when it became a bigger target.

Some commentators say that SCO's legal challenge is simply a FUD campaign, and the infamous claims by Microsoft that GNU/Linux is "viral" and "a cancer" is classic FUD.

Conclusion

To those frustrated with the Microsoft Way, or those merely curious about all the fuss, open source software offers a viable alternative. Many of the strengths of open source software are powerful arguments, while the weaknesses are becoming increasingly trivial and easy to overcome. The opportunities go well beyond what I have suggested here, and the threats do not directly concern the home user. You have little to lose from trying open source software - except perhaps the next Microsoft license fee.
 
URLs

Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!
http://www.dwheeler.com/oss_fs_why.html
Linux http://www.linux.org/
The GNU Project http://www.gnu.org/
FreeBSD http://www.freebsd.org/
NetBSD http://www.netbsd.org/
OpenBSD http://www.openbsd.org/
Linux Users Victoria (LUV) http://www.luv.asn.au/
LUBe SIG http://groups.melbpc.org.au/#lube
LinuxHelp http://www.linuxhelp.com.au/
OpenOffice.org http://www.openoffice.org/
The Mozilla Project http://www.mozilla.org/
Ximian Evolution http://www.ximian.com/products/evolution/
Security in Open versus Closed Systems http://www.cl.cam.ac.uk/ftp/users/rja14/toulouse.pdf
Bruce Schneier's Crypto-Gram http://www.counterpane.com/crypto-gram-9909.html
The WildList Organization International http://www.wildlist.org/
Sourceforge http://www.sourceforge.net/
The Usability of Open Source Software http://www.firstmonday.dk/issues/issue8_1/nichols/
FreeBSD Documentation Server http://docs.freebsd.org/
The Linux Documentation Project http://www.tldp.org/
Linux for Playstation 2 http://playstation2-linux.com/
XBox Linux Project http://xbox-linux.sourceforge.net/
Sharp Zaurus http://www.zaurus.com/
Linux on PDA http://linux.oreillynet.com/pub/a/linux/2001/07/03/linuxpda_overview.html
The SCO Group http://www.sco.com/
Ballmer: "Linux is a cancer" http://www.theregister.co.uk/content/4/19396.html
A complete list of URLs for this article is available at http://member.melbpc.org.au/~tgosbell/

Reprinted from the September 2003 issue of PC Update, the magazine of Melbourne PC User Group, Australia

[ About Melbourne PC User Group ]