[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[fc] Some thoughts written down overnight [LOOOONG]
I have written this document as I felt the need to give a way out to
my frustration with the arrogant, false and utterly FUDdish article we
all read. It contains many personal opinions not suitable for fighting
FUD in a decent way, but also you'll find several facts I found
important. If you find any falsehoods, stupidities etc. please let me
know, I'll be really grateful! Well, here it is - an overnight work of
One Angry Man :))))).
It answers point by point, section by section the document on the M$
site. Just put them side by side :))
greetings,
marek
----------------------------------------------------------------------
Linux Myths
-----------
Relying on a 30-old tradition doesn't mean staying behind the trends
in technology. Such age of the Unix design merely means that the
design is stable, mature and proven. Pointing it out as a misfeature
is like saying that light-bulbs rely on a technology which is 50-years
old and therefore are useless. Linux was NOT designed from the
ground-up as an operating system stuck to one GUI and one application
structure. Unlike NT, Linux is flexible and can easily accept each and
any technology in the fields outlined. NT is a monolithic entity
consisting of the HAL, kernel, driver, UI and more layers tied in a
way that makes it almost impossible to change any of them without
breaking all the rest. Changing the looks of the UI, writing drivers,
improving the internals of the system - all these tasks require
proprietary tools from one vendor. Linux, on the other hand, is a well
designed kernel that doesn't rely nor isn't tied to any external to
the kernel additions such as UI, applications or utilities. Linux user
can choose what GUI, what set of applications and in what
configurations thereof will his system work. There is only one Windows
NT - one has no choice but to use it. One OS, one choice. There's only
one Linux KERNEL, but many Linux-based Operating Systems. All of them
provide similar functionality in different ways, but user has a wide
choice of what suits him best. What does it prove? Linux is flexible
enough, modern enough, powerful enough to build a variety of Operating
Systems on top of it. Windows NT is not.
Myth: Linux performs better than Windows NT
----------------------------------------------------------------------
Reality: Windows NT 4.0 Outperforms Linux On Common Customer Workloads
Several test whose results were posted to linux-kernel prove that the
Linux kernel v2.2 has improved over its (also very fast) predecessor
at a rate of roughly 30% (need real figures to support that).
- Independent tests call for results from several INDEPENDENT
sources, not just one set of lab tests. Besides, we don't know
what were the tests? Amount of pages printed per minute? Amount
of ink used? Amount of serviced jobs per hour? Another case is
that a 4-way system is NOT a common Windows NT case. Common
Windows NT installations support up to 2 CPUs in a system.
- Tests should be performed on the same set of software and in the
same conditions. There exist Win32 versions of Apache. Test
should be performed on Apache both on Linux and Windows NT. Also,
Apache is not the only one, and not the fastest Web server in the
Linux environment. There exist far superior implementations
thereof, to name a few of them: phhttpd, khttpd, Roxen
Challenger. Again, we don't know what were the tests and under
what conditions they were conducted. Moreover, Linux is a
multi-user system while Windows NT is not (it's a multiple-user
OS).
- Again, for SSL testing one, arbitrarily selected, product has
been chosen. There exist several SSL implementations for the
Linux platform. I don't know much about Stronghold to comment on
this topic.
- I have no figures for transaction-based database systems on
Linux. The only thing here I can say is that huge database
systems as Oracle, Interbase, INGRES, PostgreSQL and more exist
and function perfectly even on heavy loaded Linux systems (need
figures to prove the point).
- In the case of RAM memory it is sure that Linux supports up to
2GB of physical ram (it's enough to look at the config option -
that's probably what the M$ people did), but I think it might
support a bit more than that :)). Take a look at the
include/asm-i386/page_offset.h and include/asm-i386/page.h files.
First of them defines and comments on a macro named __PAGE_OFFSET
which is defined to reference the PAGE_OFFSET_RAW macro defined
in the latter file. PAGE_OFFSET_RAW is by default set to
0xC0000000 which gives Linux a coverage of 1GB of physical
memory. The macro defines Linux' virtual memory range. You can
set the PAGE_OFFSET_RAW to one of these values (from the
page_offset.h):
#include <linux/config.h>
#ifdef CONFIG_1GB
#define PAGE_OFFSET_RAW 0xC0000000
#elif defined(CONFIG_2GB)
#define PAGE_OFFSET_RAW 0x80000000
#elif defined(CONFIG_3GB)
#define PAGE_OFFSET_RAW 0x40000000
#endif
There we have! A DOCUMENTED way of supporting 3GB of RAM.
(NOTE: need comment of someone more knowledgeable on that matter)
The file size is limited to 2GB on IA32 bit architecture. 64bit
architectures allow for larger files.
The swap file size is not limited to 128MB. Besides, WinNT and
Linux use different memory management techniques, with WinNT's
needing much more swap space than Linux's.
- The scalability issue is being worked on right now by the kernel
developers. The article is, however, right in that respect.
Myth: Linux is more reliable than Windows NT
---------------------------------------------------------------------
Reality: Linux needs real world proof points rather than
anecdotal stories.
Maybe there are no real world data or metrics on Linux reliability except
the amount of servers running Linux for months without interruption :)
(with an estimate of 17% server market share belonging to Linux
platforms), but there are documented cases of Windows NT miserable
failures and bugs that remain unsolved for months (tip: search Bugtraq
archives for M$ Security Bulletin copies and all the reports about
still unfixed bugs in WinNT 4.0). Perhaps http://www.insecure.org/
with its wealth of NT exploits would count as a "real world" data?
- I cannot find any reports of that sort on Linux.
- True. There's no, as of today, a JFS for Linux. But several of them
are being worked on (XFS and ext3). Despite that, ext2 is robust and
reliable enough that even turning the machine off during the
transaction in 95% of cases results in data remaining intact after
e2fsck does its job. Even damage of the superblock is recoverable by
using copies of it stored at the beginnings of block groups. OTOH,
despite its JFS, Windows NT has been known to lose data and even to
render the NTFS partitions unusable (word of mouth and several
personal experiences, nothing confirmed black-on-white though)
- Cannot comment on this one. Don't know much about it :((
- System-level uptime guarantees for Windows NT are given only for the
BARE system with no applications installed. Indeed, very
useful. Many companies (IBM, Compaq, Dell) offer PCs with
pre-installed Linux on them. That should serve as a proof that Linux
is mature enough, reliable enough to be noticed by the giants of the
PC industry - a fact that cannot be ignored since it can hardly be
expected that any self-respecting, reputable company would sell
their products with something unproven and unreliable pre-installed on
them (on the other hands they sell machines with Windows 95/98... oh
well... :))
Myth: Linux is free
-----------------------------------------------------------------------
Reality: Free operating system does not mean low Total Cost of
Ownership
Hmm... "It's important to understand that licensing cost is only a
small part of the overall decision-making process for
customers". Hardly. A fully fledged server based on Windows NT
(e.g. SBS + Exchange Server which gives us in two separate products
what we get in one piece with any Linux OS) costs about US$ 1550 with
a license for 5 clients. With that amount of money in hand one can
purchase a decent PC and convert it to a fully fledged server by buying
a $5 CD with Linux or downloading a CD image and burning a CD for
under $1. At the very start, Linux TCO is smaller by 1500$.
- In this point the author of the article suddenly forgets that he
writes about Linux and starts using the word Unix (a side note: did
you notice that the only names marked with the (R) symbol in the
article are Windows NT ad Windows? Hmm, AFAIK, Linux is (TM) and
Unix is (R)? Isn't that against the law?). Unix systems were
traditionally installed on huge and expensive machines, so it
isn't strange that their TCO is higher than WinNT which was
targeted at the PC market (be it Alpha or IA32 machine). Linux
can be installed and effectively used on a garage-sale i386 PC or
on any system well under $1000. SO, the TCO of Linux is at the
very least 1500$ mentioned above less than that of NT (even
assuming that the commercial support is at the same level what
with Windows, possibly a little bit higher). Granted, if a Linux
user constantly used commercial support that is more expensive than
that of Windows, the difference would eventually vanish and turn
in favor of Windows NT. BUT taking into account the fact that
Linux has much more freely and easily available documentation,
together with an excellent on-line support for free, the situation
doesn't seem probable.
- Ditto.
- This is a myth that has been destroyed long time ago. We all know
that Linux isn't hard to configure. All that's needed is to read
the well documented configuration files accompanied with numerous
configuration examples and rich documentation. Compare it to
ridiculous M$ "Getting started" documents or on-line help and it
is clear that the total time spent configuring Linux is much
smaller than learning to configure Windows (except for clicking on
the Control Panel icons which constitute roughly 1/3 of the
Windows configurability). Added the difficulty to add new hardware
to Windows NT and getting it run, Linux wins the competition (a
side note: how an OS that has to be rebooted several times to
configure, e.g. networking, can be considered a serious choice for
a busy Internet site? Not to mention that changing a NIC in
Windows NT makes it really unhappy at times...). With the advent
of several Linux configuration interfaces (linuxconf, COAS) it
becomes clear that there's no such thing as difficulty in
configuring Linux. It's just different. Re-training costs are as
high as handing the would-be administrator a CD with a copy of all
the documentation for Linux (LIG, SAG, NAG for start and a pile of
HOWTOs)
- This point calls for a survey :)). All the questions put here can
be asked verbatim in that survey. End-to-end testing is performed
by IBM, Compaq, Dell, VA-Research, us here, thousands of
developers, millions of users worldwide.
Myth: Linux is more secure than Windows NT
-----------------------------------------------------------------------
Reality: Linux security model is weak
Security model that wasn't designed to be secure? Interesting. Sure,
there are weaknesses in the Unix model, but there are ones in the NT
model - and, I daresay, ones more severe (e.g., errm :)) - IE5)
- In Windows NT it is possible to take rights from the
administrator. If it happens, nobody can access anything on the
system. Truly secure, but impractical I'd say. The just-arrived
capabilities on Linux provide far better level of protection than
access and ownership rights on both Windows and traditional
Unix. Operating system data structures on Linux are protected by
only allowing the UID 0 user (or an application that has appropriate
caps) to access and modify them (with some exceptions - I'm
discussing the default case). The Owner,Group,World protection
scheme is sufficient for most applications, the capabilities scheme
is suitable for all applications by specifically allowing given
applications perform limited actions. ACLs are incoming on the Linux
systems. And, hmm..., Linux security model can be regulated as well
by manipulating the capability bits or OGW permissions.
- FUD. It's sufficient to mention the group wheel on BSD systems and
co-administrators with GID 0, or simply with appropriate GID to
access certain structures. Limited administrator rights can be
granted using SUDO, for instance. No need to grant full
administrative rights to somebody responsible for users' passwords
on the system :)).
- True, Linux hasn't, but the author probably doesn't know what hides
behind the C2 certificate (which, btw, has been granted to Windows
3.51 and probably newer versions, on the restriction that these
systems stay disconnected from the network. Really useful for a
networking system). The C2 certificate is granted to systems that
combine specific HARDWARE AND SOFTWARE sets. If any single component
of such a system is changed, the C2 certificate is lost. So, if you
have a 3Com Boomerang card in your certified system and later decide
to change it to an Intel EPRO/100 you lose your C2. So, one cannot
say about a C2 certificate granted to an Operating System, but
rather to entire equipment with the specific OS in some specific
configuration of software and hardware.
- As somebody said, an administrator who doesn't spend huge amount of
time understanding his OS's bugs should be fired right away. It's
the job of the administrator to know, understand, and fix all the
bugs there are. Well, I guess that the author has given us a reason
why so many Windows NT servers are buggy - their administrators
aren't supposed to spend huge amounts of time trying to understand
the bugs. They are supposed to admire the beauty of the Windows NT
GUI, screen savers, the magnificent features of IE5
(sorry... couldn't resist :))).
The security repository for Linux and other OSes (Windows included)
is CERT (an official one) and some regional authorities the names of
which skipped my mind. A quasi-official repository is Bugtraq. All
together more helpful and informative than M$ Knowledge base (and
both CERT and Bugtraq are free). Fixes for NT appear months after
the bugs are found, it takes a day or two for Linux fixes to
appear.
- Configuring Linux requires detailed knowledge, true. But it pays off
when something not expected by the designers of software in question
happens. A knowledgeable admin can fix it using what he learnt
before. The Windows NT designers think they have envisioned each and
every possible failure and problem situation on Windows. Based on
that judgment they give a) not much documentation, b) not much
space to breath for the admin. Now, in case something "impossible"
happens, or some "undocumented feature" of NT pops up, the admin is
faced with the need to dig through piles of CDs with Knowledge bases
and then messing with the scary Windows NT registry. Anyone tried to
change default driver parameters in NT?
Myth: Linux can replace Windows on the desktop
-----------------------------------------------------------------------
Reality: Linux makes no sense at the Desktop
Well, I didn't count the apps freshmeat, linuxberg, sunsite, tsx-11 and
more Linux repositories, but I suppose there's well over 10000
applications available for Linux. And 80% of them being really useful
ones! To name Corel WP, StarOffice, Applixware, The GIMP, (X)Emacs,
xmms and thousands more.
- Hmm... I don't remember the address for the Linux Hardware List, but
the list says it all... The 39,000 systems Windows NT claims to
support are in 50% based on the same core components, just
manufactured by different vendors. This makes supporting them really
easy. Same happens on Linux. But why NT doesn't support HP InkJets
without SP3 applied? Shame, shame... :)))
Linux has support for Plug and Pray, USB and APM.
NT doesn't have support for PnP, USB and APM.
- Is qvwm is cumbersome? Or GNOME? Or KDE? I think they resemble
Windows to closely at times... Nevertheless they are functional,
well designed and reliable. Much faster than the Win32 GUI, much
easier to develop for, much better designed developer-wise.
- Hmm... Why not just give Debian, Slackware, Mandrake, Caldera,
Corel, RedHat a try? They provide a wealth of different applications
for all needs. One rarely has to develop ground-up applications
faced the lack of needed software in the Linux environment. The
figure that 93% of ISVs develop for NT doesn't prove
anything. AFAIR, NT started in 1985 - 14 years ago. For the 12 or 13
years it was the only real OS for the PC platform that counted in
the eyes of companies, institutions etc. That created monopoly and
if somebody wanted to stay in business, they had to develop for NT
or switch to the world of mainframes, Macintosh computers or
whatnot. The latter fields were too tightly occupied by giants and
NT (or Win32 in general) market were for the wide masses. No wonder
so many people wanting to earn money on programming went to develop
for Win32. NT gained major share of the market. But, by 1996/7,
Linux suddenly became an option for more and more serious
customers. More and more developers started to consider it The
Choice. Many of us remember the first years of Linux, the
enthusiasm, the joy of every new release... Suddenly that joy and
enthusiasm was shared by more and more people worldwide. And within
two years (compared to 12 on the NT side) Linux grabbed 13% of the
ISVs market. The numbers speak for themselves... We surely need more
of figures of that kind, but I'm sure they can easily be found out
there. It just takes a little effort to find people to testify for
Linux in a way that'd be approved by the People Upstairs. Press is
already, in many cases, on the Linux side. Even the traditionally
Windows-oriented magazines like CHIP publish Linux on their CDs
and publish special issues sacrificed to Linux. That also says
something...
Summary
-------
Well, their summary is just a cheap talk with nothing substantial in
it. What we can say? Look at the Internet. More - scan it with queso
to see how many servers run Linux :)).
T H E E N D
PGP signature