--- /tmp/DOCMAN216qDUW 2024-06-05 02:09:59.189074243 +0900
+++ /tmp/DOCMAN2p7DZ5M 2024-06-05 02:09:59.189074243 +0900
@@ -1 +1 @@
-
Free as in Freedom - Chapter 1
Go to the first, previous,
next, last section,table of contents.
Greek
---
Richard M. Stallman, a staff software
programmer at the Massachusetts Institute of Technology's Artificial Intelligence
Laboratory (AI Lab), discovered the malfunction the hard way. An hour after
sending off a 50-page file to the office laser printer, Stallman, 27, broke
off a productive work session to retrieve his documents. Upon arrival, he
found only four pages in the printer's tray. To make matters even more frustrating,
the four pages belonged to another user, meaning that Stallman's print job
and the unfinished portion of somebody else's print job were still trapped
somewhere within the electrical plumbing of the lab's computer network.
AI
Waiting for machines is an occupational hazard when you're a software
programmer, so Stallman took his frustration with a grain of salt. Still,
the difference between waiting for a machine and waiting on a machine is
a sizable one. It wasn't the first time he'd been forced to stand over the
printer, watching pages print out one by one. As a person who spent the bulk
of his days and nights improving the efficiency of machines and the software
programs that controlled them, Stallman felt a natural urge to open up the
machine, look at the guts, and seek out the root of the problem.
Unfortunately, Stallman's skills as a computer programmer did not extend
to the mechanical-engineering realm. As freshly printed documents poured
out of the machine, Stallman had a chance to reflect on other ways to circumvent
the printing jam problem.
How long ago had it been that the
staff members at the AI Lab had welcomed the new printer with open arms? Stallman
wondered. The machine had been a donation from the Xerox Corporation. A cutting
edge prototype, it was a modified version of the popular Xerox photocopier.
Only instead of making copies, it relied on software data piped in over a
computer network to turn that data into professional-looking documents. Created
by engineers at the world-famous Xerox Palo Alto Research Facility, it was,
quite simply, an early taste of the desktop-printing revolution that would
seize the rest of the computing industry by the end of the decade.
AI
Driven by an instinctual urge to play with the best new equipment, programmers
at the AI Lab promptly integrated the new machine into the lab's sophisticated
computing infrastructure. The results had been immediately pleasing. Unlike
the lab's old laser printer, the new Xerox machine was fast. Pages came flying
out at a rate of one per second, turning a 20-minute print job into a 2-minute
print job. The new machine was also more precise. Circles came out looking
like circles, not ovals. Straight lines came out looking like straight lines,
not low-amplitude sine waves.
AI
It was, for all intents and purposes, a gift too good to refuse.
It wasn't until a few weeks after its arrival that the machine's flaws
began to surface. Chief among the drawbacks was the machine's inherent susceptibility
to paper jams. Engineering-minded programmers quickly understood the reason
behind the flaw. As a photocopier, the machine generally required the direct
oversight of a human operator. Figuring that these human operators would always
be on hand to fix a paper jam, if it occurred, Xerox engineers had devoted
their time and energies to eliminating other pesky problems. In engineering
terms, user diligence was built into the system.
In modifying the machine for printer use, Xerox engineers had changed
the user-machine relationship in a subtle but profound way. Instead of making
the machine subservient to an individual human operator, they made it subservient
to an entire networked population of human operators. Instead of standing
directly over the machine, a human user on one end of the network sent his
print command through an extended bucket-brigade of machines, expecting the
desired content to arrive at the targeted destination and in proper form.
It wasn't until he finally went to check up on the final output that he realized
how little of the desired content had made it through.
Stallman himself had been of the first to identify the problem and the
first to suggest a remedy. Years before, when the lab was still using its
old printer, Stallman had solved a similar problem by opening up the software
program that regulated the printer on the lab's PDP-11 machine. Stallman couldn't
eliminate paper jams, but he could insert a software command that ordered
the PDP-11 to check the printer periodically and report back to the PDP-10,
the lab's central computer. To ensure that one user's negligence didn't bog
down an entire line of print jobs, Stallman also inserted a software command
that instructed the PDP-10 to notify every user with a waiting print job
that the printer was jammed. The notice was simple, something along the lines
of "The printer is jammed, please fix it," and because it went out to the
people with the most pressing need to fix the problem, chances were higher
that the problem got fixed in due time.
PDP-11 PDP-11
PDP-10 PDP-10
As fixes go, Stallman's was oblique but elegant. It didn't fix the mechanical
side of the problem, but it did the next best thing by closing the information
loop between user and machine. Thanks to a few additional lines of software
code, AI Lab employees could eliminate the 10 or 15 minutes wasted each week
in running back and forth to check on the printer. In programming terms, Stallman's
fix took advantage of the amplified intelligence of the overall network.
AI
"If you got that message, you couldn't assume somebody else would fix
it," says Stallman, recalling the logic. "You had to go to the printer. A
minute or two after the printer got in trouble, the two or three people who
got messages arrive to fix the machine. Of those two or three people, one
of them, at least, would usually know how to fix the problem."
Such clever fixes were a trademark of the AI Lab and its indigenous population
of programmers. Indeed, the best programmers at the AI Lab disdained the term
programmer, preferring the more slangy occupational title of hacker instead.
The job title covered a host of activities--everything from creative mirth
making to the improvement of existing software and computer systems. Implicit
within the title, however, was the old-fashioned notion of Yankee ingenuity.
To be a hacker, one had to accept the philosophy that writing a software
program was only the beginning. Improving a program was the true test of
a hacker's skills.(1)
AI AI
Such a philosophy was a major reason why companies like
Xerox made it a policy to donate their machines and software programs to
places where hackers typically congregated. If hackers improved the software,
companies could borrow back the improvements, incorporating them into update
versions for the commercial marketplace. In corporate terms, hackers were
a leveragable community asset, an auxiliary research-and-development division
available at minimal cost.
It was because of this give-and-take
philosophy that when Stallman spotted the print-jam defect in the Xerox laser
printer, he didn't panic. He simply looked for a way to update the old fix
or "hack" for the new system. In the course of looking up the Xerox laser-printer
software, however, Stallman made a troubling discovery. The printer didn't
have any software, at least nothing Stallman or a fellow programmer could
read. Until then, most companies had made it a form of courtesy to publish
source-code files--readable text files that documented the individual software
commands that told a machine what to do. Xerox, in this instance, had provided
software files in precompiled, or binary, form. Programmers were free to open
the files up if they wanted to, but unless they were an expert in deciphering
an endless stream of ones and zeroes, the resulting text was pure gibberish.
Although Stallman knew plenty about computers, he was
not an expert in translating binary files. As a hacker, however, he had other
resources at his disposal. The notion of information sharing was so central
to the hacker culture that Stallman knew it was only a matter of time before
some hacker in some university lab or corporate computer room proffered a
version of the laser-printer source code with the desired source-code files.
After the first few printer jams, Stallman comforted himself with the
memory of a similar situation years before. The lab had needed a cross-network
program to help the PDP-11 work more efficiently with the PDP-10. The lab's
hackers were more than up to the task, but Stallman, a Harvard alumnus, recalled
a similar program written by programmers at the Harvard computer-science
department. The Harvard computer lab used the same model computer, the PDP-10,
albeit with a different operating system. The Harvard computer lab also had
a policy requiring that all programs installed on the PDP-10 had to come
with published source-code files.
Taking advantage of his access to the Harvard computer
lab, Stallman dropped in, made a copy of the cross-network source code, and
brought it back to the AI Lab. He then rewrote the source code to make it
more suitable for the AI Lab's operating system. With no muss and little
fuss, the AI Lab shored up a major gap in its software infrastructure. Stallman
even added a few features not found in the original Harvard program, making
the program even more useful. "We wound up using it for several years," Stallman
says.
From the perspective of a 1970s-era
programmer, the transaction was the software equivalent of a neighbor stopping
by to borrow a power tool or a cup of sugar from a neighbor. The only difference
was that in borrowing a copy of the software for the AI Lab, Stallman had
done nothing to deprive Harvard hackers the use of their original program.
If anything, Harvard hackers gained in the process, because Stallman had
introduced his own additional features to the program, features that hackers
at Harvard were perfectly free to borrow in return. Although nobody at Harvard
ever came over to borrow the program back, Stallman does recall a programmer
at the private engineering firm, Bolt, Beranek & Newman, borrowing the
program and adding a few additional features, which Stallman eventually reintegrated
into the AI Lab's own source-code archive.
"A program would develop the way a city develops," says Stallman, recalling
the software infrastructure of the AI Lab. "Parts would get replaced and rebuilt.
New things would get added on. But you could always look at a certain part
and say, `Hmm, by the style, I see this part was written back in the early
60s and this part was written in the mid-1970s.'"
Through this simple system of intellectual accretion, hackers
at the AI Lab and other places built up robust creations. On the west coast,
computer scientists at UC Berkeley, working in cooperation with a few low-level
engineers at AT&T, had built up an entire operating system using this
system. Dubbed Unix, a play on an older, more academically respectable operating
system called Multics, the software system was available to any programmer
willing to pay for the cost of copying the program onto a new magnetic tape
and shipping it. Not every programmer participating in this culture described
himself as a hacker, but most shared the sentiments of Richard M. Stallman.
If a program or software fix was good enough to solve your problems, it was
good enough to solve somebody else's problems. Why not share it out of a simple
desire for good karma?
The fact that Xerox had been unwilling to share its source-code files
seemed a minor annoyance at first. In tracking down a copy of the source-code
files, Stallman says he didn't even bother contacting Xerox. "They had already
given us the laser printer," Stallman says. "Why should I bug them for more?"
When the desired files failed to surface,
however, Stallman began to grow suspicious. The year before, Stallman had
experienced a blow up with a doctoral student at Carnegie Mellon University.
The student, Brian Reid, was the author of a useful text-formatting program
dubbed Scribe. One of the first programs that gave a user the power to define
fonts and type styles when sending a document over a computer network, the
program was an early harbinger of HTML, the lingua franca of the World Wide
Web. In 1979, Reid made the decision to sell Scribe to a Pittsburgh-area software
company called Unilogic. His graduate-student career ending, Reid says he
simply was looking for a way to unload the program on a set of developers
that would take pains to keep it from slipping into the public domain. To
sweeten the deal, Reid also agreed to insert a set of time-dependent functions---"time
bombs" in software-programmer parlance--that deactivated freely copied versions
of the program after a 90-day expiration date. To avoid deactivation, users
paid the software company, which then issued a code that defused the internal
time-bomb feature.
For Reid, the deal was a win-win. Scribe didn't fall into the public domain,
and Unilogic recouped on its investment. For Stallman, it was a betrayal of
the programmer ethos, pure and simple. Instead of honoring the notion of
share-and-share alike, Reid had inserted a way for companies to compel programmers
to pay for information access.
As the weeks passed and his attempts to track down
Xerox laser-printer source code hit a brick wall, Stallman began to sense
a similar money-for-code scenario at work. Before Stallman could do or say
anything about it, however, good news finally trickled in via the programmer
grapevine. Word had it that a scientist at the computer-science department
at Carnegie Mellon University had just departed a job at the Xerox Palo Alto
Research Center. Not only had the scientist worked on the laser printer in
question, but according to rumor, he was still working on it as part of his
research duties at Carnegie Mellon.
Casting aside his initial suspicion, Stallman made a firm resolution to
seek out the person in question during his next visit to the Carnegie Mellon
campus.
He didn't have to wait long. Carnegie Mellon also had a lab specializing
in artificial-intelligence research, and within a few months, Stallman had
a business-related reason to visit the Carnegie Mellon campus. During that
visit, he made sure to stop by the computer-science department. Department
employees directed him to the office of the faculty member leading the Xerox
project. When Stallman reached the office, he found the professor working
there.
In true engineer-to-engineer fashion, the conversation was cordial but
blunt. After briefly introducing himself as a visitor from MIT, Stallman
requested a copy of the laser-printer source code so that he could port it
to the PDP-11. To his surprise, the professor refused to grant his request.
"He told me that he had promised not to give me a copy," Stallman says.
Memory is a funny thing. Twenty
years after the fact, Stallman's mental history tape is notoriously blank
in places. Not only does he not remember the motivating reason for the trip
or even the time of year during which he took it, he also has no recollection
of the professor or doctoral student on the other end of the conversation.
According to Reid, the person most likely to have fielded Stallman's request
is Robert Sproull, a former Xerox PARC researcher and current director of
Sun Laboratories, a research division of the computer-technology conglomerate
Sun Microsystems. During the 1970s, Sproull had been the primary developer
of the laser-printer software in question while at Xerox PARC. Around 1980,
Sproull took a faculty research position at Carnegie Mellon where he continued
his laser-printer work amid other projects.
"The code that Stallman was asking for was leading-edge state-of-the-art
code that Sproull had written in the year or so before going to Carnegie
Mellon," recalls Reid. "I suspect that Sproull had been at Carnegie Mellon
less than a month before this request came in."
When asked directly about the request, however, Sproull draws a blank.
"I can't make a factual comment," writes Sproull via email. "I have absolutely
no recollection of the incident."
With both participants in the brief conversation struggling to recall
key details--including whether the conversation even took place--it's hard
to gauge the bluntness of Sproull's refusal, at least as recalled by Stallman.
In talking to audiences, Stallman has made repeated reference to the incident,
noting that Sproull's unwillingness to hand over the source code stemmed from
a nondisclosure agreement, a contractual agreement between Sproull and the
Xerox Corporation giving Sproull, or any other signatory, access the software
source code in exchange for a promise of secrecy. Now a standard item of
business in the software industry, the nondisclosure agreement, or NDA, was
a novel development at the time, a reflection of both the commercial value
of the laser printer to Xerox and the information needed to run it. "Xerox
was at the time trying to make a commercial product out of the laser printer,"
recalls Reid. "They would have been insane to give away the source code."
For Stallman, however, the NDA
was something else entirely. It was a refusal on the part of Xerox and Sproull,
or whomever the person was that turned down his source-code request that day,
to participate in a system that, until then, had encouraged software programmers
to regard programs as communal resources. Like a peasant whose centuries--old
irrigation ditch had grown suddenly dry, Stallman had followed the ditch
to its source only to find a brand-spanking--new hydroelectric dam bearing
the Xerox logo.
For Stallman, the realization that Xerox had compelled a fellow programmer
to participate in this newfangled system of compelled secrecy took a while
to sink in. At first, all he could focus on was the personal nature of the
refusal. As a person who felt awkward and out of sync in most face-to-face
encounters, Stallman's attempt to drop in on a fellow programmer unannounced
had been intended as a demonstration of neighborliness. Now that the request
had been refused, it felt like a major blunder. "I was so angry I couldn't
think of a way to express it. So I just turned away and walked out without
another word," Stallman recalls. "I might have slammed the door. Who knows?
All I remember is wanting to get out of there."
Twenty years after the fact, the anger still lingers, so much so that
Stallman has elevated the event into a major turning point. Within the next
few months, a series of events would befall both Stallman and the AI Lab
hacker community that would make 30 seconds worth of tension in a remote
Carnegie Mellon office seem trivial by comparison. Nevertheless, when it
comes time to sort out the events that would transform Stallman from a lone
hacker, instinctively suspicious of centralized authority, to a crusading
activist applying traditional notions of liberty, equality, and fraternity
to the world of software development, Stallman singles out the Carnegie Mellon
encounter for special attention.</p>
<p>"It encouraged me to think about something that I'd already been thinking
about," says Stallman. "I already had an idea that software should be shared,
but I wasn't sure how to think about that. My thoughts weren't clear and organized
to the point where I could express them in a concise fashion to the rest
of the world." </p>
<p>Although previous events had raised Stallman's ire, he says it wasn't
until his Carnegie Mellon encounter that he realized the events were beginning
to intrude on a culture he had long considered sacrosanct. As an elite programmer
at one of the world's elite institutions, Stallman had been perfectly willing
to ignore the compromises and bargains of his fellow programmers just so long
as they didn't interfere with his own work. Until the arrival of the Xerox
laser printer, Stallman had been content to look down on the machines and
programs other computer users grimly tolerated. On the rare occasion that
such a program breached the AI Lab's walls--when the lab replaced its venerable
Incompatible Time Sharing operating system with a commercial variant, the
TOPS 20, for example--Stallman and his hacker colleagues had been free to
rewrite, reshape, and rename the software according to personal taste.</p>
<p><a name="IDX32"></a>Now that the laser printer had insinuated itself within
the AI Lab's network, however, something had changed. The machine worked fine,
barring the occasional paper jam, but the ability to modify according to
personal taste had disappeared. From the viewpoint of the entire software
industry, the printer was a wake-up call. Software had become such a valuable
asset that companies no longer felt the need to publicize source code, especially
when publication meant giving potential competitors a chance to duplicate
something cheaply. From Stallman's viewpoint, the printer was a Trojan Horse.
After a decade of failure, privately owned software--future hackers would
use the term "proprietary" software--had gained a foothold inside the AI Lab
through the sneakiest of methods. It had come disguised as a gift. </p>
<p>That Xerox had offered some programmers access to additional gifts in
exchange for secrecy was also galling, but Stallman takes pains to note that,
if presented with such a quid pro quo bargain at a younger age, he just might
have taken the Xerox Corporation up on its offer. The awkwardness of the
Carnegie Mellon encounter, however, had a firming effect on Stallman's own
moral lassitude. Not only did it give him the necessary anger to view all
future entreaties with suspicion, it also forced him to ask the uncomfortable
question: what if a fellow hacker dropped into Stallman's office someday
and it suddenly became Stallman's job to refuse the hacker's request for
source code? </p>
<p>"It was my first encounter with a nondisclosure agreement, and it immediately
taught me that nondisclosure agreements have victims," says Stallman, firmly.
"In this case I was the victim. [My lab and I] were victims." </p>
<p>It was a lesson Stallman would carry with him through the tumultuous years
of the 1980s, a decade during which many of his MIT colleagues would depart
the AI Lab and sign nondisclosure agreements of their own. Because most nondisclosure
aggreements (NDAs) had expiration dates, few hackers who did sign them saw
little need for personal introspection. Sooner or later, they reasoned, the
software would become public knowledge. In the meantime, promising to keep
the software secret during its earliest development stages was all a part
of the compromise deal that allowed hackers to work on the best projects.
For Stallman, however, it was the first step down a slippery slope. </p>
<p>"When somebody invited me to betray all my colleagues in that way, I remembered
how angry I was when somebody else had done that to me and my whole lab,"
Stallman says. "So I said, `Thank you very much for offering me this nice
software package, but I can't accept it on the conditions that you're asking
for, so I'm going to do without it.'" </p>
<p>As Stallman would quickly learn, refusing such requests involved more
than personal sacrifice. It involved segregating himself from fellow hackers
who, though sharing a similar distaste for secrecy, tended to express that
distaste in a more morally flexible fashion. It wasn't long before Stallman,
increasingly an outcast even within the AI Lab, began billing himself as
"the last true hacker," isolating himself further and further from a marketplace
dominated by proprietary software. Refusing another's request for source
code, Stallman decided, was not only a betrayal of the scientific mission
that had nurtured software development since the end of World War II, it
was a violation of the Golden Rule, the baseline moral dictate to do unto
others as you would have them do unto you. </p>
<p>Hence the importance of the laser printer and the encounter that resulted
from it. Without it, Stallman says, his life might have followed a more ordinary
path, one balancing the riches of a commercial programmer with the ultimate
frustration of a life spent writing invisible software code. There would have
been no sense of clarity, no urgency to address a problem others weren't addressing.
Most importantly, there would have been no righteous anger, an emotion that,
as we soon shall see, has propelled Stallman's career as surely as any political
ideology or ethical belief. </p>
<p>"From that day forward, I decided this was something I could never participate
in," says Stallman, alluding to the practice of trading personal liberty for
the sake of convenience--Stallman's description of the NDA bargain--as well
as the overall culture that encouraged such ethically suspect deal-making
in the first place. "I decided never to make other people victims just like
I had been a victim." </p>
<hr>
<p>Go to the <a href="faif_1.html">first</a>, <a href="faif_1.html">previous</a>,
<a href="faif_3.html">next</a>, <a href="faif_19.html">last</a> section,<a
href="faif_toc.html">table of contents</a>.</p>
<br>
<br>
<br>
</body>
</html>
+
Free as in Freedom - Chapter 1
Go to the first, previous,
next, last section,table of contents.
Greek
---
Richard M. Stallman, a staff software
programmer at the Massachusetts Institute of Technology's Artificial Intelligence
Laboratory (AI Lab), discovered the malfunction the hard way. An hour after
sending off a 50-page file to the office laser printer, Stallman, 27, broke
off a productive work session to retrieve his documents. Upon arrival, he
found only four pages in the printer's tray. To make matters even more frustrating,
the four pages belonged to another user, meaning that Stallman's print job
and the unfinished portion of somebody else's print job were still trapped
somewhere within the electrical plumbing of the lab's computer network.
AI
AI
AI
In modifying the machine for printer use, Xerox engineers had changed the
user-machine relationship in a subtle but profound way. Instead of making
the machine subservient to an individual human operator, they made it subservient
to an entire networked population of human operators. Instead of standing
directly over the machine, a human user on one end of the network sent his
print command through an extended bucket-brigade of machines, expecting the
desired content to arrive at the targeted destination and in proper form.
It wasn't until he finally went to check up on the final output that he realized
how little of the desired content had made it through.
PDP-11 PDP-11
PDP-10
PDP-10
AI
AI AI
(1)
It was because of this give-and-take
philosophy that when Stallman spotted the print-jam defect in the Xerox laser
printer, he didn't panic. He simply looked for a way to update the old fix
or "hack" for the new system. In the course of looking up the Xerox laser-printer
software, however, Stallman made a troubling discovery. The printer didn't
have any software, at least nothing Stallman or a fellow programmer could
read. Until then, most companies had made it a form of courtesy to publish
source-code files--readable text files that documented the individual software
commands that told a machine what to do. Xerox, in this instance, had provided
software files in precompiled, or binary, form. Programmers were free to
open the files up if they wanted to, but unless they were an expert in deciphering
an endless stream of ones and zeroes, the resulting text was pure gibberish.
Although Stallman knew plenty about computers, he
was not an expert in translating binary files. As a hacker, however, he had
other resources at his disposal. The notion of information sharing was so
central to the hacker culture that Stallman knew it was only a matter of
time before some hacker in some university lab or corporate computer room
proffered a version of the laser-printer source code with the desired source-code
files.
After the first few printer jams, Stallman comforted himself with the memory
of a similar situation years before. The lab had needed a cross-network program
to help the PDP-11 work more efficiently with the PDP-10. The lab's hackers
were more than up to the task, but Stallman, a Harvard alumnus, recalled a
similar program written by programmers at the Harvard computer-science department.
The Harvard computer lab used the same model computer, the PDP-10, albeit
with a different operating system. The Harvard computer lab also had a policy
requiring that all programs installed on the PDP-10 had to come with published
source-code files.
PDP-11
PDP-10
PDP-10 PDP-10
Taking advantage of his access to the Harvard computer
lab, Stallman dropped in, made a copy of the cross-network source code, and
brought it back to the AI Lab. He then rewrote the source code to make it
more suitable for the AI Lab's operating system. With no muss and little fuss,
the AI Lab shored up a major gap in its software infrastructure. Stallman
even added a few features not found in the original Harvard program, making
the program even more useful. "We wound up using it for several years," Stallman
says.
AI
AI AI
From the perspective of a 1970s-era
programmer, the transaction was the software equivalent of a neighbor stopping
by to borrow a power tool or a cup of sugar from a neighbor. The only difference
was that in borrowing a copy of the software for the AI Lab, Stallman had
done nothing to deprive Harvard hackers the use of their original program.
If anything, Harvard hackers gained in the process, because Stallman had introduced
his own additional features to the program, features that hackers at Harvard
were perfectly free to borrow in return. Although nobody at Harvard ever
came over to borrow the program back, Stallman does recall a programmer at
the private engineering firm, Bolt, Beranek & Newman, borrowing the program
and adding a few additional features, which Stallman eventually reintegrated
into the AI Lab's own source-code archive.
AI Bolt,
Beranek & Newman AI
"A program would develop the way a city develops," says Stallman, recalling
the software infrastructure of the AI Lab. "Parts would get replaced and
rebuilt. New things would get added on. But you could always look at a certain
part and say, `Hmm, by the style, I see this part was written back in the
early 60s and this part was written in the mid-1970s.'"
AI
Through this simple system of intellectual accretion, hackers
at the AI Lab and other places built up robust creations. On the west coast,
computer scientists at UC Berkeley, working in cooperation with a few low-level
engineers at AT&T, had built up an entire operating system using this
system. Dubbed Unix, a play on an older, more academically respectable operating
system called Multics, the software system was available to any programmer
willing to pay for the cost of copying the program onto a new magnetic tape
and shipping it. Not every programmer participating in this culture described
himself as a hacker, but most shared the sentiments of Richard M. Stallman.
If a program or software fix was good enough to solve your problems, it was
good enough to solve somebody else's problems. Why not share it out of a
simple desire for good karma
AI AT&T
Unix
The fact that Xerox had been unwilling to share its source-code files seemed
a minor annoyance at first. In tracking down a copy of the source-code files,
Stallman says he didn't even bother contacting Xerox. "They had already given
us the laser printer," Stallman says. "Why should I bug them for more?"
When the desired files failed to surface,
however, Stallman began to grow suspicious. The year before, Stallman had
experienced a blow up with a doctoral student at Carnegie Mellon University.
The student, Brian Reid, was the author of a useful text-formatting program
dubbed Scribe. One of the first programs that gave a user the power to define
fonts and type styles when sending a document over a computer network, the
program was an early harbinger of HTML, the lingua franca of the World Wide
Web. In 1979, Reid made the decision to sell Scribe to a Pittsburgh-area
software company called Unilogic. His graduate-student career ending, Reid
says he simply was looking for a way to unload the program on a set of developers
that would take pains to keep it from slipping into the public domain. To
sweeten the deal, Reid also agreed to insert a set of time-dependent functions---"time
bombs" in software-programmer parlance--that deactivated freely copied versions
of the program after a 90-day expiration date. To avoid deactivation, users
paid the software company, which then issued a code that defused the internal
time-bomb feature.
For Reid, the deal was a win-win. Scribe didn't fall into the public domain,
and Unilogic recouped on its investment. For Stallman, it was a betrayal
of the programmer ethos, pure and simple. Instead of honoring the notion
of share-and-share alike, Reid had inserted a way for companies to compel
programmers to pay for information access.
As the weeks passed and his attempts to track down
Xerox laser-printer source code hit a brick wall, Stallman began to sense
a similar money-for-code scenario at work. Before Stallman could do or say
anything about it, however, good news finally trickled in via the programmer
grapevine. Word had it that a scientist at the computer-science department
at Carnegie Mellon University had just departed a job at the Xerox Palo Alto
Research Center. Not only had the scientist worked on the laser printer in
question, but according to rumor, he was still working on it as part of his
research duties at Carnegie Mellon.
Casting aside his initial suspicion, Stallman made a firm resolution to
seek out the person in question during his next visit to the Carnegie Mellon
campus.
He didn't have to wait long. Carnegie Mellon also had a lab specializing
in artificial-intelligence research, and within a few months, Stallman had
a business-related reason to visit the Carnegie Mellon campus. During that
visit, he made sure to stop by the computer-science department. Department
employees directed him to the office of the faculty member leading the Xerox
project. When Stallman reached the office, he found the professor working
there.
In true engineer-to-engineer fashion, the conversation was cordial but
blunt. After briefly introducing himself as a visitor from MIT, Stallman requested
a copy of the laser-printer source code so that he could port it to the PDP-11.
To his surprise, the professor refused to grant his request.
"He told me that he had promised not to give me a copy," Stallman says.
Memory is a funny thing. Twenty
years after the fact, Stallman's mental history tape is notoriously blank
in places. Not only does he not remember the motivating reason for the trip
or even the time of year during which he took it, he also has no recollection
of the professor or doctoral student on the other end of the conversation.
According to Reid, the person most likely to have fielded Stallman's request
is Robert Sproull, a former Xerox PARC researcher and current director of
Sun Laboratories, a research division of the computer-technology conglomerate
Sun Microsystems. During the 1970s, Sproull had been the primary developer
of the laser-printer software in question while at Xerox PARC. Around 1980,
Sproull took a faculty research position at Carnegie Mellon where he continued
his laser-printer work amid other projects.
"The code that Stallman was asking for was leading-edge state-of-the-art
code that Sproull had written in the year or so before going to Carnegie Mellon,"
recalls Reid. "I suspect that Sproull had been at Carnegie Mellon less than
a month before this request came in."
When asked directly about the request, however, Sproull draws a blank.
"I can't make a factual comment," writes Sproull via email. "I have absolutely
no recollection of the incident."
With both participants in the brief conversation struggling to recall key
details--including whether the conversation even took place--it's hard to
gauge the bluntness of Sproull's refusal, at least as recalled by Stallman.
In talking to audiences, Stallman has made repeated reference to the incident,
noting that Sproull's unwillingness to hand over the source code stemmed
from a nondisclosure agreement, a contractual agreement between Sproull and
the Xerox Corporation giving Sproull, or any other signatory, access the
software source code in exchange for a promise of secrecy. Now a standard
item of business in the software industry, the nondisclosure agreement, or
NDA, was a novel development at the time, a reflection of both the commercial
value of the laser printer to Xerox and the information needed to run it.
"Xerox was at the time trying to make a commercial product out of the laser
printer," recalls Reid. "They would have been insane to give away the source
code."
For Stallman, however, the NDA
was something else entirely. It was a refusal on the part of Xerox and Sproull,
or whomever the person was that turned down his source-code request that
day, to participate in a system that, until then, had encouraged software
programmers to regard programs as communal resources. Like a peasant whose
centuries--old irrigation ditch had grown suddenly dry, Stallman had followed
the ditch to its source only to find a brand-spanking--new hydroelectric
dam bearing the Xerox logo.
For Stallman, the realization that Xerox had compelled a fellow programmer
to participate in this newfangled system of compelled secrecy took a while
to sink in. At first, all he could focus on was the personal nature of the
refusal. As a person who felt awkward and out of sync in most face-to-face
encounters, Stallman's attempt to drop in on a fellow programmer unannounced
had been intended as a demonstration of neighborliness. Now that the request
had been refused, it felt like a major blunder. "I was so angry I couldn't
think of a way to express it. So I just turned away and walked out without
another word," Stallman recalls. "I might have slammed the door. Who knows?
All I remember is wanting to get out of there."
Twenty years after the fact, the anger still lingers, so much so that Stallman
has elevated the event into a major turning point. Within the next few months,
a series of events would befall both Stallman and the AI Lab hacker community
that would make 30 seconds worth of tension in a remote Carnegie Mellon office
seem trivial by comparison. Nevertheless, when it comes time to sort out
the events that would transform Stallman from a lone hacker, instinctively
suspicious of centralized authority, to a crusading activist applying traditional
notions of liberty, equality, and fraternity to the world of software development,
Stallman singles out the Carnegie Mellon encounter for special attention.
"It encouraged me to think about something that I'd already been thinking
about," says Stallman. "I already had an idea that software should be shared,
but I wasn't sure how to think about that. My thoughts weren't clear and
organized to the point where I could express them in a concise fashion to
the rest of the world."
Although previous events had raised Stallman's ire, he says it wasn't until
his Carnegie Mellon encounter that he realized the events were beginning to
intrude on a culture he had long considered sacrosanct. As an elite programmer
at one of the world's elite institutions, Stallman had been perfectly willing
to ignore the compromises and bargains of his fellow programmers just so
long as they didn't interfere with his own work. Until the arrival of the
Xerox laser printer, Stallman had been content to look down on the machines
and programs other computer users grimly tolerated. On the rare occasion
that such a program breached the AI Lab's walls--when the lab replaced its
venerable Incompatible Time Sharing operating system with a commercial variant,
the TOPS 20, for example--Stallman and his hacker colleagues had been free
to rewrite, reshape, and rename the software according to personal taste.
Now that the laser printer had insinuated itself within
the AI Lab's network, however, something had changed. The machine worked
fine, barring the occasional paper jam, but the ability to modify according
to personal taste had disappeared. From the viewpoint of the entire software
industry, the printer was a wake-up call. Software had become such a valuable
asset that companies no longer felt the need to publicize source code, especially
when publication meant giving potential competitors a chance to duplicate
something cheaply. From Stallman's viewpoint, the printer was a Trojan Horse.
After a decade of failure, privately owned software--future hackers would
use the term "proprietary" software--had gained a foothold inside the AI
Lab through the sneakiest of methods. It had come disguised as a gift.
That Xerox had offered some programmers access to additional gifts in exchange
for secrecy was also galling, but Stallman takes pains to note that, if presented
with such a quid pro quo bargain at a younger age, he just might have taken
the Xerox Corporation up on its offer. The awkwardness of the Carnegie Mellon
encounter, however, had a firming effect on Stallman's own moral lassitude.
Not only did it give him the necessary anger to view all future entreaties
with suspicion, it also forced him to ask the uncomfortable question: what
if a fellow hacker dropped into Stallman's office someday and it suddenly
became Stallman's job to refuse the hacker's request for source code?
"It was my first encounter with a nondisclosure agreement, and it immediately
taught me that nondisclosure agreements have victims," says Stallman, firmly.
"In this case I was the victim. [My lab and I] were victims."
It was a lesson Stallman would carry with him through the tumultuous years
of the 1980s, a decade during which many of his MIT colleagues would depart
the AI Lab and sign nondisclosure agreements of their own. Because most nondisclosure
aggreements (NDAs) had expiration dates, few hackers who did sign them saw
little need for personal introspection. Sooner or later, they reasoned, the
software would become public knowledge. In the meantime, promising to keep
the software secret during its earliest development stages was all a part
of the compromise deal that allowed hackers to work on the best projects.
For Stallman, however, it was the first step down a slippery slope.
"When somebody invited me to betray all my colleagues in that way, I remembered
how angry I was when somebody else had done that to me and my whole lab,"
Stallman says. "So I said, `Thank you very much for offering me this nice
software package, but I can't accept it on the conditions that you're asking
for, so I'm going to do without it.'"
As Stallman would quickly learn, refusing such requests involved more than
personal sacrifice. It involved segregating himself from fellow hackers who,
though sharing a similar distaste for secrecy, tended to express that distaste
in a more morally flexible fashion. It wasn't long before Stallman, increasingly
an outcast even within the AI Lab, began billing himself as "the last true
hacker," isolating himself further and further from a marketplace dominated
by proprietary software. Refusing another's request for source code, Stallman
decided, was not only a betrayal of the scientific mission that had nurtured
software development since the end of World War II, it was a violation of
the Golden Rule, the baseline moral dictate to do unto others as you would
have them do unto you.
Hence the importance of the laser printer and the encounter that resulted
from it. Without it, Stallman says, his life might have followed a more ordinary
path, one balancing the riches of a commercial programmer with the ultimate
frustration of a life spent writing invisible software code. There would
have been no sense of clarity, no urgency to address a problem others weren't
addressing. Most importantly, there would have been no righteous anger, an
emotion that, as we soon shall see, has propelled Stallman's career as surely
as any political ideology or ethical belief. </p>
<p>"From that day forward, I decided this was something I could never participate
in," says Stallman, alluding to the practice of trading personal liberty
for the sake of convenience--Stallman's description of the NDA bargain--as
well as the overall culture that encouraged such ethically suspect deal-making
in the first place. "I decided never to make other people victims just like
I had been a victim." </p>
<hr>
<p>Go to the <a href="faif_1.html">first</a>, <a href="faif_1.html">previous</a>,
<a href="faif_3.html">next</a>, <a href="faif_19.html">last</a> section,<a
href="faif_toc.html">table of contents</a>.</p>
<br>
<br>
<br>
<br>
</body>
</html>