前不久,读完了一本叫“增长黑客”的书。这本书的英文原名是“Hacking Growth”,以我现有的英语能力,我可能会直接翻译为“黑客增长”。

我发现中文的“增长”和“黑客”与英文的“Hacking”和“Growth”是反过来的。在我的印象中,只是知道“黑客”是指计算机技术非常厉害的人。而黑客作为一个名词对应的英文单词是“hacker”,但这里出现了“hacking”。原来“黑客(hacker)”既可以指人,也可以指“黑客行为(hack)”。为了进一步深入理解“增长黑客”中的“黑客”的含义,并进一步了解什么黑客,我开始网上搜索有关黑客的内容。以下是我对“黑客”的杂乱无章的认识。

“Hacking(黑客)”的概念最初起源于 20 世纪 60 年代的 MIT(麻省理工学院)。当时流行的说法是在 MIT 有两类学生,“tools(用功学习的人)”和“hacker(黑客)”。所谓“tools”,就是指那些每天正常上课,如果不是上课就泡图书馆的一类人。而“hackers”则恰恰相反,这类人是从不去上课,昼伏夜出,白天睡觉,而晚上出来活动并各种“瞎搞”的一类人。

而这和计算机又有什么关系呢?其实也没啥。学习用功,不代表一定是学霸,也可能同样是学渣。正如用学习成绩去衡量学习用功的人一样,“黑客”并不是每天晚上无所事事,真正的“黑客”需要对某些兴趣或爱好具备一定专注和天赋。这些兴趣或爱好可以是电报、铁路(真实的铁路或者铁路模型),科幻小说、火腿无线电、广播无线电等等。当然,其中也可以有计算机。尤其是在 MIT 人工智能实验室中产生了一大批的计算机黑客。

在 MIT 的这些计算机黑客中,必须要提到一个人,那就是理查德·斯托曼(Richard Stallman),开源和自由软件 GNU 项目发起者,自由软件基金会 FSF 的创立者,以及开源软件协议 GPL 的起草者,GCC,GDB,GNU Emacs 的作者。现在办公用到的操作系统有微软的 Windows,苹果的 macOS。我们现在用的智能手机中也有两大操作系统,一个是苹果的 iOS,另一个是 Android(中文叫安卓)。macOS 和 iOS 的内核(kernel)都是 BSD,一种类 Unix(Unix-like)的系统内核。而 Android 系统的内核是另外一种类 Unix 的系统:Linux。Linux 的作者林纳斯·托瓦兹(Linus Torvalds)也是一个顶级的计算机黑客。Linux 操作系统是计算机软件工程师(俗称码农,码畜)经常打交道的一种服务器端操作系统。Linux 很多的发行版本中有一个是 Debian,全称是“Debian GNU/Linux”,其中可以看出 GNU 项目和 Linux 有某种的关系。我们知道太阳系并不是由一颗太阳组成,太阳系也包括围绕太阳运行的大行星以及小行星等等各种天体。如果用太阳系做个比喻,操作系统内核相当于太阳,GNU 项目中的一些如 GCC,GDB,glibc(GNU C Library) 等等软件和服务就相当于太阳系中的九大行星,各种小行星,以及无知的人类有事没事发射的各种人造卫星,空间站等等。GNU 一直期望有自己的操作系统,而且确实有一个目前还在开发的基于微内核(micro-kernel)的操作系统:GNU Hurd,但目前不是很成功。

“黑客”这个概念最初是指一些极富天赋的聪明的人用自己的技术去解决一些极具挑战的事情。“计算机黑客”是那些可以和计算机生死与共(someone who lives and breathes computers),对计算机特别了解和熟悉的人,并且可以用计算机做任何事情。同样重要的是计算机黑客的态度,对于计算机黑客而言,计算机编程应该是一个爱好,只是为了好玩,而不是为了某种社会职责或者单纯的为了赚钱(当然,黑客也可以赚钱,但赚钱不是黑客的目的)。伴随着“黑客”的还有黑客行为,黑客行为可以是一种完美的“恶作剧”,也可以是一个精彩的计算机程序。一些为了窃取钱财而攻击系统安全的人并不是黑客。这不是说黑客不能是窃贼,而是说黑客不能是职业窃贼。

加州大学伯克利分校(University of California, Berkeley)的计算机科学教授布莱恩·哈维(Brian Harvey)在一篇介绍“什么是黑客”的文章中,把“黑客”上升到了哲学高度:黑客是一个唯美主义者,在哲学中的伦理道德和美学之中,黑客是属于美学哲学的。由此,该文中引用了阿拉斯代尔·麦金太尔(Alasdair MacIntyre)的著作“追寻美德道德理论研究(After Virtue)”,解释了伦理学和美学(Ethics and Aesthetics)的发展以及计算机黑客和美学哲学的关系。互联网和超文本背后是一个链接接着一个链接,而每一个链接都是数据和信息。于是,我继续在维基百科(Wikipedia)查了下伊曼努尔·康德(Immanuel Kant)词条。并进一步了解到了什么“个体自治”,“自由意志”,以及什么“伦理学”,“美学”等等各种哲学相关的知识。原来,哲学并不是我想象中的那种迂腐的争论,而是人类的自我建设和思想的升华。哲学应该是教会我们如何看待这个世界和社会。也许,有机会我会看一下麦金太尔的“追寻美德”这本书吧。

也许是一些黑客把事情搞的太大了,所以现在主流媒体中的“黑客”一般是指计算机犯罪份子。这些主流媒体就是图样图森破(too young, too simple),没事总想搞一个大新闻,一提到黑客,就是各种“黑客攻击”,然后就把“黑客”这个词玩坏了。但是,在计算机技术圈,“黑客”依然是对计算机大牛的称谓,比如微软的创始人比尔·盖茨(Bill Gates),苹果的创始人史蒂夫·乔布斯(Steve Jobs)和斯蒂芬·沃兹尼亚克(Stephen Wozniak)。所以,“黑客”现在的含义有些模棱两可,为此,技术圈有人依然坚持使用“黑客”指计算机大牛,但同时创造了另外一个词“怪客或者溃客(Cracker)”指那些没有“黑客精神”的计算机犯罪分子。同时,由“黑客”衍生出了“白帽(White Hat)”,“灰帽(Grey Hat)”以及“黑帽(Black Hat)”。白帽指那些改善计算机系统并负责计算机安全的“黑客”,也可以称为是“合法的攻击者”。黑帽和怪客是一类人,指那些入侵计算机系统,从而获取非法利益的计算机犯罪份子。而灰帽则是介于白帽和黑帽之间,灰帽也会攻击和入侵计算机系统和服务,但是,这种“攻击”更多的是一种个人兴趣,或者是只是单纯的炫技,也就是为了“装逼”,而不会造成实质的利害。我们日常也会听到的“极客(Geek)”也是黑客的同义词,不过更多的是褒义词,指具有“黑客精神”的技术大牛。“黑客”也衍生出了一种“黑客精神”,“黑客文化”以及“黑客亚文化”,比如我们常常听到的“黑客马拉松”等等。

如果想进一步了解“计算机黑客”,可以读一读斯蒂芬·利维(Steven Levy)的“黑客:计算机革命的英雄”这本书。

参考

  • https://people.eecs.berkeley.edu/~bh/hacker.html
  • https://en.wikipedia.org/wiki/Hacks_at_the_Massachusetts_Institute_of_Technology