Выбрать главу

For the first few months, Stallman operated in isolation from the Unix community as well. Although his announcement to the net.unix-wizards group had attracted sympathetic responses, few volunteers signed on to join the crusade in its early stages.

“The community reaction was pretty much uniform”, recalls Rich Morin, leader of a Unix user group at the time. “People said, `Oh, that’s a great idea. Show us your code. Show us it can be done.’”

In true hacker fashion, Stallman began looking for existing programs and tools that could be converted into GNU programs and tools. One of the first was a compiler named VUCK, which converted programs written in the popular C programming language into machine-readable code. Translated from the Dutch, the program’s acronym stood for the Free University Compiler Kit. Optimistic, Stallman asked the program’s author if the program was free. When the author informed him that the words “Free University” were a reference to the Vrije Universiteit in Amsterdam, Stallman was chagrined.

“He responded derisively, stating that the university was free but the compiler was not”, recalls Stallman. “I therefore decided that my first program for the GNU Project would be a multi-language, multi-platform compiler”.[3]

Eventually Stallman found a Pastel language compiler written by programmers at Lawrence Livermore National Lab. According to Stallman’s knowledge at the time, the compiler was free to copy and modify. Unfortunately, the program possessed a sizable design flaw: it saved each program into core memory, tying up precious space for other software activities. On mainframe systems this design flaw had been forgivable. On Unix systems it was a crippling barrier, since the machines that ran Unix were too small to handle the large files generated. Stallman made substantial progress at first, building a C-compatible frontend to the compiler. By summer, however, he had come to the conclusion that he would have to build a totally new compiler from scratch.

In September of 1984, Stallman shelved compiler development for the near term and began searching for lower-lying fruit. He began development of a GNU version of Emacs, the program he himself had been supervising for a decade. The decision was strategic. Within the Unix community, the two native editor programs were vi, written by Sun Microsystems cofounder Bill Joy, and ed, written by Bell Labs scientist (and Unix cocreator) Ken Thompson. Both were useful and popular, but neither offered the endlessly expandable nature of Emacs. In rewriting Emacs for the Unix audience, Stallman stood a better chance of showing off his skills. It also stood to reason that Emacs users might be more attuned to the Stallman mentality.

Looking back, Stallman says he didn’t view the decision in strategic terms. “I wanted an Emacs, and I had a good opportunity to develop one”.

Once again, the notion of reinventing the wheel grated on Stallman’s efficient hacker sensibilities. In writing a Unix version of Emacs, Stallman was soon following the footsteps of Carnegie Mellon graduate student James Gosling, author of a C-based version dubbed Gosling Emacs or GOSMACS. Gosling’s version of Emacs included an interpreter that exploited a simplified offshoot of the Lisp language called MOCKLISP. Determined to build GNU Emacs on a similar Lisp foundation, Stallman borrowed copiously from Gosling’s innovations. Although Gosling had put GOSMACS under copyright and had sold the rights to UniPress, a privately held software company, Stallman cited the assurances of a fellow developer who had participated in the early MOCKLISP interpreter. According to the developer, Gosling, while a Ph.D. student at Carnegie Mellon, had assured early collaborators that their work would remain accessible. When UniPress caught wind of Stallman’s project, however, the company threatened to enforce the copyright. Once again, Stallman faced the prospect of building from the ground up.

In the course of reverse-engineering Gosling’s interpreter, Stallman would create a fully functional Lisp interpreter, rendering the need for Gosling’s original interpreter moot. Nevertheless, the notion of developers selling off software rights-indeed, the very notion of developers having software rights to sell in the first place-rankled Stallman. In a 1986 speech at the Swedish Royal Technical Institute, Stallman cited the UniPress incident as yet another example of the dangers associated with proprietary software.

“Sometimes I think that perhaps one of the best things I could do with my life is find a gigantic pile of proprietary software that was a trade secret, and start handing out copies on a street corner so it wouldn’t be a trade secret any more”, said Stallman. “Perhaps that would be a much more efficient way for me to give people new free software than actually writing it myself; but everyone is too cowardly to even take it”.[3]

Despite the stress it generated, the dispute over Gosling’s innovations would assist both Stallman and the free software movement in the long term. It would force Stallman to address the weaknesses of the Emacs Commune and the informal trust system that had allowed problematic offshoots to emerge. It would also force Stallman to sharpen the free software movement’s political objectives. Following the release of GNU Emacs in 1985, Stallman issued “The GNU Manifesto”, an expansion of the original announcement posted in September, 1983. Stallman included within the document a lengthy section devoted to the many arguments used by commercial and academic programmers to justify the proliferation of proprietary software programs. One argument, “Don’t programmers deserve a reward for their creativity”, earned a response encapsulating Stallman’s anger over the recent Gosling Emacs episode:

“If anything deserves a reward, it is social contribution”, Stallman wrote. “Creativity can be a social contribution, but only in so far [sic] as society is free to use the results. If programmers deserve to be rewarded for creating innovative programs, by the same token they deserve to be punished if they restrict the use of these programs”.[13]

With the release of GNU Emacs, the GNU Project finally had code to show. It also had the burdens of any software-based enterprise. As more and more Unix developers began playing with the software, money, gifts, and requests for tapes began to pour in. To address the business side of the GNU Project, Stallman drafted a few of his colleagues and formed the Free Software Foundation (FSF), a nonprofit organization dedicated to speeding the GNU Project towards its goal. With Stallman as president and various hacker allies as board members, the FSF helped provide a corporate face for the GNU Project.

Robert Chassell, a programmer then working at Lisp Machines, Inc., became one of five charter board members at the Free Software Foundation following a dinner conversation with Stallman. Chassell also served as the organization’s treasurer, a role that started small but quickly grew.

“I think in ’85 our total expenses and revenue were something in the order of $23,000, give or take”, Chassell recalls. “Richard had his office, and we borrowed space. I put all the stuff, especially the tapes, under my desk. It wasn’t until sometime later LMI loaned us some space where we could store tapes and things of that sort”.

In addition to providing a face, the Free Software Foundation provided a center of gravity for other disenchanted programmers. The Unix market that had seemed so collegial even at the time of Stallman’s initial GNU announcement was becoming increasingly competitive. In an attempt to tighten their hold on customers, companies were starting to close off access to Unix source code, a trend that only speeded the number of inquiries into ongoing GNU software projects. The Unix wizards who once regarded Stallman as a noisy kook were now beginning to see him as a software Cassandra.

вернуться

3.

See Richard Stallman (1986).

вернуться

13.

See Richard Stallman, “The GNU Manifesto” (1985).

http://www.gnu.org/manifesto.html