人、地点、事物和想法

软件

软件是想法。是信息。它与人、地点和事物不同;它像火焰一样可以无限复制,而且几乎没有成本。这是一个不言自明的事实,甚至是陈词滥调。但似乎有一些特定的后果没有得到很好的探讨。

其中一个后果是,像销售奴隶、地点和事物那样销售软件效果不佳;你的任何客户都可以以成本价或更低的成本制作无限数量的副本。目前,市场摩擦使得销售软件成为可行的商业模式。也许品牌也是如此;问题是,红帽公司以 50 美元的价格出售 CD,是因为人们喜欢红帽的品牌,还是仅仅因为他们不知道可以从 CheapBytes 以 2 美元的价格购买基本上相同的 CD?

过去和现在

传统的处理方法是将想法锁定在人、地点和事物内部。律师仅仅因为吐出适当的想法,而没有做任何实际的创造性工作,或者仅仅因为应用死记硬背的程序,就可以获得相当多的钱——据说大多数遗嘱都属于这一类。我必须去乔治亚·欧姬芙博物馆才能看到老乔治亚的画作,因为他们不允许拍照。然后他们可以向我收取入场费。(顺便说一句,很棒的博物馆。如果你去那里,不要买四日通行证;他们的藏品相当少。)一本书的售价可以高于印刷成本,因为想法很难与其物理表现形式分离。

软件使得将想法与人、地点和事物分离变得容易得多。如果我买电脑是为了发送电子邮件,并且我想制作分形图案,我就不必购买新的分形机。我只需要下载一些分形软件。如果我想计算一个支柱的屈服力,我不必聘请结构工程师;我可以下载一些有限元分析软件并模拟应力,直到它屈服。我不必去博物馆看我邻居的分形图案;我只需在屏幕上拉出来。(当然,一旦我下载了它们。)

这是一个巨大的变化。

被锁定的软件:未来?

并且,直到最近,计算机应用程序通常都是如此。但是现在我们有了网络,人们都在谈论许多特定于应用程序的嵌入式计算机。突然,人们可以像以前交付计算机软件一样交付应用程序,但他们可以将软件(想法)锁定在地点和事物中。

举个例子,我有一个包含美国电话号码列表的 CD-ROM。如果有足够的时间和专业知识,我可以提取这些电话号码列表并将它们放到网站上。(我需要先对它们存储的数据库结构进行逆向工程。)我可以运行相关性测试,看看某些姓氏的人是否在一个城市中有更多偏差的交换分布。(这可能表明他们住在家人附近,或者该城市存在种族隔离。)我可以找出哪个凯西的拼写最流行(Kathy?Cathi?),我也可以看看人们对凯西的拼写选择是否与他们的姓氏相关。

还有一些网站包含相同的一组电话号码列表,或更新的版本。我无法通过这些网站执行任何这些操作,因为电话号码列表(一种想法)被锁定在网站中(一个地点或事物,取决于你如何看待它)。

另一种方法是将信息锁定在事物中。美国国家安全局的 Skipjack 算法被列为机密多年;实现方式广泛可用,但仅在特殊的加固设备中。这使得他们可以将其广泛部署在围绕机密研究的铁幕背后,他们也打算将其广泛部署在外部世界。(到目前为止,我在那道铁幕之外。)最近,情况迫使他们分发 Skipjack 的软件实现,因此他们将其解密。(有关更多信息,请参阅 schneier.com [存档]。)

我为什么不喜欢这样

自己拥有电话簿会给我更多的自由。另一方面,这也需要我在我的机器上安装软件,从而使该软件在一定程度上控制我的机器。在这种特殊情况下,该软件在 Win95 下运行,因此它要求完全控制我的机器。因此,对我来说,仅仅访问网页并填写表格来查找某人的电话号码实际上要方便得多。

事物中的信息也比软件中的信息方便得多;特殊用途的事物通常比通用计算机更容易用于该用途。因此,许多行业专家一直在预测,通用计算机将不再使用,而是转而使用特殊用途的设备。

我有点担心这种趋势。我喜欢使用通用计算机——尽管它们通常很难使用。我喜欢它给我的自由。计算机只是我思想的延伸。

网站和特殊用途的硬件并非如此。它们没有给我与通用计算机相同的自由。如果这种趋势继续发展到专家预测的程度,那么我今天用计算机做的越来越多的事情将由特殊用途的事物和远程服务器完成。

在这样的环境中,软件自由意味着什么?不提供我的软件和数据库供下载,运行网站肯定没有错。(即使是这样,对于大多数人来说,下载它们也可能不可行。IBM 的专利服务器背后有一个多太字节的数据库。)

我认为,软件,特别是开源软件,有潜力赋予个人更多的控制权,因为它们由想法组成,而不是人、地点或事物。特殊用途设备和远程服务器的趋势可能会逆转这种情况。

将自由软件刻录到只读存储器中意味着什么?如果我必须拆焊只读存储器才能读取源代码并刻录新的只读存储器才能运行修改后的版本,那么该软件仍然是自由的吗?在 Web 服务器上运行远程可访问应用程序的自由软件意味着什么?即使怀着最好的意图,这些技术似乎也使得难以像个人电脑那样给予人们同样的自由。

如何对抗它

购买新设备比下载软件并将其安装在我的机器上要贵。因此,如果特殊用途的设备没有提供任何优势,人们就不会使用它们。

但它们确实提供了优势。它们比目前的通用计算机*容易*使用得多。每个功能都有一个按钮;没有按钮执行其他操作或没有任何操作的奇怪模式。每个状态变量都有一个显示;你无需点击任何内容即可使其可见。我怀疑这不是通用计算机的固有局限性,而是它们目前状态的局限性。

另一个大问题是它们只需要工作。通用计算机通常不会这样,尤其是在运行 Microsoft 操作系统时。即使在最好的情况下,你也仍然需要做几秒钟的无关事情才能开始处理你想做的事情——输入一封信或其他任何事情。更典型的情况是,你必须点击大约十秒钟才能完成。最糟糕的情况是,你必须重新安装 Windows 和应用程序,重新配置一些外围设备,并重新安装它们的驱动程序,然后才能完成任何事情。

第三个大问题是它们需要安装软件。如果我想开始使用我的机器来编写不同的电子邮件,我必须在上面安装电子邮件软件。虽然这比购买特殊用途的电子邮件机器要便宜得多,但它却不那么令人不舒服、不那么令人生畏和不那么令人困惑。(我是这么被告知的。)它也需要更长的时间。

如果通用计算机要能在小型廉价的特殊用途盒子的大举进攻中幸存下来,它们必须变得像那些特殊用途盒子一样易于使用、可靠且易于安装软件。这需要与我们今天在桌面上使用的任何东西都完全不同的操作环境;毫不奇怪,GNU/Linux 比我使用过的任何其他东西都更接近。(Squeak 可能更好,但我还没有尝试过。)但 GNU/Linux 还有很长的路要走。这将需要不同的硬件以及不同的软件。

远程服务器背后的力量是相似的——通过 Web 浏览器使用统一接口易于使用,“只需工作”且无需安装——只需使用即可。但它们也有其他几个优势:它们可以提供需要大量存储或计算资源的服务,这些资源除非你想花费大量现金,否则无法在你的机器上合理提供。(每天下载 AltaVista 的数据库将是一种非常低效的 Web 搜索方式。)

我认为,这些额外的优势目前可能无法克服——尽管我对在许多机器上分配大型计算作业的研究很感兴趣。