黑客原教旨
黑客、骇客、飞客、极客、书呆子、创客,到底谁是谁?先逐一划清界线,再借阮一峰为《黑客与画家》写的译序回到源头:六十年代麻省理工铁路模型俱乐部里的hack,斯托尔曼说的好玩、聪明与探索,利维总结的六条黑客伦理,以及1983年媒体如何把这个词带偏。

现如今,各种名词应接不暇,随潮流演变,有时候很难分清楚。黑客hacker,骇客cracker,飞客phrack,极客geek,书呆子nerd,创客maker,博客blogger,让人眼花缭乱。我们来试着区分一下。
骇客cracker入侵系统,会进行窃取和破坏;黑客hacker会替人修复漏洞
飞客phrack一般是针对电话系统的;黑客hacker是针对计算机系统的(不过现在两者已经没有区别)
极客geek对各种新鲜玩意爱好甚至痴迷,会买来玩,但很少自己动手做,也很少会编程;黑客hacker会自己动手,包括软件和硬件
书呆子nerd不擅长社交或者懒得与人打交道,只痴迷技术;黑客hacker一般都是这种nerd性格
创客maker一般买硬件模块来组装,比如玩3D打印;黑客hacker从硬件到软件都能自己动手做
博客blogger写文章;黑客hacker写程序
本公众号的前面一系列文章中,一直没有用以上的意思正确使用“黑客”一词。确实,黑客这个词的含义已经很混乱了,尤其是在大陆的语言环境里。
十年前,如果有人说黑客就是入侵和破坏人家的计算机系统的人,我会立刻纠正他,告诉他那种行为是骇客Cracker干的,黑客是计算机系统的创建者,是程序员,不干破坏的事。但是传媒和流行文化的力量太大了,造成的影响不可逆转。渐渐的,这么说的人多了,我也懒得纠正了。甚至在英文里,Hacker词义也不再是最初的含义,否则也不需要用白帽子WhiteHat黑帽子BlackHat来区分了。
如果要正本清源,了解黑客的起源和历史、黑客的伦理,要看史蒂文·利维在30年1985年出版的《黑客:计算机革命的英雄》(Hackers:Heroes of the Computer Revolution),书里有详细的描述。

2010年,Paul Graham出版了《黑客与画家》(Hackers and Painters),阮一峰在其翻译的中文版的译者序中,对史蒂文·利维在30年前对黑客的描述进行了汇总,简要而全面,写得很好。有这篇文章,用不着另起炉灶说这件事了。以下是阮一峰的这篇《黑客的定义》(0)。版权归作者所有。
在媒体和普通人的眼里,“黑客”(hacker)就是入侵计算机的人,就是“计算机犯罪”的同义词。但是,这并不是它的真正含义(至少不是原意)。
……为了把这个问题说清楚,有必要从源头上讲起。1946年,第一台电子计算机ENIAC在美国诞生,从此世界上一些最聪明、最有创造力的人开始进入这个行业,在他们身上逐渐地形成了一种独特的技术文化。在这种文化的发展过程中,涌现了很多“行话”(jargon)。20世纪60年代初,麻省理工学院有一个学生团体叫做“铁路模型技术俱乐部”(TechModel Railroad Club,简称TMRC),他们把难题的解决方法称为hack。
在这里,hack作为名词有两个意思,既可以指很巧妙或很便捷的解决方法,也可以指比较笨拙、不那么优雅的解决方法。两者都能称为hack,不同的是,前者是漂亮的解决方法(coolhack或neathack),后者是丑陋的解决方法(uglyhack或quickhack)。hack的字典解释是砍(木头),在这些学生看来,解决一个计算机难题就好像砍倒一棵大树。那么相应地,完成这种hack的过程就被称为hacking,而从事hacking的人就是hacker,也就是黑客。
从这个意思出发,hack还有一个引申义,指对某个程序或设备进行修改,使其完成原来不可用的功能(或者禁止外部使用者接触到的功能)。在这种意义上,hacking可以与盗窃信息、信用卡欺诈或其他计算机犯罪联系在一起,这也是后来“黑客”被当作计算机入侵者的称呼的原因。
但是,在20世纪60年代这个词被发明的时候,“黑客”完全是正面意义上的称呼。TMRC使用这个词是带有敬意的,因为在他们看来,如果要完成一个hack,就必然包含着高度的革新、独树一帜的风格、精湛的技艺。最能干的人会自豪地称自己为黑客。
这时,“黑客”这个词不仅是第一流能力的象征,还包含着求解问题过程中产生的精神愉悦或享受。也就是说,从一开始,黑客就是有精神追求的。自由软件基金会创始人理查德·斯托尔曼说:“出于兴趣而解决某个难题,不管它有没有用,这就是黑客。”
根据理查德·斯托尔曼的说法,黑客行为必须包含三个特点:好玩、高智商、探索精神。只有其行为同时满足这三个标准,才能被称为“黑客”。另一方面,它们也构成了黑客的价值观,黑客追求的就是这三种价值,而不是实用性或金钱。
1984年,《新闻周刊》的记者史蒂文·利维出版了历史上第一本介绍黑客的著作——《黑客:计算机革命的英雄》(Hackers:Heroes of the Computer Revolution)。在该书中,他进一步将黑客的价值观总结为六条“黑客伦理”(hackerethic),直到今天这几条伦理都被视为这方面的最佳论述。
(1) 使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制。任何事情都应该亲手尝试。
(2) 信息应该全部免费。
(3) 不信任权威,提倡去中心化。
(4) 判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准。
(5) 你可以用计算机创造美和艺术。
(6) 计算机使生活更美好。
根据这六条“黑客伦理”,黑客价值观的核心原则可以概括成这样几点:分享、开放、民主、计算机的自由使用、进步。
所以,“黑客”这个词的原始含义就是指那些信奉“黑客伦理”而且能力高超的程序员。历史上一些最优秀的程序员都是“黑客”。除了上文提到的理查德·斯托尔曼,还包括Unix操作系统创始人丹尼斯·里奇和肯·汤普森,经典巨著《计算机程序设计艺术》的作者、斯坦福大学计算机教授高德纳,Linux操作系统创始人莱纳斯·托沃兹,“开源运动”创始人埃里克·雷蒙德,微软公司创始人比尔·盖茨等。正是黑客把计算机工业推向了更高的高度。
“黑客伦理”的一个必然推论就是,黑客不服从管教,具有叛逆精神。
黑客通常对管理者强加的、限制他们行为的愚蠢规定不屑一顾,会找出规避的方法。一部分原因是为了自由使用计算机,另一部分原因是为了显现自己的聪明。比如,计算机设备的各种安全措施就是最常被黑客破解的东西。史蒂文·利维对这一点有过一段生动的描述:
“对于黑客来说,关着的门就是一种挑衅,而锁着的门则是一种侮辱。……黑客相信,只要有助于改进现状、探索未知,人们就应该被允许自由地使用各种工具和信息。当一个黑客需要一样东西来帮助自己创造、探索或者改正某种设备时,他不会自找麻烦,不会接受那些财产专有权的荒谬概念。”
这就是黑客有时会入侵计算机系统的原因,他们的主要目的并不是侵犯别人的利益,这与那些计算机罪犯是不同的。
但是,20世纪80年代初,事情发生了变化。
1983年,一帮密尔沃基市的青少年黑客入侵了美国和加拿大的一些计算机系统,这件事被广泛报道,同年9月5日的《新闻周刊》封面报道的标题就是“小心:黑客在行动”,这是历史上主流媒体第一次使用“黑客”这个词。在报道的时候,媒体只注意和强调黑客行为一个很窄的方面:入侵系统。(可能因为这种行为容易引起公众的注意,提升报道的关注度。)他们把黑客简单定义为入侵系统、破坏安全设施的人。从此,大多数人对于黑客有了错误的看法。同时,那些入侵计算机的程序员也自称“黑客”,使得这个问题进一步复杂化。
杂志、电视剧、电影、小说都对黑客的这种形象大肆渲染。黑客成了反社会的技术高手的代名词,仿佛只要他坐在键盘前,就有一种从事犯罪活动的魔力,可以操纵任何与网络相连的机器,从核弹到车库大门,都在黑客敲打键盘的操作之中被控制。根据这种观点,黑客在最好的情况下是一个没有认识到自己能力的清白的人,在最坏的情况下则是一个恐怖分子。在过去几年中,随着计算机病毒的泛滥,黑客在大众心目中已经成了一个有害的人群。
那些传统意义上的黑客不认同这样使用“黑客”这个词。他们认为,历史上确实有一些正直的黑客,为了亲自了解系统,做过违反法规的入侵举动。但是,那些人并没有恶意,而且从一开始恶作剧就是黑客文化的一部分,仅仅由此推断入侵和破坏系统就是黑客文化的实质完全是错误的。真正的黑客致力于改变世界,让世界运转得美好。媒体对黑客的定义未免过于片面。
为了澄清“黑客”这个概念,他们提出只有传统意义上的黑客才能被称为hacker,而那些恶意入侵计算机系统的人应该被称为cracker(入侵者)。这个观点已经在程序员社区中得到普通认同。
……“黑客”就是指最优秀的程序员,而不是入侵计算机系统的人。
注
原载于微信公众号「网安志异」,2015-06-28 · 原文
留言