Linux has been receiving a lot of press recently. The most noted press came about as a result of the ‘Halloween Documents’ (1998), responses to a document apparently leaked by Microsoft to the open source community. One of the statements in the first document said that Linux could, some day, be a competitor to Windows on the desktop (and laptop). This presentation will explore just how far Linux has come on the desktop, some of the pros and cons comparing Linux to other system software alternatives on the desktop, and where (I and others think) Linux may be headed on the desktop. We will explore the office productivity space, the information client space, the number-crunching client space, the interactive 2D graphics space, and the interactive 3D graphics space.
This paper does not cover server deployment issues, nor does it cover integration issues in depth. Hence, we will not touch on issues associated with database applications and [networked] file systems.
By the time this paper is presented, it is likely that new applications will be running atop Linux, and existing applications will have improved. Thus, this paper does not discuss many applications by name; any that are discussed by are done for the purpose of example, and the application names may be registered trademarks of their respective software vendor. The author is not endorsing any applications that are discussed.
I confess that I gratuitously took and paraphrased some of the information in this paper from content off of a web page put together by an HP co-worker, Craig Lamparter, and he is a much more experienced Linux user than I am. I will designate this leveraged content via indented-italics (as follows), or otherwise make it clear that what is presented is from Craig's web page.
Linux is a free, mature, multi-tasking, multi-user, PC operating system that can be used interchangeably as a server and powerful desktop workstation. Linux is quickly becoming the most popular Unix variant - from ISPs, CAD/Graphics, Netsurfers, to large-scale OLTP. HP foresees LINUX as a valuable option in the IA64 space.
Three comments on this. First, Linux generally is not free of cost, but it is free to use, redistribute, and modify, and it can be very very low cost. Second, Linux is not a PC operating system anymore than Unix is; Linux has been deployed on low-end PCs to hi-end workstations and very high-end number-crunching compute clusters. Third, many others besides HP foresee Linux as a viable alternative in the IA64 space.
You can download most utilitarian apps with no licensing fee. Some companies are selling commercial packages; however, you may be able to find no-licensing-fee software of equal functionality.
Contrary to popular marketing, Office97 isn’t the only productivity tool! There are a variety of full-featured office products for LINUX, StarOffice and Applix, for example, will typeset documents, spreadsheets, and presentation graphics, and can read many Office97 documents. If you absolutely must read and write documents in Office97, there are alternatives that address this also (e.g. [emulators]).
The two Q&As above are characteristics of the Linux
community. We will review the
completeness of these answers later.
But first, in case you have not already done much with recent Linux
desktop systems, the following screen shot from Craig's web page will give you
an idea of what kinds of things are possible and relatively easy to do with a
Linux desktop.
Linux (and Unix in general) is capable of providing *any* look and feel. With LINUX you get to choose how you interact with your desktop — from Windows95-like, MAC-like, NextStep-like, to CDE-like and beyond.
The extremely busy screenshot above consists of Craig’s production K desktop environment. Obviously this can be uncluttered by divvying windows among the workspaces. He was running:
Active tasks are displayed/iconified in the upper-left task bar. Also note, that all the software you see displayed cost exactly one US dollar and 95 cents.
First, let us review some points made in the infamous Halloween document about the viability of Linux on the desktop. Note, the critique focussed on the ease-of-use that is expected in the home PC environment, which is typically less of an issue in the commercial workstation environment. Eric S. Raymond's responses to the critique are paraphrased in curly brackets.
(Start of excerpt)
Linux is unlikely to be a threat [to Win*] in the medium-long term on the desktop for several reasons:
{ Open-source development really is poor at addressing this class of issues, because it does not involve systematic ease-of-use-testing with non-hackers. ... will get better as GNOME and KDE mature. }
{ ... it may be that the superior reliability and stability of Linux is sufficient ... open-source [development] mode [is capable] of generating innovation ...}
{ [See] previous comments on ease-of-use engineering, and the open-source community’s way to beat this rap ... [build] systems that use openness to support users readily evolving their environments to optimum, in the way that the Web does. }
(End of excerpt)
The critique points out that Linux is, at this time, not ready to go out and replace all Win* desktops in the home and in corporations. Linux systems and applications still have a long ways to go to gather the necessary applications and mind-share for such a feat. However, it should be much easier for Linux desktops to be deployed today in what I will call the technical workstation space; that is, the space that requires at least moderate compute power, minimal downtime, configurability, and has historically been Unix-centric, and more recently populated with higher-end NT workstations.
If you take a look at the hardware Linux-works-on-this table at http://hp-linux.cern.ch/ it is fairly evident that Linux drivers exist for most pieces and parts of popular IA32-based systems. Most of the systems listed at this web site are desktop systems with mostly-commodity IA32-based components. Thus, Linux itself is fairly complete in what it is able to support in the IA32 hardware space. If you start throwing in the plethora of other 3rd-party IO cards, it is likely that if enough people cared about using a card, then it will be supported under Linux.
As part of an overview of the Desktop, Administration, Office Productivity, ECAD, MCAD, Scientific, Development, and Publishing application spaces, this paper will attempt to:
Note that getting Linux to play well with existing workgroup user authentication schemes may or may not be an issue at the time this paper is presented. Also note that integrating Linux systems into an existing NT workgroup depends how file sharing and authentication is done, and how well Samba (or a similar utility) can be made to fit. Other papers and presentations should cover these kinds of integration issues at the necessary level of detail.
As with many applications and system software, you will not always find exactly what you are looking for and at the price you want to pay. A relatively new venue is being deployed to address this kind of problem in an open source way. What follows are a few web sites that allow you to pursue getting the software you want at the (hopefully reasonable) price you want. Essentially, you create a specification for what you want and how much you will pay and post that on the web (i.e. an RFP). You then get back proposals and pick which one you want to go with. On some sites, there may be an intermediary that handles the negotiation, contract and financial logistics of the project for you for a fee.
In this space we find few applications to choose from though the ones that are available are inexpensive to obtain. As of this writing, there are no mainstream commercial Unix workstation applications though there are competitors to popular PC applications. I would expect the ISVs providing the available applications to provide reasonable quality/support given the price they charge. Unix integration will depend on what you are already using, and how well the CAD interchange utilities (import/export filters) work.
There are several (inexpensive) open source tools available, as well as several expensive commercial Unix mainstream choices available. I would expect good quality/support for these tools, probably proportional to what you pay for them. These should integrate well given that most interchange formats in the EDA space are fairly standardized and given that Linux plays well on any existing network.
This application space offers several reasonable choices and, proportional to the price of support, I would expect reasonable quality/support for most of the applications offered. Integration will depend on what you are already using, and how well the interchange utilities (import/export filters) work. The integration problem should be helped by the fact that most of the applications support most of the popular audio/visual media file formats.
There are several good choices of applications in this space, and I would expect them to come with good quality/support. Some of the powerful office applications are free for non-commercial use; more specifically, they are free for personal use only. For commercial use they are priced within reason. Integration into a Unix-centric environment should be relatively easy. There may be some issues with proprietary document formats (e.g. latest Microsoft application file formats), especially in an NT-centric environment.
There are many good choices of applications and helper applications in this space. Many have no licensing costs and all should have reasonable quality/support. Because this was considered an obvious weakness for Linux relative to Win*, development in this space was fast and furious, so you would have to be patient to resist using beta versions before they were declared stable with some mileage on them.
Other applications in this space follow along the paths of the commercial Unix environment and, as expected, there is a licensing cost. Again, these products are usually relatively leading edge, very robust, and come with good quality/support.
Integration into an existing Unix-centric environment should be relatively easy as these applications are starting to superset the protocols of commercial Unix equivalents.
Note that there is a lot of homegrown code in this application space, and just about all of that code should port relatively easily. The only issue I can think of might be with the no-cost versions of the Fortran compilers; a commercial (usually pricey) version might be required, especially if recent versions of Fortran are needed. There are many good choices in the research arena, and I would expect reasonable quality/support for some applications. It is possible that some research codes have been orphaned, and these would no longer receive any support.
There are many excellent choices in this application space including some very powerful development suites that integrate many of these tools into a nice package/environment. I would expect very good quality/support for most applications, especially the commercial applications, in this space. Integration should be easy.
This application space offers excellent choices with reasonable quality/support. Integration should be very easy into a Unix-centric environment.
There are some good choices of applications in this space, most having good quality/support. Integration should be easy into a Unix-centric environment. Linux, like UNIX, is truly multi-user and, hence, it provides complete remote administration capabilities.
You may get what you pay for here. Many of the bonus applications are often leading edge, beta, and open source projects. Some of the emulators have been around for years, others are very new, and some are still being worked. Most of the emulators have one goal in mind -- allow the user to run the productivity application on Linux that they ran on their PC before they switched to Linux. Later in this paper, we will talk about one such emulator later (though "emulator" may not be the best terminology to use for it).
With respect to open source software projects, you should be aware that you often get much more than what you pay for. This is especially true if you consider the quality, capabilities, and support of the resulting application(s). Be mindful, however, that for such projects you do not want to be a very large leech that kills its host -- a symbiotic relationship will be much better for all involved.
The cost issues discussed below are focussed on the desktop space. For a server-centric comparison of the costs of WindowsNT versus Unix (Linux), I thought that the paper listed at http://unix-vs-nt.org/kirch/ did a reasonable job of assessing tradeoffs at the time of this writing. (As expected, some of the discussion in that paper did not apply in the desktop space.)
· Quality: Because of the stability, reliability, and robustness of Linux, downtime should be minimal. This translates into lower cost (relative to other less-stable environments) due to less loss of productivity and computer services.
Another cost for Linux might be the development of drivers for new devices. For example (fictitious!), WhizzyGraphics just released their latest, coolest, fastest, cheapest graphics card ever, and Daniel Mill of Mill Computer, has procured a billion WhizzyGraphics cards for Mill's Incision desktop computer models running a mass-market OS. Well, WhizzyGraphics has NO incentive to write Linux drivers for this card; they've already invested plenty in writing drivers for that mass-market OS. So, Mill Computer must now invest in writing that driver if they expect to sell some of those Incision systems with Linux pre-installed (... of course, Linux is an option on their web page order form). This fictitious account also points to another cost of Linux -- the lag time for support of new hardware -- though this lag time is getting shorter as more hardware vendors actively pursue (versus passively allow) Linux markets.
What I will list next are some trends that I have noticed that apply to the Linux desktop. As of this writing, it seems that Linux on the desktop will be a good, cost-effective, and easy-to-use solution for a wide variety of problem spaces. Linux on the desktop, and on the laptop, looks promising because...
Let us delve into one 'emulator' as an example of how one company chose to provide a solution to enable mass-market productivity applications to run atop Linux. This emulator, from VMWare, was mentioned in one of the comments leveraged from Craig's web site. VMWare's product provides a thin software layer that allows multiple guest operating systems to run concurrently on a single standard PC running Linux natively.
Stated Benefits (with my parenthetical comments):
Issues with this technology (my opinions, not validated):
If we consider announcements by some commercial EDA ISVs for Linux support, it seems that the EDA vendors consider Linux to be technically feasible to enable low-cost highly reliable technical computing. In addition, it appears that there is some expectation that these systems will be deployed on the desktop, not just for the purpose of a compute clusters.
MCAD is one of the more immature application spaces addressed by Linux on the desktop. However, it is encouraging to see the progress being made in the open source and commercial realms to address this shortcoming:
Linux, with the recent addition of the 2.2 kernel, better handles multiple processors on the desktop. I heard Linus Torvalds comment that the 2.2 kernel should scale really well to 2 processors and fairly well to 4 processors. This should mesh well with most desktops.
The Beowulf and similar technologies are being used to cluster Linux desktops together so that they become compute farms. What is nice about some approaches here is that the Linux desktop can be a user's workstation by day and a node in a compute farm by night.
Laptop support is continuing to get better. The power management support is currently a little flaky with Linux due to the proprietary nature of many laptops and the immaturity of Linux's power management codes.
Dual-boot laptops/desktops work well, but this may not be an ideal way to run Win* applications.
Graphics chipsets are not necessarily supported so be sure to check before you buy; if the laptop or graphics card you want is not supported under Linux, kindly ask the laptop and/or chipset vendors to provide a driver so that you can buy their product.
Distributions and providers of other runtime environment components are trying to play well and ensure a compatible runtime environment so users can run shrink-wrapped apps. The Linux Standards Board has been formed to enable some of this to happen. See http://www.linuxbase.org/ and its umbrella organization, http://www.spi-inc.org/.
This section was highly leveraged from Craig's web page.
List of Linux Links:
Caldera: http://www.caldera.com
Corel: http://www.corel.com
Debian: http://www.debian.org
Red Hat Linux: http://www.redhat.com
SuSe: http://www.suse.com
Start here:
PCMCIA Drivers and Information:
KDE: http://www.kde.org
GNOME: http://www.gnome.org
WM Choices: http://www.plig.org/xwinman/
Netscape: http://www.netscape.com
VMWare: http://www.vmware.com
GIMP: http://www.gimp.org
Applix: http://www.applix.com/appware/oa/index.htm
Word Perfect: http://linux.corel.com
Star Office: http://www.stardivision.com
Kvirc: http://www.kvirc.org
Ksirc: http://www.ksirc.org
Korganizer: http://www.redhat.com/~pbrown/korganizer
K* Apps: http://www.kde.org/applications.html
Samba: http://samba.anu.edu.au/samba/
VNC: http://www.orl.co.uk/vnc
Slashdot: http://slashdot.org
Freshmeat: http://freshmeat.net
NC LUG: http://www.nclug.org/news.html
What follows are the glitches in my experience using Caldera 2.2 and Red Hat 5.1, 5.2, and 6.0 on 486, Pentium-II, and/or Pentium-III desktop systems:
It has been fairly easy for me to ramp up on administering and using Linux, and I am one who has often had his hand held when it came to system administrations tasks. Granted, I have had some very Linux-knowledgeable co-workers to help me wade through some of the issues I encountered along the way, and I was able to rely on the news groups for solutions to some issues (e.g. dual-booting). My only previous Unix experience has been HP-UX, and I did not read any Linux self-help or training books; it was, learn as you go. I have found Linux to be quite reliable on the desktop, and Linux integrated easily into my [non-NIS] Unix environment.
Surely there will always be frontiers that Linux needs to mature in to make it truly friendly on the desktop, for both ease-of-use and integration. I am impressed at how far Linux has come in the year I have been watching it. It is difficult to predict how Linux's maturity rate in the desktop application spaces will fluctuate. However, given recent history, it is difficult for me to see the causes necessary to lead to a dramatic slowing of Linux's progress in the desktop space any time soon. Thus, I expect Linux-based solutions for the desktop to continue to mature and enable Linux-based systems to become a very good option in the technical desktop workstation space.
Most of the information in this paper came from the following sources:
Trademarks: