转载:Unix/Linux的几个秘密!

这是一篇讨论关于GNU/Linux和自由软件使用的文章,对一些被误解的关于自由软件的观点的作出评论。


Debunking common GNU/Linux myths


Written by Jem Matzan


Sunday, 18 December 2005
There is a lot of confusing information about the GNU/Linux operating
system, open source and free software, and related issues in the press
today. Many of these technologies and concepts are difficult to
understand because they deviate from the standard historical traditions
of the software industry. There are also a number of sponsored reports
and other corporate propaganda published around the Web that smear the
image of Linux and free software. In the interest of making a few basic
concepts clear, this article will bring light to the darkness
perpetuated by uninformed journalists, campaigning CEOs, and misleading
advertisements.
1. Is there SCO UNIX intellectual property in the Linux kernel?
To begin with, "intellectual property" is a purposefully ambiguous term
designed to help corporations claim ownership of ideas and
technologies. It's best not to use this term; instead, refer
specifically to patents, copyrights, and licensing issues. There is
not, and has never been any evidence to suggest that Linux includes any
proprietary source code from SCO's products or holdings. There is some
evidence to suggest that small amounts of standards-compliant and
BSD-licensed code may be common between the two operating systems. This
is not in violation of any law or license, as the code in question may
be freely used (and in some cases, must be used) in Unix-like
operating systems. If there is no SCO-owned code in the Linux kernel,
the SCO Group cannot hold anyone liable for copyright, patent, or
licensing infringement for using GNU/Linux in their home or business.
This may not stop attempted litigation, but there really is no way to
protect yourself from frivolous lawsuits anyway; anyone can use the US
legal system as a tool for extortion or as a weapon against an innocent
party.

2. If I switch to GNU/Linux, I can't use Microsoft Office anymore. Not true. Codeweavers makes a product called Crossover Office, which is designed to allow MS Office and other important Windows software to work on GNU/Linux. Its compatibility list
include hundreds of other programs from companies like Adobe, Intuit,
Macromedia and many others, and its capabilities expand with each new
release. As of this writing, CrossOver Office costs US $40.

Additionally there are other office suites designed specifically for GNU/Linux. OpenOffice.org
is an excellent suite with an advanced word processor, spreadsheet,
database frontend, vector drawing program, and presentation program. It
doesn't include a personal information manager or email client like MS
Outlook, but that functionality can be achieved through the
Outlook-like Novell Evolution.
You also won't be able to directly translate any Visual Basic macros
from Excel or Word over to OpenOffice. Sun Microsystems uses
OpenOffice.org to create their StarOffice
suite, which comes with some extra fonts; better conversion utilities
(including a macro converter); a better spell checker, dictionary and
thesaurus; and commercial support from Sun. Both StarOffice and
OpenOffice.org can convert nearly any Word, Excel, or PowerPoint file
without problem.

3. Does Windows really have a lower total cost of ownership (TCO) than GNU/Linux?
There are some indisputable facts about both operating systems that can
help you decide this matter for yourself. To begin with, GNU/Linux is
usually either free of charge or cheaper than Windows XP for desktop,
workstation, and server use. Some commercial distributions -- most
notably Red Hat Enterprise Linux -- can be more expensive than Windows
Server editions under certain circumstances. Microsoft requires that
Windows Server customers pay per-connection licensing, which means that
every computer or independent network device (a print server, for
instance) must have a license to connect to Windows Server. So if you
have 100 desktop machines connecting to your server, you will need 100
client access licenses (CALs). GNU/Linux distributions do not have such
requirements, so an unlimited number of machines can connect to a
GNU/Linux server. So the more client machines you have, the more
cost-effective GNU/Linux is. If you're only running a small office with
5 client machines, Windows Server could be cheaper in terms of up-front
licensing and support costs.

Where Windows can beat
GNU/Linux is in staffing costs. An experienced Unix or GNU/Linux
administrator can cost a company substantially more money than a
Microsoft Certified Support Engineer (MCSE). On the other hand, most
Unix or GNU/Linux sysadmins have far more experience and know-how than
the average MCSE. Essentially you're getting what you're paying for.
Again, smaller operations may find that Windows is cheaper on paper
because of administration costs.

All of the up-front
costs don't mean a thing when it comes to long-term maintenance costs.
That's where the Linux kernel and the GNU utilities and tools beat
Windows: they have gone through more extensive security auditing and
they have a far larger development team than Windows has. The Windows
security model allows for a wider range of post-installation failures
due to viruses, trojan horses, and spyware. It's harder to write and
propagate viruses for GNU/Linux than it is for Windows, and it is not
susceptible to the thousands of Windows-based viruses on the Internet.
In other words, GNU/Linux has a better security model and greater
reliability. One of Microsoft's claims about GNU/Linux (and sometimes
the Firefox Web browser) is that, from a certain frame of reference,
some GNU/Linux distributions have more security advisories than
Windows. However, if you closely inspect the nature of the advisories,
you will find that the majority of the most dangerous security
advisories are issued for Windows, not GNU/Linux. The information you
want to consider is not the number of advisories, exploits, patches, or
flaws; what you need to know is the severity of the security problems
and the time it takes the vendor to patch them. Also keep in mind that
GNU/Linux exists in software distributions, which include the
entire software stack from the operating system to the server or
desktop software. This entire stack is maintained by the software
vendor through an integrated update framework that the sysadmin can set
to push patches to all machines automatically. Windows Update only
handles updates for the operating system and the IIS Web server; it
does not handle updates for any other software on the machine, which
will remain unpatched until the sysadmin does it manually.

Where
GNU/Linux can fall behind is in software support. While you can use
some versions of MS Office as mentioned above, it won't support some
other types of Windows programs. If your business depends on
proprietary Windows-based software that was written specifically for
your company (or for a specific niche market), the vendor probably does
not offer a GNU/Linux edition and may outright refuse to port it to
other operating systems.

If your employees are used to
using Windows, it may take some training to get them accustomed to
GNU/Linux -- and that can introduce additional costs in some instances.
TCO is not something that one can make definitive statements about;
what works for one company may not work for another. In most cases
GNU/Linux will be substantially cheaper than Windows, especially in the
long run (due to Microsoft's licensing policies). Many businesses these
days are running GNU/Linux servers and Windows clients; in this
situation they can keep the client OS that their staff are accustomed
to while retaining the safety and security of a GNU/Linux server
environment.

4. Open-source programs have hundreds of different versions because there are so many people working on the project.
An open-source or Free Software project has a central repository for
the source code which only a very select few (or one person) have
access to. That person or team of people are the maintainers or
committers of the project and they decide which changes go into the
source code. Below them are hundreds or thousands of contributors who
examine the code and write patches or suggest changes. Their changes
are not made until accepted by the people in charge. So while there may
be thousands of people working on a project, its direction is
controlled by a governing authority. In some situations, contributors
will start a new project based on the original because they feel that
their changes should be included despite the reluctance of the project
authority to commit them. They take a copy of the source code, rename
the project and become their own separate entity. This is known as a
"fork," and its implications can be either good or bad depending on the
situation. There have been many successful forks that end up being
better than their parent project, and there have been countless forks
that end up getting no developer support and fall by the wayside. In
the end, only the useful projects will survive.

The
gist of it is, if a program splinters into derivative projects, those
derivatives are not part of the original project. So if 50 people
decide to fork the Firefox browser, there will not be 51 versions of
Firefox; there will be one version of Firefox and 50 other browsers
that are not Firefox, but will be based on the same code.

5. Open-source programs are less secure because hackers can see the code.
"Hacker," in the proper sense, refers generally to a programmer or
software developer, usually one who is very good at what he does. These
are generally good people who do good things; ill-intentioned hackers
are known as "black hat hackers" or "crackers."

The
issue of security in open-source programs is very important to the
developers working on it. Most of the popular and oft-used open-source
projects subject themselves to regular security audits where several
experienced programmers review the source code to ensure that there are
no security holes. If any are discovered by this audit or by a bug
report or other method, patches appear almost instantly to fix the
problem. Since users don't have to rely on a single vendor for patches,
the work is done much faster and more efficiently. Opening the source
code to universal peer review makes programs more secure, not less.
More eyes seeing the code means more flaws are caught before they
become a problem.

6. You get what you pay for, so free software must be bad. Do you always
get what you pay for? I'll sell you a writable CD disc for US $50,000.
If you buy it, would you get your money's worth? Some might say that
the disc, of no intrinsic monetary value, was overpriced -- and they'd
be correct. But what if I gave you the disc for free? Would it then be
worth less than when I was charging $50,000 for it? Would it be less
useful? The point is, value is not determined by price. What a vendor
charges and what use you derive from a product are not always
congruent. If all of the free, community GNU/Linux distributions were
over $100 each, they would be no more or less valuable than they are
now -- they'd just cost more. If you truly feel that you must pay a lot
of money for good software, the Free Software Foundation gladly accepts donations.

7.
Free software is Communism. Free software promotes a gift economy and
is anti-capitalist. Free software will kill the software industry and
hurt the economy.
First let's examine free software.
Basically it is software that you are allowed to use, sell, distribute
and modify in any way you see fit. Compare that with proprietary
software, which most often only allows you to use the software on a
limited basis -- no redistribution, sale, or modification of the
software is allowed. Actually it goes further than that; criminal and
civil penalties can be imposed on you for doing any of those things. It
would be more accurate to say that proprietary software is fascist
rather than suggest that free software is communist.

The
"free" in free software does not mean "free of charge;" it means "free
of restriction." That's free as in rights, not price. This is a point
often misunderstood or misrepresented by proprietary software CEOs and
others who have a proprietary software agenda to push.

That
being said, free software is often also free of charge. Some say that
this is bad, because it will harm sales of expensive proprietary
software. The uninformed will often equate this with communism because
it appears to be anti-capitalist. It is not anti-capitalist in the
least -- by all means, free software and open-source developers would
love to charge money for their work. Many already do, or at very least
solicit donations. The true "payment" in free software is not to large
proprietary corporations like Microsoft; the payment instead goes to
individual programmers or projects. This happens when a company wants
to add a feature or in some way modify a free software project for
their own use. To do so they must hire programmers to make the
modifications, and that can be exponentially cheaper than developing a
new program in-house or paying a proprietary vendor for a pre-made
program. Bugs and security problems are also fixed much more quickly
using this model. But best of all, a company has control over their own
software rather than depending on a software corporation for support,
bug fixes and security patches. So it's true that free software might
harm the proprietary software industry, but there is no evidence to
suggest that it will hurt the economy, since programmers will still be
employed to work on software.

A "gift economy" is one
in which status is given by how much one gives to their community (as
opposed to an "exchange economy" where status is given to those who
have the most stuff). There are already many microcosms which subscribe
to this social system, the scientific community being the most famous.
Scientists receive status from their peers by contributing the greatest
ideas and inventions. Would it be a bad thing for the software industry
-- which is just as intellectual a pursuit as science -- to change to
this social system? There is no reason to believe that anything bad
would happen as a result. Just like scientists fuel all of the most
important medical and manufacturing industries, software developers
fuel the service and support industries.

Capitalism was
founded on the premise that economic gain would encourage people to be
more productive; the key here is encouraging people to be more
productive, not the means by which it is achieved. Free software
projects do give status to those whose contributions are most useful,
and this encourages better software development. It does not mean that
the entire US economy should -- or could -- switch to this philosophy.

Lastly,
let's take a look at what communism really means. It's a form of
socialism that abolishes private ownership and applies a "sameness" to
everyone involved in the system, eliminating social classes and
personal distinction. It removes uniqueness and originality from the
individual, under the guise of supporting the larger community. It has
proven to be totally ineffective on all scales but the smallest; the
best propaganda against communism is the fact that it has yet to elicit
an effective government and a satisfied populace.

Free
software does not promote the abolition of private ownership; rather it
recognizes that software is a tool that we all can and must use, so
therefore we all should be able to use it according to our needs. Free
software says that software should not belong to one of us, thereby
preventing a social hierarchy where the owners have control over the
users. Free Software allows contributors to be recognized for their
contributions. Free Software gives us the freedom to make a program
unique to our situation, and to sell it or give it away to others if we
so choose; Free Software doesn't give us all ownership of the software
but it does allow us the same freedoms that owners have without
allowing us to lord it over others. With Free Software, we all have the
same right to our software tools that everyone else does. Proprietary
software, on the other hand, uses brute force to remove that freedom
and individuality from us -- it allows the owners to "own" us.

What free software does not
do is dispute the authority of copyright. Anyone who puts their
software under a free software license will always retain the copyright
to their work. Many free software developers do, however, choose to
assign their copyrights over to the Free Software Foundation so that it
can be more easily protected, legally.

8. No one ever got fired for recommending Microsoft.
This implies that someone, somewhere, has been fired for recommending
something that is not "Microsoft." I would like to see evidence to that
effect. I'd also like to see proof that no one has been fired for
recommending a Microsoft solution. I can think of several instances in
which someone could be fired for recommending Microsoft. For example:
recommending Windows 95 for a public Web server.

9. GNU/Linux is hard to use; Windows is easy to use.
This depends on your ability to analyze and solve problems. Commercial
GNU/Linux distributions like SuSE, Xandros and Linspire rarely have
significant problems. When they do, you have commercial support options
available to you. Windows has attempted for years to do everything
automatically for the user; while in many cases this works properly,
when it doesn't, it's pure hell to try to work around the problem.
Commercial GNU/Linux distributions are more or less in the same
category, except that you don't have to go chasing down hardware
drivers from Windows Update or from the manufacturer's Web site. If the
hardware is supported, the driver will load upon detection of the new
equipment. In effect this makes commercial GNU/Linux distros easier to
use because you don't have to mess with drivers. Non-commercial distros
often require you to configure things yourself. When you work on config
files, they are well-commented and include a manual page that tells you
the details you need to know. If you need help, there are a plethora of
excellent message forums and mailing lists which more than likely
already contain the answer to your problem. If not, experts are
generally quite willing to help you solve your problem as long as
you've already looked through the documentation.

In
terms of usability, the K Desktop Environment (KDE) and the GNU Network
Object Model Environment (GNOME) are just as easy or easier to use than
the Windows XP interface. KDE is in fact a great deal like the Windows
environment in terms of how programs are executed and how they are
listed in the menus, and GNOME is much like Apple OS X. Other window
managers and desktop environments exist which can be customized to your
needs if you require something more unique. GNU/Linux can become what
you want it to be, with experience and patience. Where Windows users
often find that their only solution to a problem is to erase Windows
and reinstall it from scratch, GNU/Linux users almost never have to
resort to this method to fix a problem. When it's working the way you
want it to work, a GNU/Linux-based machine will tend to stay that way
until a hardware failure.

Summary


GNU/Linux is a lot of things, and by the same token it isn't
a lot of things. The best way you can determine its worth to you is by
researching which distribution will be best for what you want to do,
and to give it an honest and patient evaluation. Fear generates myth,
and in the case of GNU/Linux there is a lot of fear from several
fronts: from proprietary software manufacturers, from Windows-dependent
businesses and consulting firms, and from users who don't understand
what free software is about. Don't be afraid -- try it for yourself.

Copyright 2005 Jem Matzan.

Comments

Popular posts from this blog

Freeware Software Top 300 from winAddons.Com!

What is DevOPS?

RPM Build Tips!