何时开源并非真正的开源?
科学界已经发展出各种理论,试图解释从普朗克尺度(即 1.616 x 10-35 米)到宇宙大小(估计至少为780 亿光年,或 7.38 x 1026 米)的各种现象。一小部分自称为科学家的人提出了他们自己的理论——智能设计论,并声称科学界对其的拒绝证明了科学本身过于狭隘,必须扩展以允许无法独立验证的理论。根据维基百科关于智能设计的条目,没有一篇关于智能设计的文章被任何同行评审的科学期刊接受。这个事实是反驳了科学方法的严谨性,还是反驳了智能设计是一种合法的科学理论的说法?这又与开源有什么关系呢?
Peter Galli 报道称,Aras 公司刚刚采取大胆举措,声称提供“开源”,同时公然声明:
- 他们无意使用 60 多个 OSI 批准的许可证中的任何一个
- 无意提交他们计划使用的许可证以供讨论或批准,并且
- 他们的公司比 OSI 或今天认为自己是开源社区一部分的人更能够定义什么是开源。
Aras 提出了几个理由来解释他们为何选择忽略公认的开源定义,并声称拥有自己的定义:
- 他们的产品仅在微软的 Windows 平台上运行,而不在任何版本的 Linux 上运行
- 他们的产品仅设计为与微软客户端软件(Internet Explorer)互操作,而不是任何实现 W3C 标准的开源客户端
- 他们认为使其产品对开发者有吸引力毫无价值,他们将开发者称为“一个封闭的群体”
- 他们声称,如果软件不能在 Linux 上运行,社区就会拒绝将其视为开源
- 他们提供了一个客户案例,该客户不在乎开源,只在乎能在他们的 Unix 和 Linux 环境中运行的软件(?!)
这些说法中有很多混乱之处需要澄清。
首先,OSI 维护开源定义,将其作为开源的一种宪法式定义。我们相信,定义的透明性使人们能够理解我们的原则并对其进行辩论。公共邮件列表为讨论这些原则在软件许可证和项目中的应用(甚至修订)提供了论坛。一家公司随意声明他们提供开源,但未使用任何经公开接受并审查且被认可符合开源定义的许可证,这与一位科学家在未公开发表以供审查的情况下宣布一项新理论一样,都可能是错误的。
其次,OSI 对试图限制软件应用程序与其运行的操作系统之间关系的软件许可证采取了强硬立场。我们明确拒绝了 The Open Group 起草的一份许可证,该许可证要求,为了享受免费访问、使用和再分发软件的好处,该软件只能在根据 OSI 批准的许可证许可的操作系统上运行。当然,我们会拒绝一个更具体的许可证,该许可证要求操作系统必须是 Linux,从而反驳了 Aras 的主要论点之一,即开源仅在 Linux 上有效。相反,它在 Solaris、BSD 上是有效的,并且正如 Cygwin 软件包完美展示的那样,在 Windows 上也是有效的。
有很多软件仅在 Microsoft Windows 平台上运行。如果根据 OSI 批准的许可证许可,此类软件可以是开源的。然而,正如软件不能因为被要求在 Linux 上运行而成为开源一样,通过许可证而非技术限制与 Microsoft Windows 平台绑定的软件也不能是开源的。这就是开源定义的告知的重要区别,也是保持开源竞争环境公平和公正的区别。
很难判断 Aras 只是在理解上被误导,还是在意图上是狡猾的。目前尚不清楚他们是在独立宣传他们的误解,还是受到了第三方的某种激励才这样做的。显而易见的是,那些在反对开源方面损失最大的公司一直在寻找破坏开源和削弱开源倡导者的方法,开源社区必须认识到这一点并保持警惕。我们必须挑战那些淡化我们努力的言论和行动,无论其动机如何。
如果科学家有理由为构成新理论和被认为是伪科学的标准设定门槛,那么开源社区也应该对什么是开源模式的新颖且有价值的扩展,以及什么是伪造的有发言权。我们应该更关注 Aras 的方法迄今为止未能通过所有测试,还是他们对自己的失败如此自豪?