如何成为一名黑客

How to become a hacker

上一篇博客中谈到开源软件,开源软件可以上溯到自由软件,而自由软件可以上溯到黑客社区的传统。那么什么是黑客呢?黑客这个词源于1960年代 MIT 的一个学生俱乐部,当时他们将快速解决问题的方式叫做 hack, 解决问题的过程叫 hacking, 解决问题的人即 hacker, 翻译过来也就是黑客。自由软件的发起者 Richard Stallman (RMS) 说:“出于兴趣而解决某个难题,不管它有没有用,这就是黑客。”随着自由软件和开源软件的兴起,黑客们找到了更符合自己身份的标签:用自由软件/开源软件解决计算机问题。

不过随着互联网的普及,另外一种行为也被媒体打上“黑客”的标签:通过网络攻击入侵别人的计算机系统并破坏或获取利益。从事网络攻防的计算机高手又被称为网络黑客或安全黑客 (security hacker), 从事保护行为的被称为白帽黑客,从事破坏行为的被称为黑帽黑客。不过这些说法不被原黑客社区的人所接受,开源软件发起者 Eric Raymond (ESR) 等人将从事网络安全破坏的人称为“骇客” (cracker)。

本文所说的黑客取开源社区对于黑客的定义,即不为陈规旧律所束缚、有能力解决计算机类问题、编写开源软件的技术极客们。ESR 写了一篇文章,标题即为 “How to become a hacker”。文中提到了四点:学习编程、学习并使用开源的 Unix-like 系统、学习互联网及 HTML 编程、学习英语。1

这四点是黑客的技能基础,而如果想要修炼成黑客大师最好的方法还是去跟随并模仿大师们的行为,文中引用一首禅诗作为示意:

修行之道:
关注大师的言行,
跟随大师的举动,
和大师一并修行,
领会大师的意境,
成为真正的大师。

1984年,史蒂文•利维 (Steven Levy) 出版了第一本介绍黑客的著作《黑客:计算机革命的英雄》(Hackers: Heroes of the Computer Revolution)。在书中,他将黑客的价值观总结成了六条“黑客伦理”(hacker ethic):2

  1. 使用计算机以及所有有助于了解这个世界本质的事物都不应受到任何限制。任何事情都应该亲手尝试。 (Access to computers–and anything that might teach you something about the way the world works–should be unlimited and total. Always yield to the Hands-On Imperative!)
  2. 所有信息应该都是自由的。(All information should be free.)
  3. 不信任权威,提倡去中心化。(Mistrust Authority–Promote Decentralization.)
  4. 判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准。(Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race, or position.)
  5. 你可以用计算机创造美和艺术。(You can create art and beauty on a computer.)
  6. 计算机让生活更美好。(Computers can change your life for the better.)

总结下这六条,黑客的核心价值观就是:自由、分享、民主、平等、创造、进步。黑客使用计算机技术,创造艺术并造福人类。Paul Graham 在他的文集《黑客与画家》(Hackers and Painters: Big Ideas from the Computer Age)中将黑客与画家相提并论,认为黑客相对于科学家来说更接近于艺术家。3

利维在书中提到了很多著名黑客,如人工智能之父 John McCarthy, 苹果联合创始人 Steve Wozniak, 等,全书最后一章名为 “最后一位真正的黑客”(The Last of the True Hackers)特别介绍了 Richard Stallman (RMS). 在上个世纪六七十年代,MIT 人工实验室是黑客们的天堂,崇尚自由的黑客精英们聚集在这里,聪明的头脑思考问题、创造有趣的东西。但随着软件行业的兴起,商业开始侵蚀这种存粹的黑客文化。黑客精英们或投身创业,或被大公司挖走,RMS 看到了实验室的没落。但 RMS 没有妥协,创立自由软件事业来践行他所信奉的黑客价值观。因此,他被利维称为“最后一位真正的黑客”。

回到本文标题,如何成为一名黑客?除了 ESR 从方法层面提到的黑客应掌握的几种技能外,要成为黑客首先得认同黑客的价值观。黑客是具有理想主义色彩的一群人,但这种理想主义不仅是 RMS 的那种对自由软件执着的理想主义。RMS 是,Linus 也是,甚至是 Bill Gates 也是位理想主义的黑客。他们的行为都是在社会进步做贡献,计算机让生活更美好,让世界更美好。4


  1. How to become a hacker: http://www.catb.org/~esr/faqs/hacker-howto.html 

  2. “黑客伦理”(hacker ethic)维基百科解释: https://en.wikipedia.org/wiki/Hacker_ethic 

  3. 《黑客与画家》豆瓣页面: https://book.douban.com/subject/6021440/ 

  4. 本文最早于2020年8月28日发表在公司内网 Hi3ms 社区和心声社区,为给 CodeConf 大会做广告宣传。 

开源软件 黑客 开源

如果你觉得本文不错,欢迎订阅“胡涂说”博客