人、土地、物品和思想
Kragen Sitaker <kragen@pobox.com>著软件
软件就是思想、信息。它与人、土地、物品都不相同。它可以像火一样被无限复制,而且几乎毫无代价。这个道理不言而喻,甚至被认为是陈词滥调。但它似乎总有一些没有被人好好地探究的特殊后果。
其中之一就是你不能像卖奴隶、土地和物品一样去卖它;任何一个你的顾客可以按原价甚至更低的代价来制造无数的拷贝。市场分割目前使卖软件成为一种可实行的商业模式。也许品牌也是原因之一;有一个问题是关于Red Hat的光碟卖$50美元,不知是否因为人们喜欢Red Hat这个品牌,还是因为他们不知道能花$2美元从CheapBytes买来一样的光碟。
过去和现在
处理这个问题的传统方法就是把思想封锁在人、土地和物品的内部。一个律师能不做任何实际的创造性工作,而是通过简单地阐述恰当的思想,甚至是简单地应用死记硬背的方法——据说大多数遗嘱都可以归为此类,来挣大量的钱。因为不允许拍照,所以我不得不去 Georgia O'Keeffe 的博物馆参观老 Georgia 的绘画作品,也正因为这样他们才可以把门票卖给我。(顺便提一句,这是一个非常不错的博物馆。如果你去那儿,不必购买4天的通票;他们的收藏品真的很少)一本书能按超过印刷成本的价格出售,因为很难从其物质的表现中分离出思想来。
软件让我们从人、土地和物品中分离出思想变得容易。假设我买来一台计算机用来发送电子邮件,并且我想做些分形,我不需要再去买一台新的分形计算机。我只要去下载一个分形软件。如果我想计算一根支杆的屈服力,我不用去雇一个结构工程师;我能下载一个FEA软件并用它来模拟对支杆加压力直到它弯曲为止。我不用跑到博物馆去看我邻居的分形作品;我可以直接把它们显示在我的屏幕上。(当然我要先下载它们。)
这是一个惊人的改变。
软件封闭:未来?
大体上来说,这就曾是计算机应用程序的本性,直到最近才有所改变。但是我们现在有了互联网,而且人们在大量谈论嵌入特定应用的计算机。忽然,人们能像曾经他们提供计算机软件一样提供应用程序,但是他们能把软件——思想——封闭在土地和物品中了。
例如,我现在拥有一张包含有美国电话号码总表的CD-ROM。如果有足够的时间和专业技术,我就可以把那些电话表提取出来,并把它们放在一个互联网站上。(我首先需要对数据库存放的结构进行反向工程。)我能进行相关试验来了解是否某些姓氏的人更倾向于选择其居住地(从它能看出他们住在他们家族的附近,或者也许,这个城市是种族隔离的)。我能发现哪一个Cathy的拼写最流行(Kathy,还是Cathi?),并且还我能发现人们对Cathy拼写的选择与他们的姓是否有关。
确实有一些网站包括上面说的那个电话号码总表,甚至是更新的版本。但我不能用这个网站来做以上任何一件事,因为这个电话表——思想——被封闭在这网站的内部——或者称之为一个地方或者一个物品内部,取决于你怎么看待它。
另一种方法是把信息封闭在物品的内部。NSA 的 Skipjack 算法保密了好几年了;该算法的实现是广泛存在的,但是仅仅限于被特殊保护的设备中。这就允许他们把该算法广泛地布署在包围秘密研究的铁幕之中,并且他们也打算把该算法广泛地布署到外部世界去了。(到目前为此,我还是在这屏障之外。)最近,周围环境迫使他们发布 Skipjack 算法的软件实现方法,所以他们就把该算法公开了。(更多内容可以参考 http://www.schneier.com/crypto-gram-9807.html#skip [已归档]。)
为什么我不喜欢这样
自己拥有电话簿会给我更大的自由。从另一方面来说,这要求我在自己的机器上安装软件,并给那个软件对我机器的一些控制权。在这个特例中,这个软件在Win95下运行,所以它要求对我机器的完全控制。所以实际上,如果只访问互联网页并且只要填一张表单就可以找到某人的电话号码,对我来说是显然更方便。
物品中的信息比软件中的信息用起来要方便很多;一个特殊用途的物品经常比一个通用的计算机在相当大程度上更容易使用。因为这一点,许多工业上的权威专家预测,通用计算机将会在使用特殊用途设备的趋势中淡出舞台。
我有些担心这种趋势。我喜欢使用通用计算机——尽管我承认它们经常难以使用。但我喜欢它给我的自由。计算机就像是我思维的延伸。
互联网站和特殊用途的硬件设备可不是这样的。它们不给我像通用计算机一样的自由。如果这种趋势发展到了那些权威专家预测的程度,越来越多我今天用计算机能干的事将会使用特殊用途设备和远端服务器来完成。
在这种环境下,软件自由的含义是指什么?当然,运行一个互联网站而不提供给我软件和数据库来下载并不是错误的。(就算这是错误的,它也可能不适合大多数人下载。在IBM的专利服务器背后有一个几万亿字节的数据库。)
我相信软件——特别是开放源码软件——有能力给予个人明显更多对他们自己生活的控制,因为它由思想组成,而不是人、土地或物品。而使用特殊用途设备和远端服务器的趋势却是逆其道而行之。
如果把自由软件烧进ROM那将意味著什么?如果我需要把ROM分解开来阅读源码并且把修改版烧进新的ROM中,那么软件依然是自由的吗?如果把自由软件运行在互联网服务器中的一个可远程访问的应用中那意味著什么?即使带有最美好的意愿,这些技术似乎也很难带给人们那种他们从PC所享受到的自由。
如何与之抗争
买一台新设备要比下载一个软件并安装在我的机器上的代价大很多。所以如果特殊用途设备没有优点的话,人们是不会用它们的。
但是它们确实有优点。比起通用计算机来,它们*非常*容易使用。一个按钮就提供所有的功能;没有很多按钮造成的这个按钮做这个、哪个按钮什么都不做的滑稽情景。一个可以用于所有可变状态的显示器;你不用去点击特定物品来使它变得可见。我怀疑这不是通用计算机固有的局限,而是一个它们目前状态的局限。
另外一个大问题就是它们总能正常工作。而通用计算机却经常不能正常工作,特别是在运行Microsoft的操作系统时。即使是在最好的情况下,在你开始你做正事之前,你仍然要在不相关事情上花好几秒钟——键入一个字母或其他。更为典型的是,你必须化十来秒钟到处点击。在最坏情况下,在你能做事之前,你得重新安装Windows和应用程序,重新配置一些外部设备,并且重装它们的驱动程序。
第三个大问题是它们需要安装软件。如果我想用我的机器来写一封电子邮件,我就得必须在我的机器上安装一个电子邮件软件。虽然这比购买一台特殊用途的电子邮件机器代价要小很多,它仍然会使人非常地不舒服,令人生畏并且使人困惑。(大约我是这样被告知的)它也得花更多的时间。
如果要使通用计算机能在小巧、便宜的特殊用途小匣机的冲击中生存下来,他们就得变得和那些特殊用途小匣机一样易於使用、可靠和容易安装软件。这就需要一个与当前我们桌面上使用的完全不同的操作环境;毫不惊奇,GNU/Linux比其他我使用过的任何东西都更接近这个目标。(Squeak也许还要好一些,但我还没有试过。)但是GNU/Linux还有很长的路要走。这将需要不同的硬件和不同的软件。
远端服务器背后的推动力也很相似——因为通过互联网浏览器而统一的界面更易于使用,“能够正常工作”,并且不需要安装——直接使用。但是它们还有很多其他优点:它们能提供那些因为需要巨大存贮空间或计算资源而不能被你自己的机器所提供的服务,除非你想花大量的金钱。(每日下载AltaVista的数据库可不是搜索互联网的有效方法。)
我认为这些额外的优点目前来说是通用计算机无法战胜的——尽管我对在很多计算机上进行的大型分布式计算工作的研究很感兴趣。