The Flaws
The flaws in Professor Meyer's essay include:
- Failing to address the mainstream or views of the moderate,
majority members of the Open Software movement. Explicitly
painting free software backers as disciples of RMS is inaccurate at
best. Free software existed long before Richard Stallman tried to
define it.
- Attacking the movement (where RMS == the movement) for slander,
then engaging in a long diatribe of personal jabs against
RMS and Eric S. Raymond to support Meyer's own assertions about
unrelated points. "Guilt by association" is not a valid debate
tactic, as Meyer himself explains eloquently and in great detail.
"It is unfair, of course," writes Meyer, "to judge an idea from the
character of its proponents." Why then does Meyer proceed to do
not only exactly that, but also choosing the most extreme possible
proponents, attacking them on totally unrelated points such as gun
control?
- Misrepresenting the positions of these proponents, through confused
logic, in order to heighten the perceived extremism. Whether
Open/Free programmers profess to be disciples of RMS or not, RMS is
not quite the nut-cluster cannon Meyer makes him out to be.
- Falling into the greatest pitfall of the Single Topic Essay: total
lack of a Big Picture. The essay includes cognizant observations,
but only those observations that lend weight to the argument to be
made. There is lack of balance and context, resulting in an
article that smacks of the same dogmatic extremism and
misrepresentation it decries.
I will explore all these points (in no particular or separate order)
as well as build a possible ethical grounding for Open/Free software.
My Rose Colored Glasses
I'm a Free/Open software developer (in the senses of both speech and
beer). I'm a Linux user and programmer who got his UNIX start on BSD
and who develops for everything he can. I'm a moderate and an OS
agnostic; I don't personally like Windows in any of its incarnations
but I don't refer to or think of Microsoft as a Great Satan (they have
done some pretty evil things, yes, but that's actually irrelevant
right now). I use Linux because the system suits me, not because of
inherent moral superiority, although, as I'll argue later, there *is*
practical, ethical superiority to the open system.
I'm a fairly typical Portrait of J. Random Hacker. The appendix of the
same title at the end of the Jargon File could easily have been about
me specifically with only a few changes.
Although I wrote Free software unrelated to my day job and gave it
away for quite a number of years, Free software is now my day job and
I have no philosophical problem with being paid well to do what I
love. My corporate sponsor, iCast, has 'gotten it' about continuing
to let me give my code away.
Now you know my bias.
Axiomatic Basis: A Warning of Things To Come
Meyers begins his discussions of ethics by describing a list of axioms
that are not 'proven', but presented as self-evident. This is not
particularly alarming as ethical bases tend to be axiomatic in nature.
However, Meyer's assumptions of indesputible fact get into trouble
quickly:
"ethics includes a universal component. ...many principles are
culture-independent. Killing an innocent person, for example, is not
morally acceptable, regardless of your culture."
This statement is certainly true of modern history in
the West; the concepts from Hobbes's _Leviathan_ have certainly taken
deep hold in our psyches. However, there certainly was a time in
western culture when it morally acceptable for a feudal overlord to
treat his serfs in any way he wished; their lives existed at his whim
(although his whims were not without bounds).
This point would be totally irrelevant to the software discussion at
hand except that it provides a meta-warning in the debate: Thou shalt
not fudge the facts to make a point. Strongly disagreeing with the
opposing view is not justification for twisting the facts, twisting
the conclusions, or basing arguments on personal attacks (as we shall
explore later).
The Common Ground
This may seems to be surprising, but I agree with many of Meyer's own
observations about open source even if the conclusions go astray.
This essay is not titled _Us Against Them_, so let's spend a little
time looking at a few things Meyer gets right in addition to where
things go
wrong. Several observations should be self evident to any member
of the open source community who isn't trying to fool him or herself.
Open Source Has Bugs Too-- Often Just As Many or
More
"Like commercial software, free software is --- surprise --- of very
variable quality. You find the best and the
worst. ISE's own experience with free software
has included both kinds. Recently, we have had
more than our share of the second."
You can ignore the truth if you wish, but you know that Professor
Meyer is right. Sexy projects, especially those spearhead ed by
architects who have a natural, if unrealized, knack for management and
a large recruit base tend to be very polished. However, the norm is
for projects to have only a few steady contributors and fairly high
'casual contributer' turnover.
I must digress and explain here that I roll my eyes at calling this
the 'Open Source Movement'. Computer science and engineering has its
roots in academic, not corporate, culture. Collaboration and free
sharing of information and source has been the norm and not the
exception for nearly the entire history of computer science and
engineering. Commercialization of software in general and the
Internet as a whole actually *is* a recent phenomenon. Al Gore and
Microsoft did not invent the Internet; it very nearly left both of
them behind. It may yet.
One day, in 1993 or so, I found to my horror that Geeks Are Now Cool
and everybody wants to be a programmer on the Internet, or so the new
.com advertisements (some of the most mind-smashingly annoying ad
dreck to ever hit the airwaves), would have you believe. 1993 became
the September That Never Ended, courtesy of the Mosaic web browser.
Linux particularly gave the influx of new code-proficient minds a
welcome and a focus. Those of us who'd always been giving away our
code along with the energetic, motivated newcomers, were shaped by the
media into some sort of 'movement'.
Programming competently requires intelligence; few dispute that.
However, somewhat fewer people realize that experience is even more
indispensable. Many very bright people (myself included) started
their programming lives as *horribly bad* programmers, intellect be
damned. Someone may be a 'fast learner', but learning still takes
time. At the present, the programming communities, open and
proprietary, are absorbing unprecedented numbers of relative
beginners.
This strains the programmer culture (in good and bad ways) and
momentarily strains open development efforts in primarily bad ways.
We, the open source folks, tend to attract the highly motivated
beginners (as well as an unfortunate number of loud trend-followers
who want to be where the 'cool' is), the ones that tend to be very
self-assured of their abilities and are often offended by the
suggestion that they're not up to the task of kernel hacking quite
yet. Others know their limits, but overstepping one's programming
capabilities is often a good way to learn. It's a mixed blessing;
most of these folks will 'learn quickly' and learn by doing. In five
to ten years, they'll be well on the road to writing world-class code,
and one doesn't learn to code without writing lots of it. I'd been
coding (beginning with assembly on a 6502) for more than ten years
when I hit the Internet and MIT. I found out quickly that learning
alone, I hadn't learned very much.
It's certain that the short term practical effect of the massive
influx of new programmers will be to compromise the stability of
codebases worldwide for years to come.
The long term practical result will be the largest body of
highly-skilled programmers in the world, schooled in the ethics and
practices of open source, taught freely by the masters and drawing the
experience (in code form) of the best who ever lived. These coders
won't write only Free [beer/speech] software of course... but compare
them to the programmers who never knew any guidance except a beginning
book on C, three classes as an undergrad, and some pointers from
'Carl' in the neighboring cubicle who knows a little C++. Which, now,
is the danger to code stability?
"...we have had
to cancel one major project, and reengineer a
product completely, after wasting many
person-months and disappointing customers,
because of the deficiencies of two separate
GNU products (the GCC compiler for Windows and
the editor under GTK). In both cases the
scenario was the same: fixes to well-known
bugs being promised and promised again;
everyone waiting for months and months, until
it becomes clear that nothing will happen; in
the end, having to write off all the affected
developments. Since no one is in charge, and
you didn't pay for the products, there is no
one to blame."
Not so long ago, although I was no longer a novice, I still complained
to one of my Masters about a bug in a piece of software I used every
day. The correction was relatively simple, I was certain, and I could
not explain why no one had yet fixed the code.
"Master," I complained, "the programmer who wrote this code is lazy!
The bug is simple to correct and yet he's done nothing about it."
My Master raised his eyebrows and asked, "why, then, have you not
fixed it yourself?"
I was then enlightened.
I'm oversimplifying Meyer's situation, of course; the above koan was
not intended to be condescending. My point is that he missed the
greatest point of open source; The source is there to give *him* the
power to correct the problems if he so desired. He may choose not to
(or more relevantly may not have the resources to, of course), but the
same is true of the author. Meyer is not the programmer's only
'customer'. Had Professor Meyer paid for the software and "had someone
to blame", would that have made practical, ethical or moral difference
to you when the bug still did not get fixed?
In summary, Meyer's observation is relevant, but his
conclusion/implication misses the point. Open source is not a magic
bullet to software development *or* a free lunch for the user. It
gives others more power (and responsibility) with respect to their own
fates.
The Strongest Word Is Still The Word 'Free'
Meyers defines 'Free' software as software that:
- Is available from at least one source
without payment (which does not preclude
other sources from offering it for
payment, for example to people who want
a distribution on CD rather than
downloaded, or require commercial
support).
- Can be used for commercial as
well as not-for-profit development, even
by people who have not paid for
it. (There may be some restrictions on
commercial uses, for example the
requirement that additions to the free
software be free too.)
- Can be obtained
in source code form.
Holy wars aside, I consider this definition to be excellent and will
assume it throughout this rebuttal as well.
Meyers then goes on to argue that 'Free' software still costs money,
and thus cannot be 'Free'; here, we recognize that he is suddenly
referring to free as in 'beer' and not as in 'speech'. After a lucid
definition of 'Free Speech' software, he has thoroughly confused the
two concepts in his own later reasoning.
Writing Free software requires resources; no one denies that.
However, that cost has nothing to do with the definition of 'Free' as
given in Meyer's own words. To allow that 'Free' is a misnomer
because of economic costs unrelated to the definition of 'Free', is a
fallacy.
This fallacy and inexplicable confusion is the major basis for
indictment of RMS (be careful of the nested quotation here; the outer
quotation belongs to Meyer as does all other unmarked block quotes in
this rebuttal. The inner quotations are of RMS):
"The best-known figure of free software, Richard Stallman from GNU and
the Free Software Foundation (FSF), professes an absolute refusal of
any notion of commercial software. Software should be free, period. A
few samples from the GNU and FSF web pages include:
"Signing a typical software license
agreement means betraying your neighbor:
'I promise to deprive my neighbor of
this program so that I can have a copy
for myself.'"
(http://www.gnu.org/philosophy/shouldbefree.html.)"
RMS is basically correct. Software makers claim broad rights in
'shrinkwrap' licenses that have no grounding in law (the DMCA changes
this somewhat). In the case of development non-disclosure agreements,
his statement is entirely accurate. Signing such an agreement
typically 'taints' the developer, restricting him from working on any
projects in related technology and divulging any knowledge gained
under NDA.
More relevant to the current point, though, this says nothing to
support Meyer's assertion that RMS wants to rid the world of
commercial software. This only supports RMS's commitment to Free (as
in speech) software, a concept orthogonal to money.
RMS [quoted by Meyer]:
"When a program has an owner, the users
lose freedom to control part of their
own lives."
(http://www.gnu.org/philosophy/why-free.html.)
Again, there's nothing unreasonable about this statement if you
realize that RMS is talking about control, not cost. When the
Internet becomes an indispensable part of our daily lives (if it has
not already), and one's daily life depends on software entirely
written and controlled by others (whom one has no choice but to
trust), you *have* given up some freedom of control of your own life.
If 'ILOVEYOU' hasn't driven home the consequences of placing total
online trust in others, I don't know what will...
Popular Information and Control
Today, the common wisdom holds that programming is an arcane,
nigh-impossible activity that only an elite few could ever wield, let
alone master. Not many perceive access to the source code of the
programs that control their lives to be particularly essential.
All of the West (and the Catholic Church in particular) felt the same
way about reading, writing and books in general a few hundred years
ago. The common peasant did not need reading or writing in their
daily lives, books were dangerous (Lord knows what heresy the people
might read, tsk tsk) and generally keeping this informational tool
just out of reach of the populous was probably a good thing (and the
populous was not generally clamouring for the right to learn either).
Can you imagine being unable to read (or write) today? Did human
beings get so much smarter in the meantime that reading and writing
can be trivially mastered by anybody today? No, probably not
(although more people now have the time available, years of it, early
in life to master the task).
Not too many people today can code. However, if the Internet is as
fundamental a change in our society today as the Industrial Revolution
was more than a century earlier, practically everyone will eventually
have to learn. Not everyone will become a software architect in the
future, of course, just as a very small number of people write novels
today (and fewer write _good_ novels). However, nearly everyone
writes letters to loved ones, jots down the occasional grocery list,
letters to the editor or local politicians... and so it will be with
programming. Now we begin to see why source code is a form of popular
power and freedom in the very real world.
Again, this has nothing to do with the monetary cost of software, and
RMS said nothing to suggest it did.
RMS [quoted by Meyer]:
"The system of copyright gives software
programs 'owners', most of whom aim to
withhold software's potential benefit
from the rest of the public. They would
like to be the only ones who can copy
and modify the software that we use."
(Same URL.) "I think that to try to own
knowledge, to try to control whether
people are allowed to use it, or to try
to stop other people from sharing it, is
sabotage. It is an activity that
benefits the person that does it at the
cost of impoverishing all of
society. One person gains one dollar by
destroying two dollars' worth of
wealth. I think a person with a
conscience wouldn't do that sort of
thing except perhaps if he would
otherwise die." (BYTE interview,
http://www.gnu.org/gnu/byte-interview.html.)
Again, the only part of this quote that even hints that RMS is talking
about paying money for software is that he utters the word 'dollar'.
The quote is about control and the power derived from that control.
I cannot address Meyer's conclusions that follow built on his
erroneous assumptions; the tower of cards has collapsed at the base.
RMS [quoted by Meyer]:
"All four practices [of the Software Publishers
Association, to prevent theft of software] resemble those used in the
former Soviet Union, where every copying machine had a guard to
prevent forbidden copying, and where individuals had to copy
information secretly and pass it from hand to hand as "samizdat"."
Meyer's response:
There is a comic side to
such pronouncements; hearing the epitomes of capitalism --Microsoft
and the like--accused of sovietism by a group that advocates
collective property of all software seems bit far-fetched.
RMS is clearly comparing the parallel abuses of the system, not
comparing Microsoft to Communism, and I doubt the irony is anything
but intentional.
The only clear point in this portion of the essay is to rewrite RMS's
clear intent. In Meyer's words:
"In fact, one of the catchy GNU links is entitled "Is
Microsoft really the great Satan?". The page to which it leads
(http://www.gnu.org/philosophy/microsoft.html) gives the answer. In
short, yes indeed, but don't just pick on Microsoft; anyone else who
"denies users their rightful freedom" (i.e. sells software)
is just as satanic."
The emphasis above is mine. Equating 'denies users their rightful
freedom' with 'sells software' is Meyer's own conclusion presented as
fact, not RMS's words. I urge those who skipped over that page
(http://www.gnu.org/philosophy/microsoft.html), to go read it for
yourself. Meyer misrepresents it rather badly.
Keep Eric S. Raymond Away From My [hypothetical]
Daughter!
My defense of RMS above shouldn't imply that we're best buddies; email
correspondence gingerly avoids outright flamewars and he doesn't
exactly have an open invitation to my dinner parties. RMS is now a
public figure, and he is an icon of Free software, a role he
wishes to fill. He should be taken to task for his behavioral
outbursts. Let's leave it at that.
But if I thought Meyer was being a bit... harsh... with RMS, I was
totally unprepared for the one-- and only-- comment having to do with
ESR. A big juicy block quote about... guns. Apparently ESR doesn't
have much to say about software these days.
"Such balderdash would be easy to dismiss if it were not
highly visible from the author's Open Source pages (I came across it
when looking for Mr. Raymond's touted essay "The Cathedral and the
Bazaar") and didn't have any ethical implications."
I disagree. It's still easy to dismiss as it's utterly irrelevant.
It certainly has ethical undertones, but not undertones having
anything whatsoever to do with software. I'll repeat Meyer, from
earlier, again:
"It is unfair, of course, to judge an idea from the
character of its proponents."
How far into his essay did Meyer so thoroughly stop believing that?
The implications Meyer makes in the essay are clear: ESR is a 'gun
nut' (self described). Being a gun nut is anti-ethical. Because ESR
is an anti-ethical gun nut, this casts doubt on the ethical basis of
free software.
Meyer goes on to say:
"This text will be hard to understand for people who don't live in the
US."
That's true. Meaning is difficult to extract without context, but
stripping original context to provide a context more strongly
supporting your position, with no thought of giving the opposing view
an inch of equal time, is hardly the moral high ground (especially in
an essay on ethics).
My own feelings on the subject happen to be that this is one of the
places where the Founding Fathers just didn't see adequately into the
future of technology (the handgun), and so provided us with the means
of amending the constitution. ESR likely disagrees with me on this
point. That alone does not make him immoral. That certainly affects
the ethics (or lack thereof) of free software not an iota.
"...the
gun nuts respond with the old saw: "Guns don't
kill people, people do". (Sure. Sure.
Try murdering fifteen of your co-students and
five of your teachers in a few minutes
with a kitchen knife.)"
(An epilogue to this point: Actually, before the widespread
availability of handguns, most murderous rampages in the US used
machetes, bladed weapons or high explosives like dynamite; yes, people
actually *blew up* schools, rather than just shooting them up. Learn
your US history, and you'll also see that this sort of thing has been
going on a lot longer than the past few years; in fact, the US is in
the midst of a long *decline* in civil violence, it just seems the
opposite because of the rise and acceptance into the mainstream of
shock-reality journalism.
These tragic, murderous rampages run much deeper in the American
psyche than just the surface issue of guns, although availability of
handguns certainly exacerbates the issue greatly.)
Where's Linus?
"The movement in favor of free and open-source software
has recently reached a highly visible status, not only in the computer
profession but in the popular media, with mass-circulation magazines
as widely available as Time and Newsweek giving prominent coverage to
such heroes of the movement as Richard Stallman, Eric Raymond and
Linus Torvalds."
...but we never hear a quote from Linus, who is much more "the living
icon of the free software movement, widely
admired, imitated and idolized (almost like a
sect leader) by his followers".
I guess aside from being a nice guy, he's just too moderate to be
quoted (a problem with many essays; leaving out whatever doesn't prove
your point. So, we don't hear a single quote from Linus Torvalds, the
Most Popular Programmer On Planet Earth, He who's stature makes RMS
positively green).
"Power to The People! ---And Stop That Sniggering!"
We've already touched briefly on a basis for the ethical grounding of
free software earlier. RMS doesn't attempt subtlety, diplomacy (or
occasionally even practicality) in his assertions about Free software,
but we basically agree.
Having the source is about people, the everyman and everywoman,
keeping a stake in the software technology that's fusing with, running
and controlling their everyday lives. It's not about exercising
power, it's about the freedom and ability to exercise that power when
needed. Do you think (to pick a popular example) Microsoft has your
best interests at heart unless there's a buck to be made?
This is not a proclamation about the relative moral practices of
Microsoft, per se (although I believe them to be generally below
average), but a statement of common sense. A corporation is about
making money. Most corporations do so solidly within the law (as
breaking the law often incurs expenses that impact profits), although
our example Microsoft has been shown by the Department of Justice to
have colored outside the legal lines on numerous occasions.
This does not mean that corporations are immoral; my point is that
they are naturally *amoral* (which does not imply anti-ethical)
inasmuch as making money is what they're about and making money is not
generally looked upon as a moral quest. Corporations can behave
highly morally and there are not rare examples of this. However, it is
not generally in the interests of a corporation to behave morally for
no reason although it may not be *against* a corporation's interests
either. Let's assume that moral behavior takes more than trivial
effort and that corporations tend to be apathetic about unnecessary
work. I don't believe this assumption unreasonable.
We have also seem, without shadow of a doubt, the anti-ethical
practices the large software corporations that control our information
infrastructure will sink to in order to defend their 'right to
innovate'. Microsoft is a relevant example here, although I don't
doubt for a second that many of their vanquished [and not so
vanquished] rivals would have behaved similarly in the same situation.
Making money from selling software is not immoral. Corporate use of
the infrastructure they control to destroy any competition they face
(the users be damned) should be scaring the Hell out of all of us.
When Windows is the only viable consumer OS out there (and it very
nearly was; Apple had quite a close scrape) and decides to salt the
scorched earth of their rivals to the detriment of the captive
consumers, who do you turn to? The same question applies to small
companies as well as individuals.
You turn to Linux or Free/Net/OpenBSD of course (or a number of
other free OSes). We'll welcome you with open arms, and give you the
tools you need to take back control of the Internet you depend on.
That we generally do it on the cheap is just an added bonus, not
central to the idea.
Repeating myself
In order to illustrate my point about the human tendency to avoid
unnecessary work, I'll finish by slightly paraphrasing a relevant
section of another essay I wrote approximately a year ago. Last I
checked, plagarizing from one's own work was ethically OK (If somewhat
tacky):
"Why do I need Open source? I'm not a hacker."
Closed source software is not evil, nor is it necessarily inferior in
quality to open source. What is certain, however, is that closed
source and closed protocols do not serve the public interest;
they exist by definition to serve the bottom line of a
corporation. The foundations of the Internet today are built of
a long, hardy history of open development, free exchange of
ideas and unprecedented levels of intellectual
cooperation. These foundations continue to weather the storm
caused by the corporate world's rush to cash in.
It is not a coincidence that Microsoft was blind to the
phenomenon of the Internet for so long. The burgeoning Internet
was against their very way of thinking; a Microsoft Internet
(tm) would have been profit-directed, designed by the same
people who considered 'on-demand TV' the great innovation of the
future. Microsoft Internet, if profitable, would have been
followed by the release of IBM's marginally compatible
OS/Internet, Borland's TurboInternet, ad absurdum. The Net, as
designed by warring corporate entities, would be a battleground
of incompatible and expensive 'standards' had it actually
survived at all.
The Internet exists today and continues to move forward despite,
not because of, corporate self-interest; critical mass passed
the point of no return long before Microsoft and Netscape tried
to salt the earth of their rivals. The great advances in
computer engineering and science came from research labs and
universities, freely shared with the rest of the world. Meyer is
right to call this research "taxpayer-funded"; it is, however,
possibly the most spectacular return on investment in the
history of civilization. You would not be reading this at your
PC, workstation or iMac today if Amazon.com held a patent on
TCP/IP (Just to maintain a competitive edge over its
competitors, of course).
The point is not that companies that try to make money on the
new popularity of the net are in some way inherently immoral or
greedy. Rather, the point is that companies must not be allowed
to use the infrastructure we all depend upon as a weapon against
their rivals to the detriment of all others. The Internet is a
common resource and as with other cooperatively shared
resources, the "Tragedy of the Commons" looms large. Competitive
behavior dictates that eventually a company will act on their
own interests, even to the detriment of all others, unless a
mechanism
exists to prevent it.
Commodity standards and software must be free because open
source is that controlling mechanism. We're the only mechanism
we've got.
Monty
http://www.xiph.org/