最近看了Eric S. Raymond的被称为开源文化圣典的'Cathedral and Bazaar'(大教堂与市集)以及他的另外一篇文章'How To Become A Hacker',必须承认的是我不能够完全理解其中的内容,因为没有体验,或者说我还不够资格对Hacker Culture高谈阔论,所以这里仅作部分摘要,并说说自己第一时间的感受,望日后能温故知新。

在开始了解Hacker Culture之前我们应该知道'什么是Hacker'。Hacker不同于Cracker,前者指那些热衷于计算机技术,水平高超的电脑专家,他们把通过自己的实践而获得的知识广泛传播;而后者则尤指那些为了个人利益利用计算机技术搞非法破坏的人。像我们耳熟能详的Hacker先驱包括开源软件运动的发起人Richard M. Stallman、Unix之父Ken Thompson、C语言的发明人之一的Dennis Ritchie、Linux之父Linus Torvalds以及Eric S. Raymond等等。我相信这些人才是从事计算机行业的人们心目中真正的'Hero'。

'Cathedral and Bazaar'可谓是开源世界对Hacker Culture的一个阶段性的小结,当然Hacker Culture还在进化,其内容也在不断的丰富当中。下面是从'Cathedral and Bazaar'摘录的一些我觉得能够代表Hacker Culture的语句:

1.Every good work of software starts by scratching a developer's personal itch.
这里有一个生僻词itch,这个词有'发痒'、'渴望'的意思。这句可理解为“每个好的软件工作都开始于满足开发者个人的渴望或为开发者个人'抓痒'”。Unix的起缘可以很好地证明这一点。而现在的大多数商业软件的开发者则不能归为此类,原因不讲自明。

2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
Linus之所以能独立完成一个操作系统内核,很大原因是因为他没有'从头开始',而是利用已有的优秀设计思想。

3. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
Hacker也要'能上能下'。^_^

4. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
把用户当作协作开发者。

5. Release Early, Release Often
这与4相辅相成,互利互惠。Linux已经展现给我们一个Best实践,其“早发布、常发布策略”的一个效果就是利用快速的传播反馈修订来使重复劳动达到最小。

6. Smart data structures and dumb code works a lot better than the other way around.
优秀的数据结构设计总是至关重要的,在平时的开发中这一点体会破深。Brooks曾幽默地说:"Show me your [code] and conceal your [data structures], and I shall continue to be mystified. Show me your [data structures], and I won’t usually need your [code]; it'll be obvious."

7. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
当你认识到你对问题的理解是错误的,这时不要灰心,因为一个具有革新性的解决方案也许正摆在你的眼前,我想很多人都有过类似的经历,Me,too。

8. "Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away."
是不是颠覆了你以前对好的设计的理解了呢?

9. To solve an interesting problem, start by finding a problem that is interesting to you.
趣之所在,力之所在。

10. Software is developed for peer recognition not for money.
至高无上的境界,不为'铜臭'打工。

这里再列出一条,这是在一位同行给Eric的回复中提到的一条:"杀掉一个项目最快的方法是在你什么都还没有之前就宣布它,我已经见的太多了,尤其是在Linux世界里",看到这一条相信很多曾组织或参与开源项目的人都会深刻的体会到,Me , too。

中国程序员在开源软件世界中的地位大家也都略知一二,我想这或多或少都与我们对Hacker Culture的理解有关。理解和认同'Hacker Culture'是你进入开源世界的第一步,正所谓思想的融入才是真正的融入。

© 2006, bigwhite. 版权所有.

Related posts:

  1. APR源代码分析-线程同步篇
  2. APR分析-线程篇
  3. APR源代码分析-文件IO篇
  4. 一个C++项目的Makefile编写-Tony与Alex的对话系列
  5. 看完“程序员”2005-04期一些想法