old-www/LDP/LG/issue37/pennington.html

224 lines
11 KiB
HTML

<!--startcut ==========================================================-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<title>The Linux Philosophy: Part I</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF"
VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut ============================================================-->
<H4>
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--============================================================= ======-->
<center>
<H1><font color="maroon">Free Philosophy: Part I</font></H1>
<H2>The Beauty of Doubt</H2>
<H4>By <a href="mailto:jwp@awod.com">J. W. Pennington</a></H4>
</center>
<P> <HR> <P>
Nearly every article that I have read in The Linux Gazette has
been technical and/or practical, so let me apologize if this
seems a bit "off topic." I am primarily an anthropologist, and as
such have always been a bit more inclined to write about things
more generally. Instead of the technical and practical, I want to
wax philosophic for a bit on the subject of free software
in general, and the Linux kernel in particular by "porting" a bit
of my philosophy of life to the computer. I have tried to write
these articles for both the newcomers to the Free Software
Community (FSC) as well as for those who have been around a lot
longer
than I. I will not waste time on the definition of free software
except to say that it is <I>free</I> as in <I>freedom</I>. For a
definition, I would have the reader visit the <A
HREF="http://www.gnu.org">GNU/Free Software Foundation</A>
website. The few facts that I intend to present will only be news
to those unfamiliar with free software, while the philosophy- at
least as seen from my vantage- will probably be new to all. My
idea is to present what for the lack of a better term I call The
Four Cornerstones to the Foundation of Free Software. These are
the four main things that I consider vital to the Free Software
Movement (FSM) in general, and to the Linux kernel in particular.
They are, in no particular order: <B>Doubt, cooperation,
non-control</B> (read: Freedom), and <B>rebellion</B>. I have
chosen to break these up into a series, because it would be a bit
long as one article. In each case, I will give an explanation of
what I mean by the idea and an example of how it pertains to the
FSM. I also offer the opportunity for discussion/argumentation if
anyone cares to explore "Free Philosophy" further. To those few I
invite the use of my email address at the beginning of these
articles.
<P>
The first cornerstone that I will discuss is that of <I>
doubt.</I> It is a very powerful and useful word, unfortunately,
doubt has gotten a bad rap for no-good reason. When one thinks of
doubt, they are almost certainly consumed with thoughts of lies,
fear, and uncertainty. It is a dark word, and one that we rarely
use in association with someone or something that we love. This
is wrong. I believe that doubt, often pure, serious doubt, is
absolutely necessary for any true love and exploration of a
subject. I also think that if it were not for doubt- and the
admission of self-doubt- we wouldn't have free software.
<P>
The FSC has a large share of doubt, and this has been one of its
main strengths. We doubt that software will work properly, we
doubt that it will work at all. We doubt that the code was
written efficiently, we doubt that it couldn't be better. Most
importantly we doubt that we, ourselves, have written it the best
way it could have been written. This doubt, about our product and
about ourselves, is the main strength of all free software. Do
not misunderstand me on this point. I am in no way suggesting
that we are "suspicious" of every program that we use, or that we
build binaries expecting them to fail. What I <I>am</I>
suggesting is that we do not consider the program "complete," in
the sense that the code is unable to be improved or changed.
<P>
I'll give you two scenarios to illustrate my point:
<P>
<B>Scenario one:</B> I'm a guy who has been programming since I
was twelve. I <I>know</I> that I'm a damn good (if a bit
arrogant) coder. One day I finish a <I>big</I> program that is my
masterpiece. I cried when I compiled this baby. Hell, I almost
got divorced because of it! I have no doubt in my mind that this
program is perfect! I would immediately punch anybody who said
otherwise. So I market it. I box the binary and I ship it,
knowing that I'm going to be the next Bill Gates. Soon, I find
out that I <I>am</I> the next Bill Gates, after a fashion. My
program locks computers from here to New Jersey. Not all of them,
mind you, but enough to hurt sales and make people wonder. The
bad thing is that I can't figure out why. <I>Certain</I> people
didn't like it in the first place because it's <I>big.</I> Now,
nobody want's it because it's big <I>and</I> buggy. Even though I
tested the hell out of that program.
<P>
What I don't know is that some geek in Indiana has figured it
out. He has two computers, and the program only crashes on one.
It's the Pentium II with the BX chipset on the motherboard. It
also crashes his friends LX chipset computer. I have a Pentium
Pro, but everyone wants a Pentium II these days, and they all
want that extra speed on the board. Suddenly people start
realizing that my product (and probably my programming) isn't
worth its salt. My masterpiece has failed.
<P>
<B>Scenario two:</B> Same guy, same program, same long fight with
his wife. Is very sure that his program is perfect, but has just
enough doubt (read: wisdom) to know that there is always somebody
better. He has just enough doubt to realize that a program can be
written in so many ways that his chances of using the best one in
this situation are not 100% and his chances of using the only
good one for <I>every</I> situation are pretty near 0%. So he
offers his product as free software. He gives everyone the right
to use it and modify it, hoping that no-one <I>needs</I> too, but
knowing that many will do so anyway. Unfortunately, the program
creates a nightmare for him by crashing every computer from here
to New Jersey. In this scenario, however, there's a geek in
Indiana who figures out the problem <I>and</I> writes a patch.
Within weeks the patch has fixed the problem, and within months
his program is ported to Alphas and Macs, something that he
didn't even consider. His program is a success because he
realized that he wasn't the one and only "God of programming." He
had just enough doubt to temper his delusions of perfection.
<P>
Granted, this is a very simplistic situation, but it does
highlight my main point. A lack of doubt, in every situation in
life, leads to problems. Admission of doubt allows the
possibility of another option, it is an opening, of sorts, to
different ideas. To have absolutely <I>no</I> doubt is to become
fanatical, and when one becomes fanatical, all options- all
doors- close. All possibilities for change, or consideration of
other methods are destroyed. Ironically, the fanatic's love for a
subject eventually becomes its downfall. In the long term, and
more radical situations, the very subject of the fanaticism is
itself destroyed, because all thought that improvement or change
could even be <I>necessary</I> are anathema to the fanatic's
beliefs. Eventually, the subject of the fanaticism becomes
something wholly different, and often counter, to its original
purpose.
<P>
It's easy to see this closing of doors, options, and thought by
looking at the worlds of politics and religion. It is also easy
to see by looking at the world of proprietary software. Corel
recently released its version of WordPerfect 8 for Linux, and has
since been touting that the Linux community has a "desire for
proprietary software," both on it's website and in the press. The
company is so sure that its product is perfect, that it is just
what the Linux community wants, that it was patting itself on the
back just days after the program's release. I can only assume,
knowing what I know about people and bureaucracy, that it laughs
at any notion that the majority of the Linux community could
possibly be silly enough to consider its program <I>big and
buggy, </I> despite all the evidence to the contrary. The fact
that, in the Linux community, "proprietary" is often a derogatory
word, has never crossed their minds. My prediction is that they
will continue to measure their "success" by the number of
downloads, and not by the number of people who continue to use it
on a regular basis. I suspect that many (myself included)
downloaded it and almost immediately discontinued its use. The
likelihood of a decrease in users is increasing because of good
free software word processing programs and the continued growth
in the appreciation of existing ones such as Emacs.
<P>
The FSC keeps doors open by holding on to that most important
resource: Doubt. We are never happy or completely certain that
something is "perfect," or that no-one else is able to improve on
something. If it works, it is used and respected, but if someone,
anyone, thinks that they could improve it- that's admired. We are
also protected from the follies of proprietary software in
another way. In the world of free software, KISS is the name of
the game. The idea is often to Keep It Small and Simple (or my
preferred version, Keep It Simple, Stupid). Here, the doubt is
that a program that is a behemoth, with a lot of unnecessary
fluff, is better than a small one which performs the same
function, often more reliably. This is inherent protection from
the delusions of grandeur that taint so many proprietary
programs. Free software tends to keep its feet on the ground,
instead of becoming the bloated dreams of a few hungry
individuals.
<P>
Netscape recently learned of some of the benefits of the Free
Software Movement when it released its code. Apparently, within
days (perhaps hours) there was a group of Australian hackers who
improved the code, increasing its security. This event was not
only good for Netscape users, who have benefited from the
increased security, but to Netscape as well. The company now has
a better product to offer the consumers. The free software method
offers a no-lose situation, and it guarantees success. The reason
for this is the next cornerstone that I will be discussing:
Cooperation. I will return next month to expound on that idea
from the vantage point of my favorite linux soapbox.
<!--===================================================================-->
<P> <hr> <P>
<center><H5>Copyright &copy; 1999, J. W. Pennington <BR>
Published in Issue 37 of <i>Linux Gazette</i>, February 1999</H5></center>
<!--===================================================================-->
<P> <hr> <P>
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
ALT="[ TABLE OF CONTENTS ]"></A>
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
ALT="[ FRONT PAGE ]"></A>
<A HREF="./martinez.html"><IMG SRC="../gx/back2.gif"
ALT=" Back "></A>
<A HREF="./gm.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
<P> <hr> <P>
<!--startcut ==========================================================-->
</BODY>
</HTML>
<!--endcut ============================================================-->