微软的 Photosynth 本可以是自由软件吗?

作者:Glyn Moody

Photosynth 是我在很长一段时间内见过的最令人兴奋的程序之一。它获取一组照片,通常是关于单个地理位置的照片,但也可能是不同的人在不同时间拍摄的,分析它们的相似之处,然后将它们拼接在一起,形成流畅的伪 3D 全景图。它真的很棒。但有两个问题。一:它不能在 GNU/Linux 上运行;二:它来自微软,因此不太可能在 GNU/Linux 上运行。

我的问题是:为什么自由软件社区没有首先开发出 Photosynth?

十年前,甚至五年前,对于大多数人来说,这都是一个荒谬的问题。自由软件被广泛认为是许多东西——古怪的、酷的、慷慨的、不寻常的、有趣的——但几乎不是创新的。事实上,对开源最常见的指责之一是它“追逐尾灯”,正如微软的 Jim Allchin 在第一份万圣节文件中所著名地指出的那样。今天,这不再是一个站得住脚的立场。

看看微软 Vista 和 Ubuntu 的 Hardy Heron 受到的截然不同的反响就知道了。前者一直是一个相当可悲的哑炮,人们积极避免使用它而偏爱 XP,而在 Hardy 发布前的日子里,日益增长的兴奋感几乎是显而易见的(即使之后有一些关于期望落空的抱怨)。简而言之,GNU/Linux(和苹果 Mac)现在是人们期望看到新的和令人兴奋的东西的地方。

可以争辩说,尽管 Ubuntu 很受欢迎,但它几乎没有创新。但 Firefox 就不能这么说了。它最初可能是通过提供实际上比 Internet Explorer 更好的东西——更快、更安全——而流行起来的,但随着版本 3 的到来,很明显 Firefox 现在正在设定步伐。这包括明显的元素,如“AwesomeBar”——尽管我对这个不谦虚的名字极度怀疑,但我确实发现它非常棒——以及在速度和内存管理方面更微妙的改进。此外,Firefox 团队已经着眼于做得更好,这要归功于像 TraceMonkey 这样的东西

TraceMonkey 是 Firefox 的 SpiderMonkey JavaScript 引擎的演进,用于 Firefox 3.1,它使用一种新型的即时 (JIT) 编译器,将 JS 性能提升一个数量级或更多。

如果你想要另一个开源在闭源只能梦想的方式中进行创新的例子,我向你推荐 Apache。最初只是围绕一些被忽视的代码进行的快速 hack,已经发展成为不仅是公共 Web 的支柱——尽管微软拼命想把它从宝座上拉下来——而且还是一个用于培育和管理 开源项目 的完整系统。后一方面,在 Apache 软件基金会中得到体现,最终可能比最初的 Apache 代码更重要,而最初的 Apache 代码有一天无疑会被取代。提出一个轻量级的软件治理模型——“Apache Way”——是将长期存在的东西。

仍然不相信?看看 Blender。大多数人知道这是一个非常棒的 3D 绘图程序,但最近它已经远远超出了这个范围。它已被用于创建高质量的开源 动画——所有数据文件都是免费提供的——并且目前正在应用于开发开源 游戏。换句话说,Blender 不再仅仅是一个程序,而是一个由相互关联的功能组成的完整软件 生态系统。

在这种持续加速创新的背景下,我的问题是,为什么 Photosynth 来自微软,以及它是否可以改为开源。要回答这个问题,了解 Photosynth 究竟是如何创建的很有帮助。以下是微软关于发生的事情的 描述

2006 年,微软收购了位于西雅图的小型初创公司 Seadragon,该公司的技术能够通过互联网流畅地浏览海量视觉信息。它提供了你想要的所有细节,恰好在你想要的时候,具有可预测的性能,无论数据量有多大——从百万像素到千兆像素。

同年,来自 Noah Snavely (UW)、Steve Seitz (UW) 和 Richard Szeliski (微软研究院) 的突破性研究,一个名为“照片旅游”的原型诞生了。这个想法很简单:给定几十张或几百张关于一个地方的照片,是否有足够的信息来重建该地方的 3D 模型?为实现这一目标而开创的先进计算机视觉技术构成了 synther 的基础。

这些令人难以置信的工具共同构成了 Photosynth 工作的基础。synther 需要大量的视觉数据来生成其 3D 环境,而 Seadragon 技术使之成为可能。

看到该产品的潜力,微软 Live Labs 建立了一个小型初创团队来孵化 Photosynth 项目。他们与微软内部的团队(包括 Virtual Earth、微软研究院、Windows Live 等)合作,一直在努力使 Photosynth 不仅仅是一个原型,而是创造一种任何人都可以享受并从中创造出令人惊叹的东西的体验...

由此可见,Photosynth 是微软拥有大量资金购买拥有创新技术的年轻公司、投资于先进的“纯”研究,然后组建内部创业公司的结果。那么自由软件如何才能与之竞争呢?

创新技术部分不应该是一个问题。自由软件是关于尝试新事物、追随直觉和普遍地享受代码的乐趣:所有这些都直接促进了新的和令人兴奋的软件的创造。

“纯粹的”推测性研究方面更棘手——不是因为这种“蓝天”工作不会发生在像微软这样财力雄厚的公司之外,而是因为大学里的学者越来越面临着从他们的发现中赚钱的压力。这是更大问题——科学商业化——的一部分,它通过专利等方式对自由软件产生不利影响。

解决这个问题的一种方法是,那些宣称自己对开源友好的公司——IBM、Sun 等——将其更多的研究成果免费提供给开源世界。通过这样做,他们将认识到,从长远来看,不将此类研究在短期内商业化,而是允许社区在此基础上构建,可能符合他们的长期利益。另一种策略是让学者们站出来捍卫自己——以及他们的研究——拒绝默许为了短期经济回报而对他们的工作进行盲目剥削,而不适当考虑替代方案,例如与自由软件社区合作以产生更长期和更广泛的社会效益(诚然,说起来容易做起来难。)

微软指出的最后阶段——内部创业公司的创建——可能是问题最多的,因为开源世界固有的分散、去中心化的性质。直到最近,还没有天然的家园供此类团队尝试将新想法转化为新工具。但再一次,我认为 Firefox 已经指明了方向。Mozila 设法创建了一个结构,允许像传统软件公司一样支持开发工作,但又不会失去基于开放代码和开放社区支持的所有额外好处。不难想象,一个更有雄心的 Mozilla 在未来创建小型创业团队,以推动导致 Photosynth 的那种创新工作。

无论是在 Mozilla、Apache 软件基金会,还是在一些完全新的实体中,也许是由开源公司和支持者专门为此目的资助的,自由软件世界都需要找到一种方法来超越其目前不可否认的成就,并开始在 Redmond 巨头可能合理地声称领先的最后一个领域与微软匹敌并超越微软。如果它不这样做,那么开源将永远追逐那些尾灯。

Glyn Moody 在 opendotdotdot 上撰写关于开源的文章。

加载 Disqus 评论