Pros and Cons - Feedback from Jake Hamby
Date: Thu, 7 May 1998 17:20:00 -0700 (PDT)
Hi,
I saw your article linked from the RedHat page. While it's a bit rough around the edges, it's an excellent collection of both original analysis and links to other articles.
Thankfully, in my job at JPL, and at home, I am able to choose UNIX or Windows depending on which fits my needs best. Both of my roommates are in the same position, and in fact, our apartment uses a FreeBSD box connected to our cable modem (and before that, a 56k analog modem) to serve all of the PC's (running Windows 95, Linux, and BeOS) with file and printer sharing, and most importantly, transparent IP masquerading. With many homes and small businesses facing the problem of multiple computers but only a single IP address to the Internet, it's important to note that both Linux and FreeBSD include this feature (which allows the other PC's the appearance of their own direct Internet connection without any special proxy software), while until recently it was difficult to perform this at any price under Windows. Recently, I discovered that Trumpet Software ( http://www.trumpet.com.au/) has a shareware product called FireSock for Windows which performs IP Masquerading, so the situation is changing, but as usual, UNIX offers much more functionality (and that functionality is tested, mature, and robust) bundled free with the OS than NT ever will.
Also, being able to telnet into this FreeBSD box from anywhere (using ssh for extra security through encrypted sessions) is very useful to me.
Now, on to a few links and constructive criticism you may find useful.
First, for those who want at least some of the power (if not the performance) of UNIX under Windows (95 and NT), have a look at U/WIN. This features the ksh shell, all of the usual UNIX commands, and best of all, a nearly complete UNIX API layer, which makes it easy to compile most UNIX programs for Windows with little or no changes. It even includes a telnet server, allowing you to telnet into an NT (but not Win95) box, something you can't do out of the box. Unfortunately, once you've telnetted into an NT box, it's not very clear how to administer it, since all of the tools are GUI, so UNIX still has the advantage of being much more USEFUL to telnet into. Best of all, U/WIN is free for noncommercial use, and reasonably priced for commercial use. Of course it's not as fast as UNIX itself running on the same hardware, but if you must use Windows for some reason (such as to run a particular program), having the power of UNIX on top is definitely nice:
http://www.research.att.com/sw/tools/uwin/There are other, similar attempts to run UNIX tools on top of Windows, but U/WIN has the best feature set of the others I've seen (such as OpenNT and Cygwin32). However, Cygwin32 deserves some merit for being completely free (including the GCC compiler), even though it is (in my experience) very very slow.
http://www.cygnus.com/misc/gnu-win32/As for criticism, I think it's fair to say that the GUI tools for administering UNIX are still very young. In particular, I've long been disappointed with Solaris' Admintool, which is so limited that I've always been forced to use commandline tools for all but the simplest of tasks. A related criticism of Solaris is that it doesn't include any of the wonderful free software that Linux or FreeBSD does, forcing the administrator to find, compile (tricky since Solaris isn't bundled with a C compiler), everything, including the most basic free UNIX utilities such as gzip, patch, or perl. This process can be quite daunting to a novice UNIX sysadmin. At least there are some companies providing CD-ROMs of Solaris software preconfigured and ready to install. For example, EIS (www.eis.com) sells a CD called Summertime (or Wintertime, depending on the season :) for $69.
This criticism doesn't apply to other commercial UNIX's, such as SGI's IRIX, which have both better administration GUIs and include precompiled versions of the most useful free software out of the box. And the biggest difference between UNIX and NT administration is that, while it's more difficult to learn to edit UNIX configuration scripts, it provides a refreshing level of flexibility and freedom compared to being forced into whatever NT allows with the GUI. More importantly, if a very large change needs to be made (for example, updating account information for thousands of users), it's trivial for a good UNIX admin to whip up a perl script (or even simply search-and-replace in a text editor) to make that change in UNIX, while the poor NT admin would have to spend all day point-and-clicking the changes in by hand.
In NT's defense, I think some things you've described as UNIX advantages aren't really that, but just differences. After all, with Linux supporting loadable device drivers, and FreeBSD featuring a visual kernel configuration tool, it's rarely necessary to build a custom kernel anymore, except for die-hard hackers (such as myself) who want to squeeze the last ounce of performance out of the system. So, while useful, it might scare people away to imply that they have to recompile a piece of the operating system in order to get any work done, because the generic kernel is already going to be more than adequate. The fact that NT looks bloated even compared to the generic Linux kernel shows that I guess this is a UNIX advantage after all. :)
Similarly, having a choice of GUIs for UNIX is nice, but not necessarily an advantage. It can be quite a disadvantage when every GUI app looks and behaves differently, or when each UNIX system looks different from the next. And there's no denying that the Windows desktop is still far ahead of UNIX desktops in some ways. For example, every UNIX GUI I've used required the user to edit text files to add new programs to the "start menu" (or equivalent), while Windows has a Taskbar control panel. This situation is slowly changing (in fact, KDE in particular is probably the leader in easy-to-use GUIs, while CDE was surprisingly disappointing to me due to its inelegance and extreme difficulty of customization).
A better argument for UNIX vs. NT is that for a server, the GUI should *not* be the primary consideration. Nor should the ability to run regular Windows programs (something Microsoft touts as an NT advantage) be considered a useful feature. After all, aren't Windows desktop programs like Microsoft Office, or Quake II, completely inappropriate programs to run on a mission-critical server? Therefore, why is the ability to run a word processor or a game even a factor in the equation? Yet it is this ability to run "familiar Windows applications" on a server that Microsoft touts as the biggest advantage to NT.
-Jake