The Desktop Operating System Revue(sic) by Grant M. Jan. 03, 2002 /*------------------------------------------------------------*/ Since the turn of the century, I have read more and more about Linux as a desktop operating system (as opposed to a Server OS). The majority of these articles either decries Linux as a "geek OS" or raves about how much better than MS Windows it is. I don't believe either of these statements is entirely valid, and therefore am making an attempt to write an un-biased comparison of the present versions of today's most popular OSs and versions. The disclaimer: There are some rules for commenting directly to me on the content of this article: o Read the entire article o If you don't understand something, feel free to ask. Don't "assume" that you know what I meant. o Leave your prejudices at the door. If you have a particular preference for one OS or the other, please respect my right to differ. o Know what you are talking about. I have had almost 20 years experience working with computers, including DOS, Windows, DEC/True64, SunOS, Irix, BSD, RedHat, OS/X, AIX, and several RTOSs. If you want to flame me for something that I get wrong, feel free, but if you flame me for something that you get wrong, well then be afraid...be very afraid. The Factors: The factors affecting the selection of a desktop OS most often include the following factors. This does not mean that these are the only factors to consider when selecting a desktop OS, but they the ones of greatest general concern to most IT managers. o Interoperability - a big word meaning "can my users share files and other information easily and without intervention by HelpDesk personnel?" o Ease of Use - This is another HelpDesk related question, specifically "can my users utilize the system as easily as they are using the currently selected desktop OS, with a minimum of training and equivalent long-term support?" o Functionality - "Can this system do everything needed to allow my company to continue operating as it has with the existing desktop OS?" o Migration - "Can I replace one of my current desktop OSs with the newly selected OS with a minimum of effort, and a minimum of impact on the organizaiton?". Basically this boils down to whether or not I can replace my Windows boxes with a Linux box. o Acceptance - "Will my users balk at the idea of using the newly selected OS, or will it be gratefully accepted?" o Security - "Is this OS as secure as my current OS?" o Cost/Value - "How much more or less will it cost me to use [insert OS name here]?" I must admit that many of these questions may unfairly benefit the MS Windows architecture, however (as I see it) these ARE the concerns of most IT managers. The last question likely benefits Linux, fairly or unfairly. I have also tried to include some of what I believe are concerns of the general home-user. These include the experiences that I have had as a user of both *NIX OSs and MS Windows products, as well as my own (albeit extreme) concerns as an end-user. The Operating Systems: My first step in writing this article was to rule out any OSs that don't really "fit the bill' so-to-speak, in the marketplace as it exists. This will likely be the part of the article that generates the most flames. I assure you, the reader, that I did not take these decisions lightly, and that I hold no ill-will toward any particular OS that was dismissed from the list of contenders. OK, here goes: After much consideration, I decided not to include Apple's OS/X in the final analysis. Yeah, I know "Booooooo!". My reason for this is that, although OS/X is a fine OS, it has not yet proven it's ability in the OS marketplace as a replacement OS for Windows. I'm not sure why this is, but I suspect that it may be due to a belief amongst Apple proponents that Windows is somehow inferior to Apple, and that there is no need to compare itself to Windows. I do feel however, that OS/X and Apple will continue to produce quality products regardless of this belief. The problem as I see it, is that Apple and OS/X do not seem to be competing with ANYONE, which is exactly what they should be doing. Do us a favor Apple, pick a market (desktop or server) and compete for it. Apple does have a loyal following of users in acedemics, and that is primarily why it was considered. That said, that really only leaves two valid contenders: Linux and Windows. For the purposes of the comparison, I have chosen Windows2000 as my comparison system. I did this because I feel that this is, at present, the most mature buisness-based Windows OS. For my Linux distribution, I have chosen RedHat 7.x (mostly 7.0). I know, more "boos". I made this decision based upon the fact that this is without a doubt the most well-known distribution in the United States. I do not particularly feel that this is the best distribution for the desktop, but it is generally 'useable', and would be the most-likely candidate as a replacement for Windows (even if only due to effective marketing). The Comparison Interoperability: Interoperability seems to be the most common reason given for people to reject Linux as a viable alternative to Windows. The primary arguments seem to be "Linux doesn't do Word/Office" and "Linux doesn't have as good an email client as Outlook". Although valid concerns, these arguments against Linux are becoming much less valid. Additionally, one has to realize that Word or Office are APPLICATIONS, and are not part of the operating system. They also cost quite a bit of money compared to the alternatives offered by Linux. As far as Word/Office goes, StarOffice has at least partially addressed this issue. SO can open probably 99+% of Word documents without error, and can save them without affecting formatting. This is a HUGE step in helping Linux compete for the desktop market. In addition, it can also open and save Excel, PowerPoint, and AmiPro files, although not as well as it does Word. It doesn't however, offer an email application that even remotely compares with Outlook(2000). There are however, alternatives to Outlook as well, which I discuss next. Unfortunately, it is this user's belief that StarOffice is not yet a "fully mature" product, as it tends to be too slow, and sucks-up huge amounts of memory. It does however, work well enough on a higher-end desktop to be completely useable as a replacement for MSOffice. Outlook2000 is without a doubt one of Microsoft's best offerings [insert flames here]. Although many people (myself included) would decry Outlook's poor security, privacy, and licensing, it is still a fully mature, well thought- out collaboration/MUA client. If it weren't, why are others copying it? "Others" includes Ximian, who have quite effectively created Evolution™, a collaboration/MUA product that stikes at the heart of the Outlook userbase. I believe that Evolution™ is most definitely a fully mature replacement for Outlook, and (with Connector installed) has the benefit of being able to utilize most of the features of existing Exchange installations. It's not perfect as a plug-in replacement for Outlook, but it also has some features that Outlook is missing. Most of the reviews of Linux that I have read have in some way or another pointed out Netscape Communicator's limited email client. Please people, Communicator started out as a Browser. Do not confuse it with a full-fledged collaboration tool. It isn't one. I place the blame for most of this confusion on Netscape, for it has yet to realize that it is primarily a Browser, and that is what it should concentrate on. I was once a staunch supporter of Netscape Navigator as the best browser (to the point where I actually bought retail copies for personal use). That was when 3.x was the version. Since 4.x came out (which I also bought), I have used IE. IE doesn't even try to be an email client. It is a browser, and only a browser. Netscape should pay attention. OK, now for the tough sell: Development platforms. There is no doubt that the majority of PCs in the world run some verion of MS Windows. That means that the largest potential market for software lies with MS. I don't like that. I suspect that a lot of other developers don't like it either. But that is the world as it exists today, and we as developers need to accept it. What does that mean for Linux? Well, one thing it means, is that most developers will need a Windows environment for development. This does not mean that the environment will need to be a PC with Windows as an OS, but rather it could be a Windows emulator or even a virutal machine. Wine, often recommended as an alternative, is not a valid option. It does not fully emulate a true Windows OS, and cannot yet run many of the applications most used under a true Windows OS. VMWare offers a valid alternative with their Workstation Product that is a fully mature product. However, it is not free, and also requires you to own a copy of the hosted OS. This doesn't necessarily defeat the purpose, as many software houses are already investigating the possibility of migrating or developing new products for Linux. Therefore the combination of these three products (Linux, VMWare, Windows) may be the best thing to happen to development since the NextOS. I would like to see VMWare work on a better pricing schedule, or at least include some cross-development tools (maybe a KDeveloper with Win32 Libraries... is that possible?). I'm just not sure that I can justify the $300 investment. The tools for development are, I believe, moot. KDeveloper is an excellent Suite for developing software for Linux and KDE, and VisualC++ is ideal for developing for Windows (I must admit however, that I prefer to use Borland's C++Builder, but only for projects for myself). VisualBasic is an additional concern if a company has a lot of legacy VB code that they need to utilize. For the present, I think that Windows2000 wins in the Software Development arena, but based solely on the fact that most developers are developing for the Windows platform. If you are not restricted to Windows development, then it's a tie. Ease of Use: In this section, I have only tried to include things that a typical corporate end-user should encounter, and not things such as installations, upgrades, and non-user modifications. That means that items such as changing a network configuration or installing a firewall would (and should) be done by HelpDesk personnel, and not by the end-user (I don't care how much you know about it, unless your work on the HelpDesk, it's not your job). After having used CDE, KDE, Gnome, Enlightenment and the Windows Desktop, I believe that a Linux box with both Gnome installed and KDE as the default user desktop is a viable alternative to Windows. Gnome has some really great tools, but not as much of a Window-fied interface, that is the reason for installing both. You will need Gnome installed to utilize the Gnome tools under KDE. With RedHat7, this is a simple selection at install time, and therefore is no big deal. The reason that I chose KDE over Gnome, Enlightenment, and all of the other desktops is because this is primarily an article comparing Linux to Windows2000. If it were an article to select the best Linux Desktop for the true "geek", I probably would have selected Enlightenment. KDE is also, I believe, easier for the average newbie to learn. It is very similar to Windows, which as we all know is presently the most well-known interface. There IS something to be said for the "learning curve". One big problem with KDE is it's difficulty in modifying the menus. It may be that I just haven't looked hard enough, but I have yet to find an intuitive means of modifying the menus. I should just be able to right click on a menu and add an item. Either that, or I should be able to drag and drop something onto an existing menu. I can do that with the kpanel task bar. In regards to creating shortcuts, you may need to understand how a shell works in a console before you can even get one to work. For instance, after building and installing Mozilla, I found that it wasn't in the menu, as expected. I therefore needed to create a shortcut to it on my desktop. After creating a shortcut to what I thought to be the mozilla binary, it wouldn't work. After taking a closer look at the mozilla file, I discovered it to be a Bash shell script. This meant that I needed to change the command to execute to "bash /path/mozilla". I think that KDE should read and use the #! line. I shouldn't have to tell it. Most everything else that I would expect a user to do that I have done so far is relatively straight-forward. A home-user is another story, as many of the things that one might need to do to modify the system at home might be just too complex. Things like setting up a sound card, or a modem, or even something that should be simple like setting up a printer turns out to be more difficult under RedHat. These things shouldn't affect the typical corporate user however, as the admin can do it all from his or her own desk, all while the end-user continues with their own work. Functionality: After thoroughly examining this aspect of both Windows2000 and Linux, I have to assume that, other than specialty applications, Linux has all of the functionality of Win2k. Some of this functionality might not be free, but then again neither is Windows. The only limitations on this is the vast quantity of Windows games, however those shouldn't be on a corporate workstation anyway, right? ;-) Windows2000s major applications Office and Outlook have already been covered earlier in this article. Other applications like graphics programs, IDEs, Text editors, browsers, etc., all have a counterpart in Linux. The only thing that I have yet to find for Linux is a professional-quality desktop publishing package. That's not to say that there aren't any good desktop publishing packages under Linux, it's just that from the looks of the ones that I have seen, they don't really say "professional" like Ventura, Quark, or Illustrator do. If I missed one, feel free to correct me. Migration: This is the big question. Can the average IT department migrate easily from Windows to Linux? The answer may be more complicated than you hoped. The average Linux fanatic would have you believe that anything that Windows can do, Linux does better. That is wholly untrue. Linux can do a lot of things better than Windows, but then again, so can't DEC/Tru64 and SunOS. That doesn't mean that you want to put those on the average every user's desk. Linux does do most of what Windows does as well, and even sometimes does things that Windows doesn't do. The real question should be "Does Linux do everything that my user's need it to do, with little or no support from the HelpDesk?". The answer is "yes" and "no". Here's the problem: Linux sometimes does things differently than Windows. That is not in and of itself a "bad thing", but it can lead to confusion for the newbie user. This shows up in things such as I had previously mentioned regarding menus and shortcuts. It is not an insurmountable problem, but it can lead to additional HelpDesk calls. Another thing about Linux is that it is not Windows. Although KDE and other Linux features can make it seem like Windows, it is still an OS built on top of a POSIX-based system. That means things like "/" instead of "\", "/dev/hdxx" instead of "C:", and "ls -l" instead of "dir". This can lead to some headaches once the user starts to look at the help files on their own. In many situations however, a Linux newbie can accomplish everything that they could using a Windows box using Linux. This means that as long as the user understands that this is not exactly Windows, then they can perhaps not only tolerate Linux, they can excel. I believe that given the appropriate environs, the average Windows user can and will do just fine using a well-configured Linux machine. Acceptance: The answer to this question might seem weighted in favor of Windows, but it shouldn't be. Most people are not thrilled when they hear about changes being imposed upon them. We all get used to doing things a certain way (read "stuck in a rut"), and dislike it when we are asked to forget what we are familiar with and learn a "new trick". That said, I tend to believe that an organization can implement Linux on the desktop, provided that they understand that this is not a Windows clone, but rather a new Windows-like OS. What that means is that like any piece of equipment, it should be implemented methodically, in such a manner as to cause the least impact on the productivity of the organization. For instance, if the organization were to roll-out Linux to a small group of skilled Windows users first (the geeks), then they could see what sort of problems were encountered at that level, and attempt to resolve those issues for the less-skilled users. Additionally, this method would tend to highlight shortcomings in interoperability and installation methodologies. In the end, an measured approach is likely the most effective means of implementing an new OS introduction. Take on the project in small "bytes", and all of the problems that you encounter should be surmountable. Security: No, Linux is not more secure than Windows. It's also not less secure either. It's different. Either OS can be either secure or insecure, depending primarily on who set it up, and what the machine is meant to do. For instance, a Windows 2000 box with no external connections to anything is inherently more secure than any Linux Web Server. That doesn't mean that Win2k is more secure than Linux, it just means that it is a different installation, which is the point that I am trying to make: "Any OS's security is directly proportional to level of understanding of that OS's security flaws by the person performing the installation/configuration." For instance, I would likely be better at creating a secure Linux install than say, Bill Gates, if for no other reason than I have been using Linux for several years and that I read all of my CERT advisories. I also would think that I can probably sit and write a sendmail.cf, which I doubt that Bill can. But that doesn't mean that Linux is a more secure OS than Win2k. ;-) The point that I am attempting to make is that if a Linux workstation is installed by an experienced Linux admin, using a secure and well thought-out plan for implementation, then Linux will likely be more secure than a Win2k box at that point in time. However if that Linux box is ignored from that point forward, and no patches are installed down the road, it eventually can become much less secure than Win2k. The final word: If you plan to use Linux on the desktop, then you should hire/have at least one seasoned Linux administrator on staff. You should also have plans in place for in-depth training for anyone else that you plan to have interact with systems in an administrative role. Lastly, you should have an installation security strategy in place prior to beginning a roll-out. Cost/Value: If you haven't read the rest of this document, then you must be a "bean- counter", and that's really not who the target audience of this article is. You should probably find a geek, and ask them to translate this for you ;-). Seriously, cost and value are difficult to measure in the case of a desktop OS. It truly is dependent on a variety of factors that differ from business-to-business, company-to-company, and even department-to-department. For instance, it would likely be much simpler to roll-out Linux on the desktop at a Web Development company that it would at say, a bakery-goods distributor. That doesn't mean that either company would be less successful at implementing a Desktop Linux, it just means that the considerations would be dramatically different. The common costs are what we are really concerned with here. These are: o Planning o Initial Software Capital Investment o Initial Hardware Capital Investment o Initial Administrative Additions/Training o Roll-out o User Training o Additional Helpdesk Support expenses o Use/Service Policy modifications o Long-term o Helpdesk expenses o Software Maintenance o Administrative costs As far as Planning and Roll-out goes, this will always cost more than staying with your existing OS (namely Windows). However, the goal would be for the cost of Planning and Roll-out to be offset by reduced overall long-term costs. Is the overal cost of ownership for Linux on the desktop more, less or equal to a Win2k desktop? Honestly, I'm not sure. Not having to pay for 300 Win2k licenses has to be a huge incentive, but having to pay around $90k/year per decent Linux admin is also tough on the pockets. Also, having to develop, coordinate, and implement training for 300 users had got to be a major undertaking as well. Addtionally, with the new licensing scheme from my buddy Bil Gates, those 300 licenses are going to cost more and more every year, not less and less, as Linux will. All that said, I think that a long-term Linux Desktop plan can have a long- term benefit, in that once the initial expenditures are out of the way, the long-term cost of ownership is reasonably enough lower than it is with Windows to offer an acceptable return on investment. A Linux desktop also can and does provide a much more flexible platform on which to meet your future organizational needs. That means that if sometime down the road you decide that you need to modify your requirements for your desktops, you will likely be able to do so at a much lower cost than you would had you been running Windows boxes. Not only that, but had your systems been originally implemented by "mounting" key areas of the OS (as is the case with most enterprise installations), then changing configurations would require much less effort on the part of the administrator. Well, that's it for the analysis. I didn't get in everything that I wanted to, but my fingers are getting tired, so this will have to do. I hop this answers alot of the typical questions that you might have regarding desktop operating system choices. If not, drop me a line and let me know where I've failed you ;-). Grant Mongardi wizard@neonedge.com