-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathchap10.tex
447 lines (335 loc) · 53.8 KB
/
chap10.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
%% Copyright (c) 2002, 2010 Sam Williams
%% Copyright (c) 2010 Richard M. Stallman
%% Permission is granted to copy, distribute and/or modify this
%% document under the terms of the GNU Free Documentation License,
%% Version 1.3 or any later version published by the Free Software
%% Foundation; with no Invariant Sections, no Front-Cover Texts, and
%% no Back-Cover Texts. A copy of the license is included in the
%% file called ``gfdl.tex''.
\chapter{\ifdefined\eng
GNU/Linux
\fi
\ifdefined\chs
GNU/Linux
\fi}
\ifdefined\eng
By 1993, the free software movement was at a crossroads. To the optimistically inclined, all signs pointed toward success for the hacker culture. \textit{Wired} magazine, a funky, new publication offering stories on data encryption, Usenet, and software freedom, was flying off magazine racks. The Internet, once a slang term used only by hackers and research scientists, had found its way into mainstream lexicon. Even President Clinton was using it. The personal computer, once a hobbyist's toy, had grown to full-scale respectability, giving a whole new generation of computer users access to hacker-built software. And while the GNU Project had not yet reached its goal of a fully intact, free GNU operating system, users could already run the GNU/Linux variant.
\fi
\ifdefined\chs
1993年,自由软件运动走到了一个十字路口。从乐观的方面讲,黑客文化正在变得越来越成功。《\textit{连线}》杂志作为一本新兴的时尚杂志,用有关数据加密、新闻组、自由软件等热门话题树立了自己的地位。而Internet这个原本之在黑客和科学家群体中流行的词汇,也渐渐的融入了主流社会,连时任美国总统的克林顿也不忘提到它。昔日作为数码爱好者玩具的个人电脑,也得到了广泛的普及,黑客们开发的软件也进入了新一代的计算机用户的视野。然而,GNU工程却还没完成它创建一个完整的自由操作系统的目标,用户们通常都使用Linux系统。
\fi
\ifdefined\eng
Any way you sliced it, the news was good, or so it seemed. After a decade of struggle, hackers and hacker values were finally gaining acceptance in mainstream society. People were getting it.
\fi
\ifdefined\chs
不管你怎么想,但这听起来是个好消息,或者至少看起来是。经过了十年的挣扎,黑客和黑客的价值观终于开始被主流社会所接受。大众开始认识它们。
\fi
\ifdefined\eng
Or were they? To the pessimistically inclined, each sign of acceptance carried its own troubling countersign. Sure, being a hacker was suddenly cool, but was cool good for a community that thrived on alienation? Sure, the White House was saying nice things about the Internet, even going so far as to register its own domain name, whitehouse.gov, but it was also meeting with the companies, censorship advocates, and law-enforcement officials looking to tame the Internet's Wild West culture. Sure, PCs were more powerful, but in commoditizing the PC marketplace with its chips, Intel had created a situation in which proprietary software vendors now held the power. For every new user won over to the free software cause via GNU/Linux, hundreds, perhaps thousands, were booting up Microsoft Windows for the first time. GNU/Linux had only rudimentary graphical interfaces, so it was hardly user-friendly. In 1993, only an expert could use it. The GNU Project's first attempt to develop a graphical desktop had been abortive.
\fi
\ifdefined\chs
事实确实如此吗?从悲观的角度来说,任何被接受的信号也同时间意味着麻烦正在滋长。当然,成为一个黑客突然变成了一件很酷的事情,但是对于一个社区而言被人疏远的繁荣真得算是一件好事吗?当然,白官表明态度说Internet是一个很好的趋势,甚至已经在上面注册了自己的域名,whitehouse.gov,但是它也在与各个公司、支持审查机关和执法机构一同开会,设法管理西部荒原般的Internet文化。是的,个人电脑正在变得越来越强大,但是Intel做为PC市场上的芯片供应商,已经形成了一种由私有软件开发商垄断的局面。虽然有很多人开始使用通过Linux接触到自由软件,但是与此同时有成百上千的人成为了微软Windows的用户。..........................
\fi
\ifdefined\eng
Then there was the political situation. Copyrighting of user interfaces was still a real threat -- the courts had not yet rejected the idea. Meanwhile, patents on software algorithms and features were a growing danger that threatened to spread to other countries.
\fi
\ifdefined\chs
......................
\fi
\ifdefined\eng
Finally, there was the curious nature of GNU/Linux itself. Unrestricted by legal disputes (such as BSD faced), GNU/Linux's high-speed evolution had been so unplanned, its success so accidental, that programmers closest to the software code itself didn't know what to make of it. More compilation album than unified project, it was comprised of a hacker medley of greatest hits: everything from GCC, GDB, and glibc (the GNU Project's newly developed C Library) to X (a Unix-based graphic user interface developed by MIT's Laboratory for Computer Science) to BSD-developed tools such as BIND (the Berkeley Internet Naming Daemon, which lets users substitute easy-to-remember Internet domain names for numeric IP addresses) and TCP/IP. In addition, it contained the Linux kernel -- itself designed as a replacement for Minix. Rather than developing a new operating system, Torvalds and his rapidly expanding Linux development team had plugged their work into this matrix. As Torvalds himself would later translate it when describing the secret of his success: ``I'm basically a very lazy person who likes to take credit for things other people actually do.''\endnote{Torvalds has offered this quote in many different settings. To date, however, the quote's most notable appearance is in the Eric Raymond essay, ``The Cathedral and the Bazaar'' (May, 1997), \url{http://www.catb.org/~esr/writings/cathedral-bazaar/}.}
\fi
\ifdefined\chs
到头来,这是Linux奇妙的天性。没有像GNU那样的设计错误,也有BSD那样的法律争论,Linux的高速发展完全是出乎意料的,它的成功也是偶然的,甚至于编写了它的代码的程序员们也没法想象事情为什么会是这样的。Linux比一个完整的操作系统更为复杂,它完全就是一个黑客们把各种顶级工具混杂在一起的产物:从GCC、GDB和glibc (GNU工程新开发的C库)到X(MIT的计算机科学实验室开发的基于Unix架构的图形化用户界面),还包括BSD开发的那些类似于BIND(the Berkeley Internet Naming Daemon,用于提供把IP地址与域名进行映射的网络服务)和TCP/IP协议。整个体系的顶石,当然就是Linux内核本身,它是一个在Minix基础上重新开发的全新的内核。托瓦兹和他高速成长的Linux开发团队并没有把所有东西都从头造一遍,而是遵循了古老的毕加索的格言:“能工摹其形,巧匠摄其魂。”后来托瓦兹本人也以类似的说法评价他自己成功的秘诀:“我是一个非常懒惰的人,并且喜欢把别人的成果占为已有。”\endnote{托瓦兹在很多场合都引用过这个说法。到目前为止,最确切的一次是在埃里克·雷蒙德的文章“教堂与集市”中出现的。(1997年5月)}
\fi
\ifdefined\eng
Such laziness, while admirable from an efficiency perspective, was troubling from a political perspective. For one thing, it underlined the lack of an ideological agenda on Torvalds' part. Unlike the GNU developers, Torvalds hadn't built his kernel out of a desire to give his fellow hackers freedom; he'd built it to have something he himself could play with. So what exactly was the combined system, and which philosophy would people associate it with? Was it a manifestation of the free software philosophy first articulated by Stallman in the \textit{GNU Manifesto}? Or was it simply an amalgamation of nifty software tools that any user, similarly motivated, could assemble on his own home system?
\fi
\ifdefined\chs
这种惰性,从提高效率的角度来看,还是非常值得景仰的,但是从政治的角度来看就变得很棘手。一方面,它表现了从托瓦兹这一方面来说所缺乏的意识形态议程。与GNU开发者不同,托瓦兹从一开始就没有想过要让他的团队一起来开发一个完整的操作系统,他只是想做一个自己可以玩的东西。就像汤姆·索亚用石灰水刷白篱笆一样,托瓦兹的天才能力并不表现在他的大局观上,而是在于他可以用最快的速度召集到一批黑客来完成开发任务。托瓦兹和他找来一同工作的黑客们成功了,而其他人则产生了一些疑问:那么,准确来说,Linux究竟是个什么东西呢?它是不是对斯托曼在《\textit{GNU宣言}》中所表术的自由软件哲学的一种表现形式呢?还是只是一个人们可以在家用电脑上使用的简单的工具集合呢?
\fi
\ifdefined\eng
By late 1993, a growing number of GNU/Linux users had begun to lean toward the latter definition and began brewing private variations on the theme. They began to develop various ``distributions'' of GNU/Linux and distribute them, sometimes gratis, sometimes for a price. The results were spotty at best.
\fi
\ifdefined\chs
到了1993年下半年,越来越多的Linux用户开始倾向于后一种定义并开始基于Linux开发各种变种。他们甚至开始把这些衍生版本(或者说“发行版”)包装起来并向Unix爱好者出售,结果充其量就是些小打小闹。
\fi
\ifdefined\eng
``This was back before Red Hat and the other commercial distributions,'' remembers Ian Murdock, then a computer science student at Purdue University. ``You'd flip through Unix magazines and find all these business card-sized ads proclaiming `Linux.' Most of the companies were fly-by-night operations that saw nothing wrong with slipping a little of their own [proprietary] source code into the mix.''
\fi
\ifdefined\chs
”这就是Red Hat或其它商业发行版出现前的情况。“ 伊恩·默多克回忆道,那时他还是普渡大学计算机系的一名学生。"如果你翻阅Unix的杂志,你会看到很多名片大小的小广告,推广‘Linux’。很多这样的公司都是采用短视的方式来运作,他们并不认为把自己的代码加到Linux中有什么不对的地方。”
\fi
\ifdefined\eng
Murdock, a Unix programmer, remembers being ``swept away'' by GNU/Linux when he first downloaded and installed it on his home PC system. ``It was just a lot of fun,'' he says. ``It made me want to get involved.'' The explosion of poorly built distributions began to dampen his early enthusiasm, however. Deciding that the best way to get involved was to build a version free of additives, Murdock set about putting a list of the best free software tools available with the intention of folding them into his own distribution. ``I wanted something that would live up to the Linux name,'' Murdock says.
\fi
\ifdefined\chs
默多克,作为一名Unix程序员,还记得他第一次在家里的PC电脑上下载安装Linux时被这个系统“扫地出门”的情景。“这是一件充满乐趣的事情”,他说,”这让我感觉到自己参与到了这个项目中。“然而,各种低质发行版的泛滥渐渐消耗了他的早期的热情。默多克认为,最好的参与到这个项目中的方式是开发一个不添加任何额外组件的Linux发行版,由于他开始收集各种最好的自由软件工具,打算把它们整合到他自己的发行版中。默多克说,我希望能创造出一个对得起Linux这个名字的系统。
\fi
\ifdefined\eng
In a bid to ``stir up some interest,'' Murdock posted his intentions on the Internet, including Usenet's comp.os.linux newsgroup. One of the first responding email messages was from \url{rms@ai.mit.edu}. As a hacker, Murdock instantly recognized the address. It was Richard M. Stallman, founder of the GNU Project and a man Murdock knew even back then as ``the hacker of hackers.'' Seeing the address in his mail queue, Murdock was puzzled. Why on Earth would Stallman, a person leading his own operating-system project, care about Murdock's gripes over ``Linux'' distributions?
\fi
\ifdefined\chs
为了“激起兴趣”,默多克在网上发布了他的想法,包括在comp.os.linux这个Usenet的新闻组中。最早回复他的电子邮件中有一封来自rms@ai.mit.edu。作为一个黑客,默多克立刻就认出了这个邮件地址。这就是理查德·斯托曼,GNU工程的创始人,一个在默多克心目中被认为是”黑客中的黑客“的人物。在邮件地址列表中看到他的邮件地址,默多克感到有点疑惑。为什么斯托曼这个正在引领自己的操作系统工程的人物,会关心默多克对于Linux的所发的牢骚?
\fi
\ifdefined\eng
Murdock opened the message.
\fi
\ifdefined\chs
默多克打开了这封邮件。
\fi
\ifdefined\eng
``He said the Free Software Foundation was starting to look closely at Linux and that the FSF was interested in possibly doing a Linux [\textit{sic}] system, too. Basically, it looked to Stallman like our goals were in line with their philosophy.''
\fi
\ifdefined\chs
"他说自由软件基金会正在开始进一步关注Linux,并很有兴趣基于Linux [\textit{sic}] 来完成一个操作系统。总体上来看,好像斯托曼对我们的目标很有兴趣,是他们的哲学中的一部分。"
\fi
\ifdefined\eng
Not to overdramatize, the message represented a change in strategy on Stallman's part. Until 1993, Stallman had been content to keep his nose out of Linux affairs. After first hearing of the new kernel, Stallman asked a friend to check its suitability. Recalls Stallman, ``He reported back that the software was modeled after System V, which was the inferior version of Unix. He also told me it wasn't portable.''
\fi
\ifdefined\chs
这封信展现了斯托曼立场的360度大转弯。在1993年之前,斯托曼一直都不干涉Linux社区的事务。事实上,当Linux在1991看开始出现在Unix编程的范畴中开始,他都总是回避这个操作系统。斯托曼说,当他得知有一个可以在PC平台上运行的类Unix系统时,他找了一个朋友帮忙去了解这个系统的相关情况。“他汇报说这个系统是以System V的作为原型的,这是一个比较低劣的Unix版本。并且,他告诉我,这个系统是不可移植的。”
\fi
\ifdefined\eng
The friend's report was correct. Built to run on 386-based machines, Linux was firmly rooted to its low-cost hardware platform. What the friend failed to report, however, was the sizable advantage Linux enjoyed as the only free kernel in the marketplace. In other words, while Stallman spent the next year and a half listening to progress reports from the Hurd developer, reporting rather slow progress, Torvalds was winning over the programmers who would later uproot and replant Linux and GNU onto new platforms.
\fi
\ifdefined\chs
那个朋友的报告并不正确。Linux虽然是为基于386的机器设计,Linux同样是生根于低成本的平台。他的朋友没有发现Linux一个重大的优势,那就是它是当时市面上唯一个一个可以自由修改的操作系统。换句话说,在接下来的三年时间中,当斯托曼还在听取Hurd团队的Bug报告时,托瓦兹正在赢得广大程序员的支持,他们后来成为把Linux移植到各种新的硬件平台的中坚力量。
\fi
\ifdefined\eng
By 1993, the GNU Project's failure to deliver a working kernel was leading to problems both within the GNU Project and in the free software movement at large. A March, 1993, \textit{Wired} magazine article by Simson Garfinkel described the GNU Project as ``bogged down'' despite the success of the project's many tools.\endnote{See Simson Garfinkel, ``Is Stallman Stalled?'' \textit{Wired} (March, 1993).} Those within the project and its nonprofit adjunct, the Free Software Foundation, remember the mood as being even worse than Garfinkel's article let on. ``It was very clear, at least to me at the time, that there was a window of opportunity to introduce a new operating system,'' says Chassell. ``And once that window was closed, people would become less interested. Which is in fact exactly what happened.''\endnote{Chassell's concern about there being a 36-month ``window'' for a new operating system is not unique to the GNU Project. During the early 1990s, free software versions of the Berkeley Software Distribution were held up by Unix System Laboratories' lawsuit restricting the release of BSD-derived software. While many users consider BSD offshoots such as FreeBSD and OpenBSD to be demonstrably superior to GNU/Linux both in terms of performance and security, the number of FreeBSD and OpenBSD users remains a fraction of the total GNU/Linux user population.
To view a sample analysis of the relative success of GNU/Linux in relation to other free software operating systems, see the essay by New Zealand hacker, Liam Greenwood, ``Why is Linux Successful'' (1999), \url{http://www.freebsddiary.org/linux.php}.
}
\fi
\ifdefined\chs
直到1993年,GNU工程还是没能发布一个可以使用的操作系统内核,对于GNU工程甚至于自由软件运动本身都产生了不小的影响。1993年3月,辛姆森·加芬克尔在《\textit{连线}》杂志上发表了一篇文章,把GNU工程描述为一个“深陷泥沼”的项目,全然无视这个项目中所创造出来的那些成功的工具。\endnote{参考辛姆森·加芬克尔的文章, "斯托曼深陷泥沼?" ,连线杂志 (1993年3月)。} 这个项目和作为这个项目非营性的赞助商的自由软件基金会的成员回忆说,当时的心情比加芬克尔的文章本身造成的伤害还要不好,“情况很明显,至少对于那时的我来说是这样,那就是引入一个全新的操作系统需要一个时间窗口”,查瑟尔说,“一旦错过了个时间窗口,人们对新的系统就不会有太大的兴趣,这也正是现在正在发生的情况。"\endnote{...............................................}
\fi
\ifdefined\eng
Much has been made about the GNU Project's struggles during the 1990-1993 period. While some place the blame on Stallman for those struggles, Eric Raymond, an old friend of Stallman's who supported the GNU Project lukewarmly, says the problem was largely institutional. ``The FSF got arrogant,'' Raymond says. ``They moved away from the goal of doing a production-ready operating system to doing operating-system research.'' Even worse, ``They thought nothing outside the FSF could affect them.''
\fi
\ifdefined\chs
1990-1993年工作期间,GNU工程一直处在挣扎中。有些人为此批评斯托曼,但GNU Emacs早期团队中的一员并后来成为斯托曼批评家的Eric Raymond认为,问题的主要原因是体制上的。“自由软件基金会太骄傲了”,雷蒙德说。“他们把自己的目标从一个成熟的操作系统上转移到了进行操作系统的研究工具”,更糟糕的事,“他们认为除了自由软件基金会以外没人可以影响他们。”
\fi
\ifdefined\eng
Murdock adopts a more charitable view. ``I think part of the problem is they were a little too ambitious and they threw good money after bad,'' he says. ``Micro-kernels in the late 80s and early 90s were a hot topic. Unfortunately, that was about the time that the GNU Project started to design their kernel. They ended up with a lot of baggage and it would have taken a lot of backpedaling to lose it.''
\fi
\ifdefined\chs
默多克,作为一名并不参与GNU工程内部运作的人,更具有包容的观点。"我认为问题的一方面是他们有点过于好高骛远,把钱投入了不正确的地方。”他说。“微内核在80年代和90年代初期是一个热门的话题。很不幸的是那正是GNU工程开始设计他们的内核的时间,结果就是带来了很多的包袱,这些包袱很难被轻易甩掉。”
\fi
\ifdefined\eng
Stallman responds, ``Although the emotions Raymond cites come from his imagination, he's right about one cause of the Hurd's delay: the Hurd developer several times redesigned and rewrote large parts of the code based on what he had learned, rather than trying to make the Hurd run as soon as possible. It was good design practice, but it wasn't the right practice for our goal: to get something working ASAP.''
\fi
\ifdefined\chs
...................
\fi
\ifdefined\eng
Stallman cites other issues that also caused delay. The Lotus and Apple lawsuits claimed much of his attention; this, coupled with hand problems that prevented him from typing for three years, mostly excluded Stallman from programming. Stallman also cites poor communication between various portions of the GNU Project. ``We had to do a lot of work to get the debugging environment to work,'' he recalls. ``And the people maintaining GDB at the time were not that cooperative.'' They had given priority to supporting the existing platforms of GDB's current users, rather than to the overall goal of a complete GNU system.
\fi
\ifdefined\chs
斯托曼引用了一些客观因素来解释延期的原因。莲花公司和苹果公司的官司带来了政治上的分心,这使得斯托曼不能全心投入到Hurd的团队中去。斯托曼还说,GNU工程中各个部分之间缺乏有效的沟通。“我们做了很多的工作才使调试环境可以正常工作起来。”他回忆道,“而那时维护GDB的团队又并不是很合作。”
\fi
\ifdefined\eng
Most fundamentally, however, Stallman says he and the Hurd developers underestimated the difficulty of developing the Unix kernel facilities on top of the Mach microkernel. ``I figured, OK, the [Mach] part that has to talk to the machine has already been debugged,'' Stallman says, recalling the Hurd team's troubles in a 2000 speech. ``With that head start, we should be able to get it done faster. But instead, it turned out that debugging these asynchronous multithreaded programs was really hard. There were timing bugs that would clobber the files, and that's no fun. The end result was that it took many, many years to produce a test version.''\endnote{See Maui High Performance Computing Center Speech.
In subsequent emails, I asked Stallman what exactly he meant by the term ``timing bugs.'' Stallman said ``timing errors'' was a better way to summarize the problem and offered an elucidating technical information of how a timing error can hamper an operating system's performance:
\begin{quote}
``Timing errors'' occur in an asynchronous system where jobs done in parallel can theoretically occur in any order, and one particular order leads to problems.
Imagine that program A does X, and program B does Y, where both X and Y are short routines that examine and update the same data structure. Nearly always the computer will do X before Y, or do Y before X, and then there will be no problem. On rare occasions, by chance, the scheduler will let program A run until it is in the middle of X, and then run B which will do Y. Thus, Y will be done while X is half-done. Since they are updating the same data structure, they will interfere. For instance, perhaps X has already examined the data structure, and it won't notice that there was a change. There will be an unreproducible failure, unreproducible because it depends on chance factors (when the scheduler decides to run which program and how long).
The way to prevent such a failure is to use a lock to make sure X and Y can't run at the same time. Programmers writing asynchronous systems know about the general need for locks, but sometimes they overlook the need for a lock in a specific place or on a specific data structure. Then the program has a timing error.
\end{quote}}
\fi
\ifdefined\chs
但是,斯托曼也说,他和其它GNU工程的成员低估了把Mach微内核扩展成为一个完整的Unix内核的难度。“我以为Marh内核中与硬件通信的部分已经调试无误了。”斯托曼在2000年一次演讲中回忆Hurd团遇到的问题时说。“如果有这个为基础,我们可以进展的更为顺利一些”。但是,事实上,调试这些异步的多线程程序非常困难。一些时序处理上的问题会导致文件损坏,这一点也不好玩。最终的结果就是,我们花了很多很多年的时间,还是只能发布出一个测试的版本。"\endnote{参考他在茂宜高性能计算中心的演讲。
。。。。。。。。。。。。。}
\fi
\ifdefined\eng
Over time, the growing success of GNU together with Linux made it clear that the GNU Project should get on the train that was leaving and not wait for the Hurd. Besides, there were weaknesses in the community surrounding GNU/Linux. Sure, Linux had been licensed under the GPL, but as Murdock himself had noted, the desire to treat GNU/Linux as a purely free software operating system was far from unanimous. By late 1993, the total GNU/Linux user population had grown from a dozen or so enthusiasts to somewhere between 20,000 and 100,000.\endnote{GNU/Linux user-population numbers are sketchy at best, which is why I've provided such a broad range. The 100,000 total comes from the Red Hat ``Milestones'' site, \url{http://www.redhat.com/about/corporate/milestones.html}.} What had once been a hobby was now a marketplace ripe for exploitation, and some developers had no objection to exploiting it with nonfree software. Like Winston Churchill watching Soviet troops sweep into Berlin, Stallman felt an understandable set of mixed emotions when it came time to celebrate the GNU/Linux ``victory.''\endnote{I wrote this Winston Churchill analogy before Stallman himself sent me his own unsolicited comment on Churchill:
\fi
\ifdefined\chs
....................
\fi
\ifdefined\eng
\begin{quote}
World War II and the determination needed to win it was a very strong memory as I was growing up. Statements such as Churchill's, ``We will fight them in the landing zones, we will fight them on the beaches\ldots we will never surrender,'' have always resonated for me.
\end{quote}}
\fi
\ifdefined\chs
.....................
\fi
\ifdefined\eng
Although late to the party, Stallman still had clout. As soon as the FSF announced that it would lend its money and moral support to Murdock's software project, other offers of support began rolling in. Murdock dubbed the new project Debian -- a compression of his and his wife, Deborah's, names -- and within a few weeks was rolling out the first distribution. ``[Richard's support] catapulted Debian almost overnight from this interesting little project to something people within the community had to pay attention to,'' Murdock says.
\fi
\ifdefined\chs
虽说是赶了个晚集,斯托曼还是有着巨大的影响力。当自由软件基金会宣布它会向默多克的软件项目提供资金和精神支持时,其它各方面的支持也开始源源不断的涌入。默多克启动了一个名为Debian的新项目,这个项目的名字是用他和他夫人Deborah的名字构成的。在短短的几个星期后,这个项目就发布了第一个版本。“[理查德的帮助]使得这个出于个人兴趣开发的小小的项目在一夜间变成了社区中每一个人都很关注的明星项目。” 默多克说。
\fi
\ifdefined\eng
In January of 1994, Murdock issued the \textit{Debian Manifesto}. Written in the spirit of Stallman's \textit{GNU Manifesto} from a decade before, it explained the importance of working closely with the Free Software Foundation. Murdock wrote:
\fi
\ifdefined\chs
1994年1月,默多克发布了“\textit{Debian宣言}”, 这个宣言与斯托曼十年前发布的“\textit{GNU宣言}”在精神上非常一致,它解释了与自由软件基金会紧密合作的重要性。默多克写道:
\fi
\ifdefined\eng
\begin{quote}
The Free Software Foundation plays an extremely important role in the future of Debian. By the simple fact that they will be distributing it, a message is sent to the world that Linux [\textit{sic}] is not a commercial product and that it never should be, but that this does not mean that Linux will never be able to compete commercially. For those of you who disagree, I challenge you to rationalize the success of GNU Emacs and GCC, which are not commercial software but which have had quite an impact on the commercial market regardless of that fact.
\fi
\ifdefined\chs
自由软件基金会对于Debian的未来具有非常重要的意义。一方面他们可以帮助分发Debian,向全世界发出信号,Linux不是也不应该是一个商业的产品,但这并不意味着Linux就不如商业产品。如果你们有人不同意这个观点,我可以以GNU Emacs和GCC的例子来证明,它们都不是商业软件,但它们都对商业市场产生了重大的影响。
\fi
\ifdefined\eng
The time has come to concentrate on the future of Linux [\textit{sic}] rather than on the destructive goal of enriching oneself at the expense of the entire Linux community and its future. The development and distribution of Debian may not be the answer to the problems that I have outlined in the \textit{Manifesto}, but I hope that it will at least attract enough attention to these problems to allow them to be solved.\endnote{See Ian Murdock, \textit{A Brief History of Debian}, (January 6, 1994): Appendix A, ``The Debian Manifesto,'' \url{http://www.debian.org/doc/manuals/project-history/ap-manifesto.en.html}.}
\end{quote}
\fi
\ifdefined\chs
已经到了集中精力关注Linux [\textit{sic}]的未来的时候了,不应该以Linux社区毁灭和它的未来的消亡作为代价来实现个人富裕的目标。虽然开发和发布Debian也许并不能回答我在宣言中提出的问题,但我希望它至少可以帮心大家更多关注这些问题并帮助解决它们。\endnote{.............................}
\fi
\ifdefined\eng
Shortly after the \textit{Manifesto's} release, the Free Software Foundation made its first major request. Stallman wanted Murdock to call its distribution ``GNU/Linux.'' At first, Stallman proposed the term ``Lignux'' -- combining the names Linux and GNU -- but the initial reaction was very negative, and this convinced Stallman to go with the longer but less criticized GNU/Linux.
\fi
\ifdefined\chs
\textit{宣言}发布后不久,自由软件基金会提出一个要求。斯托曼希望默多克把他的发行版叫作“GNU/Linux”。默多克说,刚开始的时候,斯托曼曾希望他们使用“Lignux”这个名字,表示GNU是Linux系统的心脏。但是这个名字在Usenet和一些即席的黑客团体中调查中得到的嘘声迫使斯托曼退而求其次,改用GNU/Linux这个相对自然一点的名字。
\fi
\ifdefined\eng
Some dismissed Stallman's attempt to add the ``GNU'' prefix as a belated quest for credit, never mind whether it was due, but Murdock saw it differently. Looking back, Murdock saw it as an attempt to counteract the growing tension between the GNU Project's developers and those who adapted GNU programs to use with the Linux kernel. ``There was a split emerging,'' Murdock recalls. ``Richard was concerned.''
\fi
\ifdefined\chs
....................
\fi
\ifdefined\eng
By 1990, each GNU program had a designated maintainer-in-charge. Some GNU programs could run on many different systems, and users often contributed changes to port them to another system. Often these users knew only that one system, and did not consider how to keep the code clean for other systems. To add support for the new system while keeping the code comprehensible, so it could be maintained reliably for all systems, then required rewriting much of the changes. The maintainer-in-charge had the responsibility to critique the changes and tell their user-authors how to redo parts of the port. Generally they were eager to do this so that their changes would be integrated into the standard version. Then the maintainer-in-charge would edit in the reworked changes, and take care of them in future maintenance. For some GNU programs, this had happened dozens of times for dozens
of different systems.
\fi
\ifdefined\chs
...........................
\fi
\ifdefined\eng
The programmers who adapted various GNU programs to work with the kernel Linux followed this common path: they considered only their own platform. But when the maintainers-in-charge asked them to help clean up their changes for future maintenance, several of them were not interested. They did not care about doing the correct thing, or about facilitating future maintenance of the GNU packages they had adapted. They cared only about their own versions and were inclined to maintain them as forks.
\fi
\ifdefined\chs
.........................
\fi
\ifdefined\eng
In the hacker world, forks are an interesting issue. Although the hacker ethic permits a programmer to do anything he wants with a given program's source code, it is considered correct behavior to offer to work with the original developer to maintain a joint version. Hackers usually find it useful, as well as proper, to pour their improvements into the program's principal version. A free software license gives every hacker the right to fork a program, and sometimes it is necessary, but doing so without need or cause is considered somewhat rude.
\fi
\ifdefined\chs
在黑客的世界中,分支是一个很有意思的现象。虽然黑客伦理中允许一个程序员对程序的代码做任何的改进,大部分黑客都希望自己的改动能进入程序源代码的主干中,这样才能保证与其它的人程序有最大程度上的兼容。在Linux开发的初期就对glibc创建分支就意味着可能会失去成百上千的Linux开发者。这也会造成Linux与斯托曼和GNU团队期望开发出的GNU系统之间的不兼容性。
\fi
\ifdefined\eng
As leader of the GNU Project, Stallman had already experienced the negative effects of a software fork in 1991. Says Stallman, ``Lucid hired several people to write improvements to GNU Emacs, meant to be contributions to it; but the developers did not inform me about the project. Instead they designed several new features on their own. As you might expect, I agreed with some of their decisions and disagreed with others. They asked me to incorporate all their code, but when I said I wanted to use about half of it, they declined to help me adapt that half to work on its own. I had to do it on my own.'' The fork had given birth to a parallel version, Lucid Emacs, and hard feelings all around.\endnote{Jamie Zawinski, a former Lucid programmer who would go on to head the Mozilla development team, has a web site that documents the Lucid/GNU Emacs fork, titled, ``The Lemacs/FSFmacs Schism.'', at \url{http://www.jwz.org/doc/lemacs.html}. Stallman's response to those accusations is in \url{http://stallman.org/articles/xemacs.origin}.}
\fi
\ifdefined\chs
作为GNU工程的领导者,斯托曼早在1991年时就体会到了创建软件分支的不良后果了。那时候,有一批就职于Lucid公司的Emacs开发人员与斯托曼闹翻了,因为斯托曼不原意把他们对Emacs代码修改合入Emacs代码主干,于是他们不得不创建了一个名为Lucid Emacs的分支版本。\endnote{.............................}
\fi
\ifdefined\eng
Now programmers had forked several of the principal GNU packages at once. At first, Stallman says he considered the forks to be a product of impatience. In contrast to the fast and informal dynamics of the Linux team, GNU source-code maintainers tended to be slower and more circumspect in making changes that might affect a program's long-term viability. They also were unafraid of harshly critiquing other people's code. Over time, however, Stallman began to sense that there was an underlying lack of awareness of the GNU Project and its objectives when reading Linux developers' emails.
\fi
\ifdefined\chs
......................
\fi
\ifdefined\eng
``We discovered that the people who considered themselves `Linux users' didn't care about the GNU Project,'' Stallman says. ``They said, `Why should I bother doing these things? I don't care about the GNU Project. It [the program]'s working for me. It's working for us Linux users, and nothing else matters to us.' And that was quite surprising, given that people were essentially using a variant of the GNU system, and they cared so little. They cared less than anybody else about GNU.'' Fooled by their own practice of calling the combination ``Linux,'' they did not realize that their system was more GNU than Linux.
\fi
\ifdefined\chs
...........................
\fi
\ifdefined\eng
For the sake of unity, Stallman asked the maintainers-in-charge to do the work which normally the change authors should have done. In most cases this was feasible, but not in glibc. Short for GNU C Library, glibc is the package that all programs use to make ``system calls'' directed at the kernel, in this case Linux. User programs on a Unix-like system communicate with the kernel only through the C library.
\fi
\ifdefined\chs
\fi
\ifdefined\eng
The changes to make glibc work as a communication channel between Linux and all the other programs in the system were major and ad-hoc, written without attention to their effect on other platforms. For the glibc maintainer-in-charge, the task of cleaning them up was daunting. Instead the Free Software Foundation paid him to spend most of a year reimplementing these changes from scratch, to make glibc version 6 work ``straight out of the box'' in GNU/Linux.
\fi
\ifdefined\chs
...............
\fi
\ifdefined\eng
Murdock says this was the precipitating cause that motivated Stallman to insist on adding the GNU prefix when Debian rolled out its software distribution. ``The fork has since converged. Still, at the time, there was a concern that if the Linux community saw itself as a different thing as the GNU community, it might be a force for disunity.''
\fi
\ifdefined\chs
...............
\fi
\ifdefined\eng
While some viewed it as politically grasping to describe the combination of GNU and Linux as a ``variant'' of GNU, Murdock, already sympathetic to the free software cause, saw Stallman's request to call Debian's version GNU/Linux as reasonable. ``It was more for unity than for credit,'' he says.
\fi
\ifdefined\chs
虽然有不少人觉得把Linux看成是GNU工程的一个变种在政治上未免显得有点贪心,默多克却对自由软件情有独钟,他觉得斯托曼要求把Debian称为GNU/Linux是合理的。“团结开发者比争抢名号更为重要”,他说。
\fi
\ifdefined\eng
Requests of a more technical nature quickly followed. Although Murdock had been accommodating on political issues, he struck a firmer pose when it came to the design and development model of the actual software. What had begun as a show of solidarity soon became a running disagreement.
\fi
\ifdefined\chs
很快,默多克又收到了一些更为技术化的要求。尽管默多克已经习惯于这些政治化的问题,在实际的软件设计和开发模式上,他仍然坚持他自己的模式。这起先被看成是Debian开发社区一种团结的象征,但是慢慢的这成为Debian社区与GNU工程之间的一些矛盾。
\fi
\ifdefined\eng
``I can tell you that I've had my share of disagreements with him,'' says Murdock with a laugh. ``In all honesty Richard can be a fairly difficult person to work with.'' The principal disagreement was over debugging. Stallman wanted to include debugging information in all executable programs, to enable users to immediately investigate any bugs they might encounter. Murdock thought this would make the system files too big and interfere with distribution. Neither was willing to change his mind.
\fi
\ifdefined\chs
默多克笑着说:“我可以告诉你,在很多方面我与斯托曼的看法都不一致。实事求是的说,理查德是一个很与之合作的人。”。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
\fi
\ifdefined\eng
In 1996, Murdock, following his graduation from Purdue, decided to hand over the reins of the growing Debian project. He had already been ceding management duties to Bruce Perens, the hacker best known for his work on Electric Fence, a Unix utility released under the GPL. Perens, like Murdock, was a Unix programmer who had become enamored of GNU/Linux as soon as the operating system's Unix-like abilities became manifest. Like Murdock, Perens sympathized with the political agenda of Stallman and the Free Software Foundation, albeit from afar.
\fi
\ifdefined\chs
1996年,默多克从普渡大学毕业后,打算找人接手正在蓬勃发展的Debian项目。那时候,他已经把主要的管理职责都转交给了布鲁斯·佩伦斯B,布鲁斯·佩伦斯是以GPL发布的Unix下一个知名的软件Electric Fence的作者。佩伦斯与默多克一样,当GNU/Linux的与Unix的巨大相似性一经展现就喜欢上了它。他也和默多克一样,对斯托曼和自由软件基金会的政治目标抱有极大的兴趣,即使还有没有真正与他们有过实际的接触。
\fi
\ifdefined\eng
``I remember after Stallman had already come out with the \textit{GNU Manifesto}, GNU Emacs, and GCC, I read an article that said he was working as a consultant for Intel,'' says Perens, recalling his first brush with Stallman in the late 1980s. ``I wrote him asking how he could be advocating free software on the one hand and working for Intel on the other. He wrote back saying, `I work as a consultant to produce free software.' He was perfectly polite about it, and I thought his answer made perfect sense.''
\fi
\ifdefined\chs
“我记得斯托曼设计出了《\textit{GNU宣言}》,GNU Emcas和GCC后,有篇文章说他正在为Intel提供咨询服务。”佩伦斯说,回忆起他在80年代末期第一次与斯托曼接触的情景。“我写信给他,问他是怎么做到一方面宣扬自由软件又一方面为Intel工作的。他回信说:我是作为Intel开发自由软件的咨询师身份为他工作的。他的回答很有礼貌,而且也很有道理。“
\fi
\ifdefined\eng
As a prominent Debian developer, however, Perens regarded Murdock's design battles with Stallman with dismay. Upon assuming leadership of the development team, Perens says he made the command decision to distance Debian from the Free Software Foundation. ``I decided we did not want Richard's style of micro-management,'' he says.
\fi
\ifdefined\chs
然而,作为一个杰出的Debian开发者,佩伦斯对于默多克和斯托曼之间的设计斗争感到失望。作为开发团队的领导者,佩伦斯说他决定让Debian与自由软件基金会保持距离。他说,“我决定不采用理查德风格的微管理模式。”
\fi
\ifdefined\eng
According to Perens, Stallman was taken aback by the decision but had the wisdom to roll with it. ``He gave it some time to cool off and sent a message that we really needed a relationship. He requested that we call it GNU/Linux and left it at that. I decided that was fine. I made the decision unilaterally. Everybody breathed a sigh of relief.''
\fi
\ifdefined\chs
佩伦斯表示,斯托曼对这样的决定大吃一惊,但仍然有能力去驾驭它。“他给了我们一些时间冷静下来,然后发了一个邮件说我们需要建立一种合作关系。他要求我们把这个系统叫作GNU/Linux,并一直这样称呼它。我觉得这样是可以的。我单方面做出了这样的决定,每个人都舒了一口气。
\fi
\ifdefined\eng
Over time, Debian would develop a reputation as the hacker's version of GNU/Linux, alongside Slackware, another popular distribution founded during the same 1993-1994 period. However, Slackware contained some nonfree programs, and Debian after its separation from GNU began distributing non-free programs too.\endnote{Debian Buzz in June 1996 contained non-free Netscape 3.01 in its Contrib section.} Despite labeling them as ``non-free'' and saying that they were ``not officially part of Debian,'' proposing these programs to the user implied a kind of endorsement for them. As the GNU Project became aware of these policies, it came to recognize that neither Slackware nor Debian was a GNU/Linux distro it could recommend to the public.
\fi
\ifdefined\chs
在很长的一段时间里,Debian都被看成是最适合黑客们的Linux发行版之一,在1993至1994年这段时间,Slackware也是一个非常流行的发行版。.......................................
\fi
\ifdefined\eng
Outside the realm of hacker-oriented systems, however, GNU/Linux was picking up steam in the commercial Unix marketplace. In North Carolina, a Unix company billing itself as Red Hat was revamping its business to focus on GNU/Linux. The chief executive officer was Robert Young, the former \textit{Linux Journal} editor who in 1994 had put the question to Linus Torvalds, asking whether he had any regrets about putting the kernel under the GPL. To Young, Torvalds' response had a ``profound'' impact on his own view toward GNU/Linux. Instead of looking for a way to corner the GNU/Linux market via traditional software tactics, Young began to consider what might happen if a company adopted the same approach as Debian -- i.e., building an operating system completely out of free software parts. Cygnus Solutions, the company founded by Michael Tiemann and John Gilmore in 1990, was already demonstrating the ability to sell free software based on quality and customizability. What if Red Hat took the same approach with GNU/Linux?
\fi
\ifdefined\chs
虽然Linux不是一个真正意义上面向黑客的系统,但是Linux在商业Unix的市场中也找到了自己的位置。在北卡罗莱纳州,一个名叫Red Hat的Unix公司,把他们的注意力慢慢转向了Linux。Red Hat的首席执行官是罗伯特·杨,他是前\textit{Linux杂志}的编辑,并在1994年时采访过林纳斯·托瓦兹,问他对于把内核以GPL来发布是否后悔。对于杨来说,托瓦兹的回答让他对Linux有了进一步深层次的认识,他不再寻求通过传统软件销售策略的方式把GNU/Linux边缘化,而是开始考虑如果一家公司像Debian那样思考问题,会出现什么情况。比如,发布一个完全由自由软件构成的操作系统。1990年,迈克尔·蒂曼和约翰·吉尔摩成立的Cygnus Solutions的公司,早已经向世人证明通过销售自由软件相关的定制化服务是可以盈利的。如果Red Hat对于GNU/Linux采用类似的策略会如何?
\fi
\ifdefined\eng
``In the western scientific tradition we stand on the shoulders of giants,'' says Young, echoing both Torvalds and Sir Isaac Newton before him. ``In business, this translates to not having to reinvent wheels as we go along. The beauty of [the GPL] model is you put your code into the public domain.\endnote{Young uses the term ``public domain'' loosely here. Strictly speaking, it means ``not copyrighted.'' Code released under the GNU GPL cannot be in the public domain, since it must be copyrighted in order for the GNU GPL to apply.} If you're an independent software vendor and you're trying to build some application and you need a modem-dialer, well, why reinvent modem dialers? You can just steal PPP off of Red Hat [GNU/]Linux and use that as the core of your modem-dialing tool. If you need a graphic tool set, you don't have to write your own graphic library. Just download GTK. Suddenly you have the ability to reuse the best of what went before. And suddenly your focus as an application vendor is less on software management and more on writing the applications specific to your customer's needs.'' However, Young was no free software activist, and readily included nonfree programs in Red Hat's GNU/Linux system.
\fi
\ifdefined\chs
“在西方的科学传统上,我们需要站在巨人的肩膀上。”杨说,指的是托瓦兹和艾萨克·牛顿爵士。“在商业上,这就告诫我们,应该在前进的途中避免重新造轮子。GPL模式的美在于把你的代码放入公有领域。\endnote{杨在这里使用了“公有领域”一词,是不严谨的。严格来说,这个词的含义是“不受版权保护”。以GNU GNPL许可证发布的代码并没有进入公有领域,因为它必须要保留版权,这样才能对它应用GNU GPL。}如果你是一个独立软件提供商并且想开发一些软件,你需要一个调制解调器拨号程序,但是你没有必须重新开发一个拨号程序。你可以直接从Red Hat Linux中“盗取”PPP的实现,并把它作为你的拨号程序的核心。如果你需要一个图形工具集,你不需要重新去实现一个你自己的图形库。你只需要下载GTK,就可以立刻应用前人的最佳成果。于是,你就可以专心做你的软件提供商,少花一点时间在软件管理上,而多花一些时间在你客户所想要的功能上。”
\fi
\ifdefined\eng
Young wasn't the only software executive intrigued by the business efficiencies of free software. By late 1996, most Unix companies were starting to wake up and smell the brewing source code. The GNU/Linux sector was still a good year or two away from full commercial breakout mode, but those close enough to the hacker community could feel it: something big was happening. The Intel 386 chip, the Internet, and the World Wide Web had hit the marketplace like a set of monster waves; free software seemed like the largest wave yet.
\fi
\ifdefined\chs
杨并不是唯一一个从自由软件的高效性中受到启发的CEO。1996年末,大部分Unix公司开始清醒过来,并嗅到了源代码的香味。那时候,Linux距离成为一个完整的商用操作系统还有一两年的路要走,但是黑客社区还是感觉到这一天已经离得很近了:一场巨大的变革即将到来。Intel 386芯片,Internet和万维网像一波怪物到来一样深入的影响了整个市场,而Linux这个可以自由使用其源代码并以宽松的许可证发布的程序包,则是这一波怪物中最大的一个。
\fi
\ifdefined\eng
For Ian Murdock, the wave seemed both a fitting tribute and a fitting punishment for the man who had spent so much time giving the free software movement an identity. Like many Linux aficionados, Murdock had seen the original postings. He'd seen Torvalds' original admonition that Linux was ``just a hobby.'' He'd also seen Torvalds' admission to Minix creator Andrew Tanenbaum: ``If the GNU kernel had been ready last spring, I'd not have bothered to even start my project.''\endnote{This quote is taken from the much-publicized Torvalds-Tanenbaum ``flame war'' following the initial release of Linux. In the process of defending his choice of a nonportable monolithic kernel design, Torvalds says he started working on Linux as a way to learn more about his new 386 PC. ``If the GNU kernel had been ready last spring, I'd not have bothered to even start my project.'' See Chris DiBona et al., \textit{Open Sources} (O'Reilly \& Associates, Inc., 1999): 224.} Like many, Murdock knew that some opportunities had been missed. He also knew the excitement of watching new opportunities come seeping out of the very fabric of the Internet.
\fi
\ifdefined\chs
对于试图讨好斯托曼但后来又厌恶斯托曼的徽管理风格的伊恩·默多克来说,他在自由软件运动中花费了很多的精力,这波变革看上去既是对他的赞美又是对他的惩罚。与很多Linux发烧友一样,默多克看到过托瓦兹最初的那个帖子,他看到过托瓦兹最初把Linux看作是“兴趣爱好”的想法。他也看到过托瓦兹对Minix创造者安德鲁·塔嫩鲍姆的敬意:“如果GNU内核在去年春天时就已经完成,我就不会再启动我自己的这个项目”\endnote{..................} 很多人一样,默多克知道,这种好机会已经错过了。他也看到了Internet即将带来的巨大的机遇。
\fi
\ifdefined\eng
``Being involved with Linux in those early days was fun,'' recalls Murdock. ``At the same time, it was something to do, something to pass the time. If you go back and read those old [comp.os.minix] exchanges, you'll see the sentiment: this is something we can play with until the Hurd is ready. People were anxious. It's funny, but in a lot of ways, I suspect that Linux would never have happened if the Hurd had come along more quickly.''
\fi
\ifdefined\chs
“在早期参与到Linux项目中充满着乐趣“,默多克回忆到。“在同一段时间,有些东西在向前进步,有些东西则成为过眼烟云。如果你回头去看看[comp.os.minix]上那些老贴子,你会看到这样的观点:这是在Hurd开发完成前我们可以先玩着的东西。人们总是性急的。它很好玩,但是如果HURD来得更早一些的话,我想Linux可能就根本不会出现。”
\fi
\ifdefined\eng
By the end of 1996, however, such ``what if'' questions were already moot, because Torvalds' kernel had gained a critical mass of users. The 36-month window had closed, meaning that even if the GNU Project had rolled out its Hurd kernel, chances were slim anybody outside the hard-core hacker community would have noticed. Linux, by filling the GNU system's last gap, had achieved the GNU Project's goal of producing a Unix-like free software operating system. However, most of the users did not recognize what had happened: they thought the whole system was Linux, and that Torvalds had done it all. Most of them installed distributions that came with nonfree software; with Torvalds as their ethical guide, they saw no principled reason to reject it. Still, a precarious freedom was available for those that appreciated it.
\fi
\ifdefined\chs
1996年底,这些“万一”问题已经盖棺定论。称呼它为Linux或是GNU/Linux,用户们已经用行动证明了。36个月的时间窗口已经关闭,意味着即使GNU工程可以开发出HURD内核,除了GNU的核心黑客们也不会有更多人会注意它。第一个类Unix的自由软件操作系统就在这里,并且充满活力。黑客们所要做的就是安静的坐下来,等待下一波新的想法出现在他们的头脑中。即使是长着蓬乱的头发的理查德.斯托曼本人也不例外。....................
\fi
\theendnotes
\setcounter{endnote}{0}