Welcome to part two of a series for beginners explaining what Linux is, where it came from, where it's going, how to use it and why you should. Regular Linux users or Linux Forums gurus, are free to add helpful comments and clarifications, but remember, you are clarifying Linux for newbies, not seeking to score points over your fellow gurus.
In a capitalist system competition between suppliers of goods and services can either drive up quality, or drive down price, or if we are lucky, sometimes both. PC hardware is a perfect example, PC gaming software is another, but it is possible for one company through a combination of technical expertise, ruthless business practice and sheer good fortune to become so dominant that it has no serious competitors. It's happened to Microsoft with operating systems and office software, though in theory it could happen in any sector of the economy.
In this situation there is a danger that technical improvements will cease, or at least slow, and price will rise as the company becomes more bloated and bureaucratic. In the past situations like this might arise locally, if you had for example a single shop in a village, but then the system would be restored by traders from neighboring areas moving in to undercut the monopoly. These days the entire world is close to becoming a single capitalist system so it's hard to see where another OS could come from. The investment required to create a commercial operating system and office suite and then fight Microsoft for every sale is just too great, Open Source Software (OSS) is probably the only chance we have of ensuring healthy competition in operating systems and business software.
Fortunately many IT companies big and small have come to accept this, and rather than giving up or becoming MS dealers they have chosen to support OSS. Some have bought OSS companies, other fund projects that coincide with their business plans, some have OSS developers on their payroll, others offer free hardware or web space for development work. Providing the support remains, OSS is secure, but the support is dependent on the likes of Novell, IBM and Sun getting something in return, which comes down to more customers leaving Microsoft and adopting their products. And paying for them, OSS is free but hardware, installation, migration and support on a large company network can cost millions.
Yes. Not perfect, but better than closed source in some respects and worse in others. Impartial evaluation is hard to come by, someone has to pay for research and if the paymaster is a company with a vested interest in a particular business model then the results are immediately challenged by the opposition. The arguments are roughly these:
- Under the closed source model the company carries out market research and defines a new product or the features required in a new version, then a team of programmers is appointed to meet those targets. This results in well focused market driven innovation. In contrast OSS new features arise either in response to features seen in proprietary software, or simply because a developer discovers how to do something cool and suggests that it be included.
It is inevitable in any complex piece of software that there will be coding errors, some of which might compromise security. Under the closed source model only members of the development team see the code and a bug may not be spotted until some miscreant finds a way of exploiting it. OSS projects are scrutinized by a lot more people, many of them keen coders looking to enhance their reputation by correcting someone else's mistake, so errors tend to get spotted quickly and fixed before they become real problems.
- The closed source model requires every piece of software to be self contained as only a fully functioning 'binary' will be supplied to the end user. OSS software is often, though not always, modular, with many different programs relying on underlying libraries of sub-routines.
None of these arguments deals a knock out blow to either side. It was certainly true after the formation of Gnome and KDE, they had a lot of catching up to do to make a Linux desktop as convenient and user friendly as Windows, so innovation was limited. Now they have caught up and KDE in particular is pushing ahead with features in version 3.5 such as windows with variable transparency which MS will not deliver until Vista is released. Sometimes a geek with a bright idea can develop it faster than a company that has to wait for the marketing department to decide its worth. Open Office has rapidly caught up with MS Office, and by adopting Oasis Open Document standards is now arguably ahead.
Scrutiny of the code and subsequent bug squashing goes to the heart of the debate. All software has flaws and needs updating from time to time, because of the open nature of OSS more updates and patches are released than is normal for closed source equivalents, this can give a bad impression but is arguably better than the temptation in the closed source world to ignore a known problem until the next scheduled version or service pack release. Mark Cox of Red Hat, quoted in 'eWEEK' (See references) recently pointed out that simply measuring the number of patches is meaningless.
"Although we shipped 168 security advisories for RHEL4 in the year, only 17 of the underlying vulnerabilities were of critical severity”
eWEEK editor Steven J. Vaughan-Nichols goes on to point out, “Of those 17 critical vulnerabilities, Red Hat made fixes for every one of them available to customers via the Red Hat Network within two days of the vulnerabilities being known to the public, with 87 percent of them being available the first day.”
Then there is the issue of libraries, shared sub-routines and dependencies. Generally speaking if you buy a ready-to-install package from a conventional software company it will install and run as advertised. Such products are usually limited to one or two operating systems, but otherwise are not dependent on anything else being installed on your PC. OSS for Windows tends to be similar, but on Linux things are very different, re-use of components is the norm.
Many apparently unrelated programs depend on the same library files, GTK for example was created as the Gimp Tool Kit, ie modules for the OSS Gnu Image Manipulation Package or “GIMP”. GTK now underpins most GNU applications with a graphical user interface. This can be both a blessing - it speeds up development and saves disk space, or a problem if an application depends on library files you don't have installed. Fortunately modern Linux distributions are overcoming this by automatically checking such dependencies and installing necessary libraries for you. A side effect of the shared library approach is speed of installation, a Linux distribution will install as quickly as Windows, but includes an enormous number of applications in addition to the operating system.
Unix was almost destroyed as a commercial proposition because various suppliers felt it necessary to produce mutually incompatible versions, making it increasingly difficult for software providers to guarantee their products would work on each. There is always the worry that Linux could go the same way if distributions alter the underlying OS too much. Fortunately, the open source model means that variations are always visible and documented and and software can always be compiled from source code to suit each version. To make things even easier there is the Linux Standard Base Project (LSB) which provides a basic standard so that software compiled for one LSB distribution will run on another without recompiling. The Free Standards Group opened an LSB lab in Beijing in January to help ensure that efforts to localize Linux for Asian users don't result in fragmentation.
The Long Term Future
Crystal ball gazing is almost always futile, and particularly so when considering technology. Back in the nineteenth century it was confidently predicted that exceeding 30miles per hour in a train would be fatal, and now on some lines they exceed that almost every day (note for US readers, this is an example of British irony about the state of our railway network). Equally confident predictions are regularly made about Open Source Software, and most say more about the speaker's own position than about the technical or social issues surrounding OSS.
Personally I don't expect Microsoft or Apple to roll over and admit defeat, too much capital and too many people's careers are at stake, but I expect Linux use to continue to grow. Windows and Mac OS did a great job making it possible for normal people to use computers for work or play, but now that's has been achieved there is a great body of technically aware users out there who are questioning whether they really want to keep on paying for proprietary software. Linux and OSS generally gives them a choice, and the fact that that choice exists keeps Microsoft and Apple on their toes.
In the early days Linux and OSS source code was passed around amongst developers, but quite soon companies and volunteer groups began to distribute packaged versions of the Linux kernel with a graphical desktop, a selection of applications and crucially for normal users, a simple installer. These packages are known as 'distributions' or 'distros'. The big names are SuSE, Ubuntu, Mandriva, Debian and Fedora. Also worth a look are Linspire and Xandros, both trying to make Linux more attractive to inexperienced computer users by simplifying installation and selling approved, guaranteed software downloads. You can either buy a boxed set of your preferred distro which will generally come with manuals and some level of support, or download the CD or DVD .iso image files for free. I recommend you buy your first distro and make good use of the manuals and support, once you have a little experience you can download upgrades, or try a different distro.
Most distros include the following...
KDE, a desktop environment for UNIX and UNIX-like (inc. Linux) workstations, similar to the desktop environments on MacOS or Windows. In addition to the desktop, KDE gives you an enormous range of applications for work and play. All KDE programs work together very well indeed, making it the preferred environment for Linux beginners. Includes Kontact, an 'Outlook' clone with mail, calendar, address book, RSS aggregator and PDA synchronization, everything to keep you organised and in touch.
Gnome is another desktop environment, provided by the Gnu Foundation. It is favored by many Linux enthusiasts over KDE, but not as pretty or as convenient for beginners. Gnome and KDE have both made huge strides over the last few years and now offer the everyday user a real alternative to proprietary operating systems.
OpenOffice derives from Sun's Star Office suite, released in OSS form a couple of years ago and recently upgraded to version 2. Open Office provides all the features any office worker is likely to expect and is almost totally compatible with MS Office, the only exception being some esoteric macros. OpenOffice is available for Linux, Mac and Windows.
Since TCP/IP defined a uniform method for computers to communicate the Internet has become the true home of OSS, and in return Internet companies turned to OSS to provide the tools to service the net. Collectively these are usually referred to as the LAMP stack (Linux, Apache (web server), MySQL (database) and Perl, Python or PHP (scripting languages that make things work on the site).
The Gnu Image Manipulation Package is probably the most widely used graphics package in web page design and the natural complement to LAMP. It is pretty handy for print work too, though at the moment it lacks a straightforward CMYK output such as you find in Photoshop. Gimp is available for Linux and Windows and can be run on a Mac providing the X windowing system is installed.
The world's second most widely used web browser, from Mozilla.
A simple email client also from Mozilla.
A sophisticated vector drawing tool similar to Adobe Illustrator or Corel Draw.
The world's favorite data exchange utility, ideal for downloading OSS.
Scribus Desktop publishing program similar to Quark, InDesign or Page Plus. Outputs in press-ready .pdf
http://counter.li.org/ (The Linux Counter project)
www.bcs.org (British Computer Society)
www.catb.org/~esr/ (Home page for Eric Raymond)
www.zegeniestudios.net/ldc/ (Distribution chooser)