Linux, OpenBSD, Windows Server Comparison:
Included With Core OS
From the perspective of what is included with the core operating
system, application availability is somewhat reversed. Windows
NT servers come with Windows file and print services built in and
DNS and DHCP are included with the TCP/IP networking. The
Windows NT Option Pack included a versatile but bug plagued web
server, IIS, a flexible FTP server, and some additional
components. Windows 2000 Server appears to include most of the
standard TPC/IP servers but I've been unable to find a list from
Microsoft so there is no way to know just what Windows 2000
Server includes.
With open source operating systems, anything that is included on
the distribution CDs is nominally part of the OS. As there is
typically no charge for the software, what any distributor
chooses to put on a disk becomes a packaging decision. One
distributor may wish to simplify installation by keeping it to a
single CD. Another may wish to increase options and include
multiple CDs. A distributor may create multiple packages, with
different sets of disks and prices. Red Hat Linux 7.1 includes
two base disks and up to five additional CD-ROMs. Much of, but
not all of, what is included on those disks is open source and
free. The basic OpenBSD and Red Hat server installs include all
the standard TCP/IP servers in the installation, even though many
of the less used are turned off, as they should be, by default.
Microsoft makes a big deal about how much is included with their
servers, but many of the services provided by Microsoft Windows
servers, provide support for only Microsoft's own proprietary
standards, which if used, pull you into an every tighter embrace
with Microsoft technology, that becomes increasingly difficult to
free yourself from. Even in the most basic OpenBSD or any Linux
install, more standard Internet servers are included, than any
version Windows NT Server install. Without a list from Microsoft
there is no way of knowing what is included with Windows 2000.
It's clearly a lot more than NT but seems unlikely to be
"complete". In particular both telnet and SSH clients and
servers are included with both OpenBSD and Linux; these allow
full and with SSH, secure, remote control of any UNIX server.
Even support for Microsoft file and print sharing is readily
available with both Linux and OpenBSD. Such services really are
not appropriate on most Internet connected servers, surely not
public Internet (web, FTP, mail, DNS) servers but are obviously
needed on internal LAN segments, if the desktop environment is
Windows. For dedicated Windows file and print servers,
Windows servers may be a better choice than open source systems
running Samba (Windows SMB emulation), though such machines
certainly can provide Windows file and print services to Windows
clients.
As evidenced by the up to seven Red Hat disks, what might be
regarded part of an open source operating system, can be nothing
other than someone's packaging choice. For open source operating
system, it's worth considering what applications, here
specifically meaning server type applications are available as
part of the price of the operating system. As open source
operating systems are free, one might say that any free software
that runs on the OS is part of it. Of course there are open
source products that run on Windows and other commercial
operating systems, but most significant open source applications
are developed first on the open source operating systems. The
commercial counterparts are often ported versions of the products
first created on open source systems.
Open Source Applications
Some examples of open source applications are the NTP protocol
and the Apache web server. Network Time Protocol (NTP) is a
complex time protocol to accurately synchronize computers to
Coordinated Universal Time (UTC). Perhaps the only complete open
source (free) implementation of the entire protocol is the ntpd
server written by David Mills and others at the University of
Delaware. This compiles cleanly on all the UNIX like open source
systems and most commercial UNIXs. It's been ported to Windows
but the Windows version is almost two years older than the most
recent UNIX version. There are few if any functional changes, but
bug fixes have been made in the UNIX versions, that haven't gotten
to the Windows version. The fully functional ported version runs
only on Windows NT and 2000 (not 9x), and relies on the same, very
un-Windows-like, configuration file that the UNIX versions uses.
There are dozens of mostly free, including some open source
products, that implement a subset of NTP capabilities on Windows.
Some are client only and some include limited server
capabilities. There are also commercial products costing
hundreds of dollars or more, that appear to do the same thing, but
add a GUI management interface and additional feature lists of
unknown value.
Apache is the most widely used web server, because it provides the
most functionality, and any functions not wanted or needed, can be
disabled, or removed entirely and easily. In addition to an API
(IIS includes an API) Apache has an open architecture that
supports modules. Modules allow Apache's functionality to be
extended in almost any direction, and don't require programming
skills to be used. The Windows version of Apache is generally
somewhat behind the UNIX versions, and lacking in some of the more
recently developed capabilities.
A tiny sampling of open source applications, development tools
and infrastructure enhancements, includes the MySQL and PostgreSQL
databases, PHP, a competitor to ASP and ColdFusion, SNORT
intrusion detection, Perl and Python scripting languages, web
traffic analysis packages including Analog, Beowolf clustering,
several high quality firewalls, GIMP a "free software replacement
for Photoshop," StarOffice or its OpenOffice counterpart that can
reasonably be considered a competitor to Microsoft Office,
Ghostscript which views, prints and converts PostScript files
allowing them to printed on non PostScript printers, and Junit,
an automated software tester.
Sourceforge.net is a major repository for open source
applications and perhaps gives the best overview of what's going
on in the field. Unquestionably most open source development has
been "backend" projects such as operating systems, development
languages and tools, communications and security as opposed to
"front end" business applications. This can be seen in reviewing
some SourceForge categories. For example the Office/Business
category only lists three subcategories: Financial (246
projects), Office Suites (45 projects), and Scheduling (174)
projects). The three most active "Financial" projects are
CasualStaffHR ("management of casual staff ") , openHBCI ("easy
access to German credit institutes") and QuantLib ("A C++
library for financial quantitative analysts and developers").
Only 5 "Financial" projects rank in the top 50% of SourceForge
projects and none ranks higher than 83%. (These percentages
appear to be based on download activity compared to all other
SourceForge projects which total approximately 24,000.) You can
get a good free database, MySQL or PostgreSQL suitable for
developing just about any kind of custom application. Selections
of full featured business applications are limited; see
Christopher
Browne's Free Software for Business Accounting page
for examples.
The "Office Suites" category is even weaker. 45 projects are
listed but only 4 are active ranging between 52 and 90%. The top
project is AbiWord, a cross platform "full-featured" word
processor with MBD Tools, utilities for reading Access databases,
second. I have not looked at AbiWord, but to date the only office
productivity suite that can reasonably claim to compete against
Microsoft Office is the StarOffice / OpenOffice suite backed by
Sun. Other suites, such as Koffice, which like StarOffice is not
hosted at SorceForge, have the major applications but simply are
not up to professional standards.
The "Scheduling" category does much better with 174 projects
including 5 projects in the top 90%. Two are multi function web
based groupware with combinations of e-mail, address books,
calendars, task lists, and document sharing. One is web
calendering only.
All the really large open source projects, Linux, each of the BSD
family of OSs, Apache, Perl, PHP, etc. have at least one
organization and independent web site behind it and many of these
have several and at least one, Linux, has many web sites focused
on it.
A listing of all SourceForge top categories and project counts
(from August 2001) gives a good picture of strengths and emphases
open source:
Internet (4190),
System (3483),
Software Development (2937),
Communications (2869),
Games/Entertainment (2643),
Multimedia (2228),
Scientific/Engineering (1384),
Database (1105),
Office/Business (766),
Desktop Environment (746),
Education (514),
Other/Non Listed Topics (513),
Security (470),
Terminals (123),
Text Editors (442).
Printing (83),
Religion (53),
Sociology (35),
A look at a second level listing, Communications:
Chat (845),
Email (648),
File Sharing (314),
BBS (149),
Conferencing (145),
Telephony (95),
Usenet News (78)
Ham Radio (46),
Internet Phone (28),
FIDO (24),
Fax (15),
and one third level listing WWW / HTTP under Internet:
Dynamic Content (1597),
Site Management (656)
Indexing/Search (232),
HTTP Servers (155),
Browsers (132),
suggest how rich the choices are in those areas that have been
open source's traditional strengths.
Some of these projects, such as the web and Java based ones, are
platform neutral. A few are platform specific like a Palm
project manager. Though there are unquestionably a significant
minority of Windows only, open source projects among those
listed, it's a fairly safe bet that the large majority of these
projects have been developed on Linux and unless they are
platform neutral, will run on Linux with less effort than any
other operating system. Beyond that, without spending a great
deal of time counting and analyzing, I don't know whether there
are more open source products that run directly on OpenBSD or
Windows.
For SourceForge the raw numbers are as follows: OS independent -
5780; Windows NT/2000 - 955, Windows 95/98/2000 - 2190, all
Windows 4370; OpenBSD - 54, all BSD - 834, Linux - 7157, all
POSIX - 11073. Please don't ask me to explain the categories or
count discrepancies; these are the categories and numbers
SourceForge displays when you choose to browse by Operating
System. Window's popularity has resulted in many Windows
specific applications but applications developed on Linux or any
other UNIX system can usually be ported to OpenBSD easily but to
Windows only with significant effort. Without knowing the
details of the project, there is absolutely no way of knowing in
advance whether a project listed simply as Linux or some other
UNIX variant can be compiled and run cleanly on OpenBSD, will
require a few minor tweaks or will be a serious programming
challenge.
Qualitatively however, I have little doubt that OpenBSD has a
significant edge. A few important products, particularly in the
security and encryption area, such as OpenSSH and OpenSSL are
developed first on OpenBSD and then moved to other systems.
OpenSSH is the only open source implementation of SSH, even
though there are several others, to have captured a significant
share of the SSH market from the commercial versions. Returning
to the NTP example, thirty some partial Windows implementations
don't make up for a single complete UNIX implementation available
as either a binary package (on the OpenBSD distribution disks) or
source code that compiles cleanly.
Because Window's largest single advantage is the huge number of
applications developed for Windows, it is a significant advantage
for Microsoft, if it's difficult to port a Windows application to
another operating system. Microsoft has repeatedly made system
design decisions that make little or no technical sense but make
excellent business sense in that they make it more difficult,
i.e., expensive, for a software developer to port a Windows
application to other operating systems. This is one of the
key concepts, referred to as "the applications barrier to
entry" in Judge Jackson's
Findings of
Fact in the US v. Microsoft Naturally these barriers work the
other direction as well, so that in those areas where there are
more applications on other operating systems, open source being
one, it's harder to move these to Windows than almost any other
platform.
Thus Windows versions of UNIX built open source products, tend to
be more command line and text oriented than typical Windows
projects and or lag behind the UNIX counterparts. Many open
source developers are actively anti-Microsoft or anti-Windows and
won't port their code to Windows. When this happens, independent
Windows developers are likely to make use of the open source. In
these cases they have no obligation, or even incentive to keep
the derived product similar to the parent. Various windows
developers tend to create a variety of related products that are
functional subsets of the UNIX original using Windows management
interfaces, creating a multiplicity of incomplete
implementations.
So while open source is by no means a UNIX only phenomena, most
open source development has been done on UNIX systems, with the
UNIX like open source operating systems, Linux and BSD family,
playing the leading roles. No systems are in a better position
to take full advantage of open source products, especially the
full array of development and infrastructure products, than the
open source operating systems, themselves.
Thus, it's fair to say, that for the base price of the operating
system, free in the case of Linux and OpenBSD, that there are
many more products significant to business, available, than on
Windows. In many ways the previous discussion about significant
versus niche products could be applied to open source
applications except here the clear leader is Linux, with OpenBSD
a somewhat distant second and Windows last. By some counts there
might be more Windows products than OpenBSD if you count each
separate "product" that implements some subset of a protocol.
There are probably three dozen Windows NTP and SNTP products,
each with a different set of GUI widgets to control NTP functions
and different sets of helper functions such as built in lists of
public time servers or a function to "find" local time servers.
Not one of these provides anywhere near the functionality of ntpd
on UNIX systems. Exactly the same source .tgz file can be
downloaded to both Linux and OpenBSD and compile cleanly on the
first attempt.
Top of Page -
Site Map
Copyright © 2000 - 2014 by George Shaffer. This material may be
distributed only subject to the terms and conditions set forth in
http://GeodSoft.com/terms.htm
(or http://GeodSoft.com/cgi-bin/terms.pl).
These terms are subject to change. Distribution is subject to
the current terms, or at the choice of the distributor, those
in an earlier, digitally signed electronic copy of
http://GeodSoft.com/terms.htm (or cgi-bin/terms.pl) from the
time of the distribution. Distribution of substantively modified
versions of GeodSoft content is prohibited without the explicit written
permission of George Shaffer. Distribution of the work or derivatives
of the work, in whole or in part, for commercial purposes is prohibited
unless prior written permission is obtained from George Shaffer.
Distribution in accordance with these terms, for unrestricted and
uncompensated public access, non profit, or internal company use is
allowed.
|