黑客帝国软解读
IT商界
当《黑客帝国Ⅱ》中的主人公Neo在电影中面对多扇门进行选择时,我们是否已经开始感觉到他面对的是一次次程序的选择,你选择不同的条件就会出现不同的结果。
到最后,“建筑师”老人对Neo的释疑,让大家明白黑客帝国本身便是一个程序,帝国里一切的一切只是设计者们为了不断追求完美的程序导致的结果,所有的人都是程序代码,只是看他们有没有用。我们从IT行业的角度来看,《黑客帝国Ⅱ》就是折射了人和程序的关系。
缘 起
在《黑客帝国I》中,影片解释了一个虚拟世界──黑客帝国的源头,人类制造了机器为自己服务,并让机器做那些危险而残酷的工作,通过机器的自我奉献与毁灭来制造物质让人类享受。但是有一天,一个机器人出现了自我混乱,他有了自我保护意识并开始进行反思,反思后它决定反抗人类。人类输给机器人后,选择了切断机器人的电源来对抗他们,但是机器人很快找到了替代的能源──人类自身。机器人开始捕捉人类,然后将人本身作为能源来推动自己的运转。为了防止人类反抗,机器开发了一个虚拟的人类世界──黑客帝国,用来控制人类的思想。人类生活在这个虚拟的世界中,深层次的思想也被黑客帝国这个机器控制着。但是少数人被女先知从黑客帝国中解放了出来,回到了真实的人类世界Zion(《启示录》里人类最后的乐土),试图解放仍在黑客帝国虚拟世界中的人类,影片的主人公Neo就是被从黑客帝国解放出来回到真实世界Zion中的一分子,他同时也被认定为能够解放全人类的超级英雄。
正在我们为Neo逃脱黑客帝国并欲拯救人类而庆幸和期待的时候,《黑客帝国Ⅱ》却突然推翻了前面所有的理论。在这一集中,导演通过让Neo最后与“建筑师”的直接对话,使我们了解到所有的一切只是程序。包括锡安、女先知,甚至Neo本身都是“建筑师”的程序虚拟大作,女先知只是下个程序新版本前废弃的代码,而Neo却是一个不完美的、有着余数的废弃程序……
解 构
《黑客帝国》和软件程序
在《黑客帝国I》里面有一个非常引人深思的事实,那就是Neo吃了一种红色小药丸后就要永久性地脱离黑客帝国,回到冰冷而残酷的现实社会。如果我们将Windows操作系统看做黑客帝国的话,那么这粒红色的药丸是否就是彻底对硬盘的格式化?那么Zion是否就是Linux操作系统?如果黑客帝国真的是Windows的话,那么每一个使用Windows的用户就成为了被黑客帝国囚禁其中的人类;而Neo就是一个被唤醒的黑客,他在不断寻找“真我”的感觉中决定回归“真实”,放弃Windows而采用Linux。然而放弃就意味着回到一个原始阶段的自由世界,虽然原始,但是自由。
在回归真实后,黑客斗士们还要试图“挽救”仍然沉迷于Windows世界中的人们。为了这个自由的理想主义目标,在Windows的世界中,黑客们不断寻找着程序中的各种漏洞,而Windows为了自身的稳定性也在不停地打着各种各样的补丁,这些补丁阻止着任何来自黑客的威胁,如同黑客帝国中的Smith专员。当然这些仅仅只是一些起伏跳跃的联想。
到底谁统治了谁
在现实的社会中,人们为了提高社会效能而开发了各种各样的程序,而且为了进一步提高工作效率,人类会不断地完善改进程序。最终程序替代了人,而人只是“维护”程序的一个打工仔。
Who am I?这是主人公Neo一直苦苦追寻答案的问题。然而在见到黑客帝国“建筑师”后,Why am I here?成为Neo的新问题。Neo是人还是程序?这个问题的答案也是一些程序员永远需要找寻的,他们究竟是维护并完善程序的附属品,还是能够左右程序命运的主宰者?编制各种各样Windows下运行的程序,是否意味着他们就是那些从未苏醒的黑客帝国虚拟人?但是逃脱出Windows后又能有什么?去完善另一个程序吗?Neo在不断地探寻答案,在探寻中完善了黑客帝国自身,这也成为了每一个想成为自由斗士的程序员最痛苦的地方。
在现实的软件世界中,各种各样的反叛程序员试图让自己回归真实的世界,他们不断地找寻真实,通过各种各样的方式制造出和Windows对抗的程序,Linux就是这些程序员回归自我的圣地。然而,在不断探索之后,他们会发现,Linux本身也是一个程序,虽然它是自由的,但是它仍然无法背离它是程序这个现实的本质。只不过是越加完善的系统激起了程序员更大的反抗,他们不断地寻找各种破译软件的钥匙,而系统自身也在不断地升级更换钥匙。最终很多优秀的程序员自己也会陷入茫然的境地,究竟是在完善程序,还是在成为程序的附属品?
世界会被谁保护
比尔·盖茨在英国作家乔治·奥维尔诞辰100周年时发表了一个演讲,他说,奥维尔所描述的未来可怕野蛮景象,即技术作为统治社会的工具不会成为现实,而且在未来也不会。作为革命性的科技代表人物的盖茨之所以会站出来评论奥维尔的《1984》,完全是因为微软正在用可信赖计算机措施和下一代安全计算机技术游说华盛顿。
但是我们很快会发现,盖茨仍然在强调用技术保护技术的“黑客帝国理论”,技术来维护技术,这在某种程度上与Zion和黑客帝国的互补进化就是Linux和Windows进化的一种影射。但《黑客帝国》的结尾是什么?导演现在都还没告诉我们……
在《黑客帝国》中Zion被消灭的原因很简单,Zion中的那些Program因为允许部分人类的意识存在,并且人类意识得到不断的加强,到了一定时间人类的意识会超越Zion程序本身,这会导致Zion中的人类意外苏醒,这是《黑客帝国》保护程序所不允许的,所以在危险来临之前,Zion必须被黑客帝国自我毁灭。
越来越多的大众也希望看到Windows后面的秘密,因为只有这样大众才能够感觉到安全的存在。这种行为方式显然是盖茨不愿意看到的,因此,如何消灭Linux自由化的意识,但是又不毁灭这种程序诞生的方式是盖茨的目标。毁灭,然后再建造!
程序进化论
有人说《黑客帝国》中的探员Smith就如杀毒软件,用来保护并弥补操作系统本身的缺陷,后来被“建筑师”抛弃后却成了一种能够自我复制的儒虫病毒。其实Smith更像是Office System,通过打压对手和在Windows中的优越性提升自我,随后成为一个领域的绝对独裁者。它也像软件不断地升级,因为设计者们觉得程序还没有达到理想中的完美,但他们也清楚,世上没有完美的程序,而真正完美的软件却是能导致它的竞争对手成为用户们不要的软件,让它们成为一段废弃的代码。而这些废弃也如同很早病毒的起源──当时很多程序依靠特殊的毁灭加密方式来维护自己不被破解,但是这种用来保护程序的恶性程序很快被破解,于是程序员就放弃了这种加密方式,并通过蠕虫等方式快速自我复制,依存在别的程序中。
一个多余的保护程序就这样成为了病毒性破化程序,我们可以看到,随着社会数字化进程的加速,被废弃的代码的可怕性已经被《黑客帝国》通过Smith把它提升到了一个高度。这也是程序进化的真正目的。
编后:其实《黑客帝国》告诉了我们一个很简单的道理,人类社会不可能逃避程序代码带来的快捷和先进。但程序代码独有的特性也决定了,程序和其他事物一样能够污染地球。我们应该去控制程序而不是让程序来控制我们。