Simon Phipps 访谈
在 2001 年加入 Sun 公司之前,Simon Phipps 在 IBM 工作了十年,担任首席 Java 和 XML 布道师。他在 1980 年代后期首次接触到自由软件,当时他在 Unisys 工作的同时,在家兼职销售免费软件。如今,Phipps 是 Sun 公司的首席开源官,在公司将其整个软件产品组合转向开源的过程中,他发挥着关键作用。
GM:当您加入 Sun 公司时,开源活动的状态如何?
SP:我认为 Sun 是最初的开源初创公司。它是我能想到的第一家长期存在的公司,它使用开源作为商业模式的基础。如果您回顾 Sun 的历史,几十年以来,您会看到 Sun 一直在围绕软件和硬件与社区公开合作。它在 NFS 上这样做过,在 TCP/IP 上这样做过,在 Java 上也这样做过,现在它在 OpenSolaris 和其余产品组合中继续这样做。因此,从某种意义上说,Sun 始终存在并且仍然保持着非常非常强大的开源精神。
当我加入 Sun 公司时,Sun 正处于一些非常激进的商业开源实验的最前沿——其中一个是启动 OpenOffice.org,另一个是启动 NetBeans。在 Sun 内部,人们强烈讨论 Solaris 的开源未来,因为它的传统一直是开源的,而且很明显,开源对于它的未来也是一件好事。因此,Solaris 的法律许可工作始于 2000/2001 年。
GM:这涉及什么?
SP:当您拥有一段 20 年历史的代码时,您必须经历的过程是弄清楚谁拥有所有权。这实际上是一个相当棘手的问题,因为几十年来,证明标准逐渐变得越来越严格。仅仅因为文件头中没有任何内容,并不意味着它不属于其他人。其他人可能拥有它的权利。因此,我们在 Solaris 团队中拥有一支绝对出色的团队,他们做了您可能称之为许可考古学的事情——查看代码,将其与已知来源的其他代码进行比较,查看变量命名风格和缩进风格,注释的语言,试图获得关于代码来源的合理证明标准。
有些事情的起源更加明显,我们能够回顾我们的法律档案,查看许可证,并弄清楚我们是否拥有权利。而且,对于其中很多,我们随后不得不回去协商第三方再许可性。在许多情况下,我们发现人们非常乐意仅仅给予我们这项权利。在某些情况下,我们发现被许可人不再存在;找出废弃代码属于谁是另一门艺术。
您必须注意的另一件事是基于信息披露的代码,而信息披露本身是根据商业秘密条款进行的。因此,尽管我们编写了代码,但我们实际上并没有权利披露它,因为这样做会泄露商业秘密。而且,我们仍然遇到一些代码问题,特别是来自视频卡制造商的代码,他们愿意根据商业秘密条款告诉我们他们的芯片组是如何工作的,但他们继续拒绝允许我们实际披露源代码。
GM:与您考虑许可证并行——您最终如何获得 CDDL 许可证?
SP:Solaris 源自 BSD。它实际上是 BSD 与 System V 在某个时刻合并的,因此很多人认为我们应该使用 BSD 作为许可证。然而,Solaris 中发生的许多创新都是由最近聘请的人员——更年轻、更杰出的工程师完成的。而且,也有人强烈认为我们应该使用 GPL。此外,很多人认为 Mozilla 的许可方法是正确的。
使用 GPL 的困难在于,随着我们进行许可考古学,很明显,在软件中会存在一些我们无法为源代码协商免费许可证的地方。而且,代码中会有一些非常重要的地方,而且在很长一段时间内会有很多这样的地方。这可能是决定不使用 GPL 而是使用 Mozilla 许可证的决定性因素。
我们研究了 Mozilla 许可证,我们意识到我们不能按原样使用它。我们看到许可证激增是一个日益严重的问题。因此,我们决定尝试为自由软件和开源社区做一件好事,通过参数化来制作 Mozilla 许可证的最后一个克隆版本,使其成为永远不需要制作的版本。我们尽可能保持语言的相同,并生成了通用开发和分发许可证 CDDL。在我看来,CDDL 绝对是一个出色的许可证;如果不是 Sun 编写的,它将被誉为杰作。
GM:您如何看待 OpenSolaris 和 GNU/Linux 之间的关系?
SP:我认为这两个世界之间存在巨大的重叠。当您运行像 Nexenta 这样的 OpenSolaris 发行版时,您会发现一件有趣的事情,天哪,它看起来就像 Ubuntu。而且您知道,这有一个非常好的理由:因为它就是 Ubuntu,但它有一个 Solaris 内核。
当您查看类 UNIX 操作系统真正是什么时,每个操作系统都是一组关于围绕哪个内核组装哪个自由软件用户空间的编辑选择。因此,您会发现 Fedora 中的每个人、FreeBSD 中的每个人以及 OpenSolaris 中的每个人都在使用相同的东西。他们都在使用 GNOME 或 KDE,他们都在使用 Sendmail,他们都在使用 Mozilla。
在 Solaris 社区中,他们倾向于使用 OpenSolaris ON,这是 OpenSolaris 中内核和网络的术语。ON 代表操作系统/网络。围绕它的用户空间,嗯,有一种服务器运行者使用的用户空间风格。然后是开发者使用的用户空间风格,这通常是 GNOME 或 KDE 以及工具。这在 Solaris 上与在 Fedora 上完全相同。外观和感觉不同,关于图标放置位置的编辑选择不同,但最终,它们都是相同的东西。
因此,我认为随着我们前进,我们将看到我们在思考类 UNIX 操作系统的方式上逐渐转变。我们将看到人们不再试图任意区分该社区中的不同同行。我认为人们试图在 UNIX 和 Linux 之间强行区分是公司削弱其竞争对手的 UNIX 版本的策略的一部分。我认为这损害了我们所有人,因为真正的竞争对手不是其他人的类 UNIX 操作系统,而是封闭的东西。我认为在未来,我们将看到人们决定运行带有 Solaris 内核的 Debian 用户空间,以及使用带有 Linux 2.6 内核的 Solaris 风格的最小安装。我们将看到人们开始将 BSD 内核与 KDE 以及他们从 Solaris 社区获得的软件包管理器一起使用。
GM:Java 开放背后的历史是什么?
SP:[在 1990 年代后期] 开源世界正在发生的事情是,人们意识到附带源代码风格的许可在商业上是可行的。我们看到了 Mozilla 的发布,然后我们看到了开源促进组织接受 Debian 社会契约并将其转变为开源定义。与此同时,在 Sun 公司,一切都非常繁忙;业务量远远超过 Sun 公司能够应对的范围。它真的没有带宽来应对开源社区正在发生的这些事情。因此,它在很大程度上忽略了它,因为每天的时间都已经满了。
更重要的是,那些做开源工作的人实际上对 Java 非常敌视。他们的敌意并没有因为认识到 Java 来自现在将被公认为开源公司的公司而有所缓和。开源运动正忙于接受来自 IBM 的恩惠来推广 Linux——我们不妨说,这并非完全与 Linux 不是 Solaris 无关。而且,从 2000 年到 2003 年,一股不良情绪的引擎正在良好地嗡嗡作响,所有参与者都竭尽全力确保理解和合作不会爆发。
GM:那么发生了什么?
SP:当 [互联网泡沫] 破裂时,Sun 公司经历了一次濒临死亡的体验。它看到其股价跌至之前价值的十分之一,并意识到需要解雇大量员工。突然变得非常明显的是,许多不认同 Sun 公司价值观的人不再属于这里;同样变得非常明显的是,Sun 公司一直在采取的一些软件方法实际上与 Sun 公司的长期价值观不符。
大约在 2003 年左右发生的变化是,Java 拥有庞大的国际社区变得显而易见。它实际上拥有庞大的开源社区,在 Java 平台上进行开发,使用 Spring、Hibernate、JBoss 等开源工具。而且,我认为人们逐渐越来越清楚地认识到,这个社区可能不再像以前那样容易受到垄断的影响。这意味着将防止垄断作为头等要务变得越来越不重要,并且开始考虑 Java 平台许可的其他优先事项变得可以接受。
GM:许可证呢?您最终如何做出令人惊讶的 GPL 选择?
SP:我们研究了几乎所有您能想象到的 Java 平台许可证。显然,很多人认为我们将使用 CDDL。我们必须问自己几个问题:其中之一是哪种许可证最有可能防止被某人“爱死”的垄断。另一个因素是询问谁没有使用 Java。而且,Java 实际上非常普及。它在 50 亿台设备上,在十分之八的手机上,并且在绝大多数企业应用服务器上使用。
因此,问题必须是,当您已经拥有如此强大的市场时,您如何增长?而且,我们可以增长的明显地方实际上是 GNU/Linux。如果您查看欧洲和北美以外的 GNU/Linux 的使用情况,您会发现像 Fedora 和 Debian 这样的发行版在这些地区实际上非常非常重要。而且,由于许可问题,这些发行版实际上都没有携带 Java。
更糟糕的是,自从他们携带 Java 以来已经过了很长时间,以至于他们的软件包管理系统已经发展到 Sun 公司实际为这些平台制作的 Java 版本无法安装的程度。因此,例如,您无法在 Debian 上使用 apt-get 安装 Java。Sun 公司提供的只是一个 RPM。而且,是的,如果您决心,您可以将其强制安装进去,但从根本上说,Java 根本无法用于 Debian。
我们认为,我们对 Java 市场可能产生的最大影响是解决与 GNU/Linux 社区的长期争端。我们认为,这样做将使市场为所有人带来利益而增长。
作为 GNU/Linux 上的应用程序开发人员,您不想担心正在使用的内核版本以及人们拥有的桌面环境以及他们正在使用的软件包管理系统;您不想为所有不同的 GNU/Linux 版本提供 500 个不同版本的安装程序。因此,Java 具有非常强大的价值,它可以为 GNU/Linux 社区提供允许并非每个应用程序,而是许多与系统内部结构耦合不太紧密的应用程序使用平台独立的编程机制编写的能力。这就是 Perl 和 Python 等为该平台带来的主要价值。我们认为,这是一个很好的契合点。
选择 GPL 的另一个驱动因素是我们认为,可能导致垄断滥用 Java 平台的行为通常会在秘密进行,直到发布为止。通过使用 GPL,人们会发现秘密进行广泛的开发非常棘手。因此,我们认为 GPL 为我们提供了最强大的保护,以防止垄断者在 Java 平台上做出不当行为。
GM:在几年前的一次演讲中,Sun 公司的首席执行官 Jonathan Schwartz 认为 GPL 是“IP 殖民主义”,因为他声称它对较贫穷的国家施加了“一种相当掠夺性的义务,即将他们所有的 IP [回馈] 给世界上最富有的国家”。他为什么改变主意?
SP:嗯,您知道,这是一件有趣的事情,因为我不确定他是否错了。GPL 确实要求您放弃对软件的商业保护。而且,例如,在巴西,将 GPL 用于当地软件产业可能会损害巴西经济。如果您实际阅读 Jonathan 当时提出的论点,这是一个很好的学术论点。使其具有争议性的是,说这话的是 Sun 公司的首席运营官。
GM:Sun 公司现在在多大程度上致力于开放其能够开放的一切?
SP:我们完全致力于开源我们能够开源的一切。Jonathan Schwartz 大约两年前就断言这是我们的立场。我们正在顺利实现这一承诺。
GM:鉴于对自由软件和开源社区的这种承诺,Sun 公司加入 Eclipse 而不是单独推动 NetBeans 是否更明智?
SP:这里的关键再次在于您如何看待开源。开源不是您加入的东西;而是您做的事情。而且,Sun 公司不想加入 Eclipse 社区,就像 IBM 不想加入 OpenOffice.org 社区一样。我们为什么要加入一个不制作任何我们想在产品中使用的代码的社区呢?
[Eclipse] 在 IBM 决定建立它的方式中,对 Sun 公司有明显的劣势。如果您想加入董事会,您必须支付一大笔钱,您必须承诺一定数量的工程师只致力于此,并接受 Eclipse 社区的指导,并且您必须保证在一年内生产出使用 Eclipse 核心代码的产品。而且,为了满足这些要求,我们将需要放弃 NetBeans。而且,NetBeans 是我们工具开发的重要组成部分。
GM:最后,您对开源成为计算主要组成部分的世界有何愿景?
SP:我实际上认为我们正处于社会运作方式的支点中间。我相信万维网作为普及互联网的工具,正在产生一些与工业革命一样具有影响力的东西。而且,我认为在未来十年中,我们将看到改变一切运作方式的过程在我们面前展开。
在万维网之前,世界上发生的大多数事情都是以中心辐射式的方式完成的,例如,政府在中心,公民在辐射的末端。或者,行业在中心,客户在辐射的末端。我认为万维网的引入已将社会的基本拓扑结构从中心辐射式变为网状。
由于软件行业与万维网紧密相连,因此它是最早受到影响的行业之一。因此,我认为开源是向网状世界转变的必然结果。在我看来,它是参与时代软件开发的主要方式。您赚钱的方式不是在开始时通过许可证锁定人们,而是通过提供人们在运行事物后想要的功能。
在网状世界中,帮助您在业务上取得成功的是影响力。而且,您获得影响力不是通过权力,而是通过有价值。我的愿景是,我们正在转向这个以影响力代替控制、以价值代替权力、以参与代替分配的新世界。
因此,我们可以预期看到一股变革浪潮,网状社会的原则开始在其他领域得到发展,例如政治、新闻业、家庭运作方式、资金的处理、表示和存储方式。所有这些事物都将逐渐受到网状社会的影响。而且,我认为站在与网状社会合作的最前沿,将对 Sun 公司和开源社区的人们大有裨益。
Glyn Moody 在 opendotdotdot.blogspot.com 上撰写关于自由软件和开源的文章。