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:
- 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.
- One who programs enthusiastically (even obsessively) or who enjoys
programming rather than just theorizing about programming.
- A person capable of appreciating "hack value".
- A person who is good at programming quickly.
- 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.)
- An expert or enthusiast of any kind. One might be an astronomy hacker,
for example.
- One who enjoys the intellectual challenge of creatively overcoming or
circumventing limitations.
- [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.
Reprinted from the September 2003 issue of PC Update, the magazine of Melbourne PC User Group, Australia
|