编辑: glay | 2019-07-14 |
早在
1996 年我便注意到,好像还没有任何一个 常见问题 或者网络文档论述过这个重要的问题,于是我决定撰写此文.我相信很多黑客 都在考虑我现在考虑的这些问题.然而,我并不认为我在这个问题上是唯一的权威,如果你 不认同下面读到的这些内容,那请你写下你的看法. 如果你正在阅读离线文档,那么你可以在这里找到本文的最新版. 本文的装饰物――这个五点九宫图被称为 滑翔机 .在一款令无数黑客痴迷的名为 生命游戏 [2] 的数学仿真游戏中,这个简单的图案蕴含着令人吃惊的特性.我认为它是一 个能够彰显黑客本质的图形徽章――抽象,起初在表面上有些神秘,但自身拥有一个具有错 综复的逻辑性的入口通向整个世界.在这里可以了解更多关于滑翔机徽章的信息. 什么是黑客 在《黑客辞典》里有不少关于 黑客 的定义, 大多和 精于技术 或 乐于解决问题 并超越极限 之类的形容相关.然而,若你想知道如何成为一名黑客,只要牢记两点即可. 这是一个社区和一种共享文化,可追溯到那群数十年前使用最初的共享小型机以及最早 的 阿帕网 [3] 的专业程序员和网络专家们.而这样一群人便被称之为 黑客 .黑客们建 立了互联网,黑客们让 Unix 操作系统成为了今天这个样子,黑客们管理着讨论组 [4] ,黑客 们维持着万维网的运转.如果你是这种文化的一部分,你为这些做出过你的贡献并让其他的 人知道你且以 黑客 之名称呼你,那你就是一名黑客! 然而,黑客精神却并未被禁锢在 软件黑客 这一范畴之中.有很多人将黑客精神应用 到了其他的领域,例如电子或是音乐――事实上,你可以在所有的科学与艺术的最高境界中 发现黑客精神的影子.由于这种共同的精神,软件黑客亦称后者为 黑客 ――甚至有人认 为黑客精神是脱离于黑客这项工作而独立存在的.但在以下的文章中,我们将重点讨论软件 黑客的技能与态度,以及能令他们被称之为黑客的 共享文化 这一传统. 而另外一群人总是声称自己是黑客,但他们不是.这些人(大多是年轻人)入侵其他人的 计算机或是破坏通信系统.真正的黑客称这群人为 骇客 [5] 并与他们划清界线.真正的黑 客大多认为骇客是懒惰、不负责任以及不明智的一群人.能够破坏保安系统并不能让你成为 一名黑客,正像能够偷车并不能让你成为一名汽车工程师一样.不幸的是,很多记者与作家 都被误导而使用 黑客 一词去形容 骇客 ,而这将永远激怒那些真正的黑客. 最根本的区别在于:黑客是创造事物,而骇客是破坏事物. 若你想成为黑客,请看下去.若你只想成为骇客,请到 alt.2600 讨论小组并做好准备当 你发现你远没有自己想象的那样明智之后,去坐五到十年的牢.这就是我要对骇客说的. 黑客的态度 黑客解决问题并创造事物,他们信仰自由与互助.想要以黑客的身份为大家所接受,你 需要表现出你拥有这种态度,而若要表现出你拥有这种态度,则需要你真的信仰这种态度. 而如果你认为培养黑客态度仅仅是融入黑客文化的一种方式,那你就错了.真正的去信 仰这些对你来说非常重要――它可以帮助你学习并保持你的动力.像所有的艺术创作一样, 成为大师最有效的方法是遵循大师的思维――不仅是智慧,还有情绪! 以下这首现代禅谒便说明了问题: 遵循此法: 仰慕大师, 跟随大师, 比肩大师, 超越大师, 成为大师. 所以,要成为黑客,请反复阅读以下几点直到你牢记并坚信它们为止. 1. 这世上有无数奇妙的问题等待我们去解决. 成为黑客是一件非常有趣的事情,但乐趣的背后需要付出大量的努力.努力需要动力. 一名出色的运动员的动力往往来自于自身肢体运动与超越自身极限的一种天然成就感.正如 一名黑客应该从解决问题、磨练技能以及挥洒智慧之中获取喜悦一样. 如果你不是这种人,那为了成为一名黑客,你必须让你自己成为这种人.否则你会发现 你的黑客热情将被诸如性、金钱以及社会价值观等事物慢慢的消磨干净. (你亦需要培养一种对于自学能力的信仰――坚信即便你现在不能解决全部的问题,但 如果你可以解决哪怕一小部分的问题并从中学习,那么你都可以学习到足够的东西去解决下 一小部分的问题――直到将整个问题全部解决为止.) 2.没有任何一个问题应该被解决两次 创造力是一个宝贵而又有限的资源.世上有如此多的新奇问题等待我们去解决,创造力 不该被浪费在 再发明 这样的怪圈中. 想要成为一名黑客,就要去相信其他黑客的思考时间都是很宝贵的――以致于分享信息 对于你来说是一个道义层面上的责任.解决问题并给出解决方案,好让其他的黑客可以去解 决新的问题而不是永远在旧问题上止步不前. 然而,请注意: 没有任何一个问题应该被解决两次 并非是要你认为现有的解决方案 是神圣不可侵犯的或者它是当前问题的唯一解决方案.通常,我们遇到一个前所未见的问题 时,总是从该问题最初的那个解决方案中学会很多东西.这很好,而且通常很必要,这意味 着我们可以做的更好.而不好的则是人工技术上、法律上或是体制上的阻碍(譬如闭源代码), 它阻止人们使用一个现有的解决方案,而迫使人们陷入 再发明 的怪圈之中. (你不必认为你有责任公布出你全部的作品――虽然这样做的黑客会从其他黑客那里获 得最多的尊重.用它们赚取足够的钱来维持你的食物、租金和计算机――这并不违背黑客的 价值观.利用你的黑客技术来维持一个家庭甚至致富是一件好事――只要你在做这些的时候 没有忘记你对于黑客艺术以及黑客朋友的忠诚.) 3. 无聊与繁冗的工作等同于邪恶 黑客――或是其他一些创作者――不应在那些无聊的或是愚蠢的重复工作中充当苦力, 因为如果这样那就意味着他们没有去做一项只有他们才可以做的事情――解决新问题.这种 蠢事对谁都没有好处.因此,无聊与繁冗的事情对黑客而言不仅只是不良的, 甚至是是邪恶 的. 要成为一名黑客,你必须信仰此观念并将所有无聊与繁冗的事情尽可能的自动化,这不 止为自己,也是为其他人(尤其是其他的黑客). (这里有一个显而易见的例外.黑客们有时会做一些看起来重复或无聊的事情用以令思 维清晰,或是为了训练某些特殊的技能与经验并且别无他法.但这完全取决于个人的选择― ―没人能强迫一个善于思考的人去完成这些事情.) 4. 自由很好 黑客是天生反独裁的.若有人可以对你下达命令,那他也可以阻止你去解决那些令你着 迷的问题――并且基于这种独裁的思维模式,他总能找到一些愚蠢到令人吃惊的理由去这么 做.所以无论何时何地都要与独裁主义战斗,这样才不至于让你或是其他黑客被他扼杀. (这并不等同于向所有权威挑战.儿童们需要被教导而罪犯需要被压制.同样,黑客需 要接受某些权威统治,前提是从中的获益应该多于去执行统治者的命令.但这一切都该是有 限度的,并且是一个平等的契约关系.而不该是一个强加于个人意愿之上的独裁思想.) 独裁依靠的是 审查 与 保密 .他们总是怀疑 自愿合作 和 信息共享 ――他 们只喜欢在他们控制下的 合作 .所以要成为一名黑客,你必须练就一种对审查、保密或 使用暴力和欺骗手段去压迫人民的行为的本能敌对情绪.并且你该因这种信仰而采取行动. 5. 态度不能代替能力 作为一名黑客,你当拥有以上的态度.但仅有一个正确的态度不能让你成为黑客,最多 能让你成为一名优秀的运动员或是摇滚明星.想成为一名黑客还需要智力、实践、奉献以及 勤奋. 因此,你该时刻持有怀疑的态度并尊重每一种能力.黑客们不会让一个过难的问题去浪 费他们的时间,但他们崇拜能力――特别是黑客技能,但其实任何的能力都是有价值的.很 少有人能掌握的能力尤为可贵,而这其中若含有高度的智慧、技巧与集中力就再好不过了. 若你尊重能力,你便会非常乐于锻炼自身的能力――那么勤劳工作与无私奉献就会成为 一种紧张的竞赛而非一件苦差事.这种态度对于成为一名黑客也是至关重要的. 基本的黑客技能 黑客的态度固然重要,但技能却更为重要.态度无法替代能力,有一些必备技能和基本 工具是任何一个梦想成为黑客一员的人都应该掌握的. 随着时间的流逝,这些工具也在慢慢的吐故纳新.例如,过去需要用机器码编写的一些 程序,现在却更多的用 HTML 去编写.但很显然,你需要掌握以下这些: 1.学习如何编程 这当然是最根本的黑客技能.如果你不熟悉任何计算机语言,我建议从 Python 开始. 它设计清晰、文档详实,对于初学者来说非常友好.尽管它是一种非常好的初学语言,但它 绝非玩具.他非常强大与灵活,并且适于开发大型项目........