网名的问题值得深思。将身份隐藏在虚假的名字后是骇客、软件破解者、及其他低等生物幼稚愚蠢的行为。黑客不会做这些事;他们对他们所作的感到骄傲,而且乐于人们将作品与他们的真名相联系。因此, 如果你现在还在使用假名,那就放弃它吧。在黑客文化里假名是失败者的标记。
关于黑客、开源、以及自由软件的历史
1996 年我开始写这篇 HOWTO,那时候的大环境和现在很不一样。这里会给你简单介绍一下相关的历史变迁,这样大致可以澄清一下开源软件、自由软件、以及 Linux 和黑客圈的关系。如果你对这些不感兴趣,你可以直接跳过这一节,继续读下面的 FAQ。
我在这里所描述黑客精神和社会远远早于1990 Linux 出现的时候,我第一次涉足黑客圈是 1976 年,而究其根源则可追溯到20世纪60年代初。但在 Linux 出现之前,大多数黑客使用的操作系统要么是私有的商业版本,要么是自己开发的未得到广泛使用的系统(例如麻省理工学院的 ITS 系统)。虽然那时也有人想要改变这种状况,但他们的努力影响范围相当有限,充其量仅在某个黑客社区有少数忠实用户而已。
现在所谓“开源”历史和黑客社区的历史几乎一样长,但直到 1985 年前,它只是一种没有固定称谓的习惯做法,而不是一套有理论做后盾,有宣言做前锋的自觉运动。这种状态在 1985年结束了,长老级黑客 Richard Stallman(也被称为“RMS”)将其命名为“自由软件 (Free Software)”。这种命名也是一种宣言的方式,不过大多数黑客社区都不接收这种包含明显思想烙印的标签。因此而大多数现有的黑客社区从来没有接受。结果,“自由软件”这一标签被黑客社群中声音较大的少数人(尤其是 BSD Unix 的相关人士)拒绝掉了,而剩下的大部分人(包括我)虽然也有保留意见,可也还是沿用了这一称谓。
尽管很多人存在保留意见,RMS 的“自由软件”的大旗也一直举到了 1990 年代中期。直到 Liunx 崛起时它才受到了重大挑战。Linux 给了的开源开发者一个新的自然归宿,很多项目都已我们现称的开源的方式由 Unix 移植到了 Linux 系统中。Linux 的社区也得到了爆炸性增长,成为了一个比以前黑客文化更为庞大,并且异质化的新的群体。RMS 曾今尝试将这一社群也归并到他的“自由软件运动”大旗下,但终究没有成功,原因可以归于 Linux 社区的样性,以及 Linus Torvalds 本人的质疑。Torvalds 公开拒绝了 RMS 的自由软件思想,但还是沿用了“自由软件”这一术语,这也引来了很多年轻黑客的效仿。
1996年,当我第一次发表这篇 HOWTO 的时候,黑客社团正在围绕着 Linux 和其它几个开源操作系统(尤其是 BSD Unix 的衍生系统)进行着快速的重组。几十年来围绕着闭源系统进行闭源开发的方式还没有开始淡出集体记忆,但在大家看来,这似乎已经是死去的历史了。越来越多的黑客都已经开始注重自己在开源项目(例如 Linux、Apache 等)上的贡献,并将这些贡献当做自己的成就。
然而在那个时候“开源”这一名词还没有出现。这个名词是 1998 年初才开始出现的,而在出现的半年内,大部分的黑客社区就接受了这一名词,只有少数不接受这一概念的人还在坚持使用“自由软件”这一名词。1998 年以后,或者更准确地说是 2003 年以后,所谓的“hacking” 和 “开源(自由)软件开发”的含义已经非常接近了。从今天的眼光来看,这种区分已经没有意义了,看趋势,这个现状将来也不大可能有多大的改变。
不管怎样,这段变更的历史还是值得记住的。
其它资源
Paul Graham 写了一篇 Great Hackers,还有Undergraduation一篇,里边有充满智慧的言论。
还有一篇叫How To Be A Programmer 的文章,是这篇文章很好的补充。里边的建议不但包括如何提高编程和其它技术,还包含团队合作的窍门。
我还写过一篇 A Brief History Of Hackerdom (译注:黑客文化简史)。
我写了一本The Cathedral and the Bazaar(译注:大教堂与市集),对于 Linux 及开放源代码文化现象有详细的解释。这种现象在我的另一篇 Homesteading the Noosphere (译注:开拓智域)中还有更直接的阐述。
Rick Moen 写了一份很好的关于how to run a Linux user group(译注:如何运营Linux 用户组)的文档。
我和Rick Moen合作完成了另一份关于How To Ask Smart Questions(译注:提问的智慧)的文章,可以让在寻求帮助时得到事半功倍的效果。
如果你想知道 PC、UNIX 及 Internet 基本概念和工作原理,参考The Unix and Internet Fundamentals HOWTO。
当你发布软件或者补丁的时候,请遵照Software Release Practice HOWTO 去做。
如果你对禅诗感兴趣,也许你还喜欢看这篇Rootless Root: The Unix Koans of Master Foo
FAQ(常见问题解答)
怎样才能知道自己已经是一名够格的黑客
你可以问自己下面三个问题: