开源许可和治理
今年早些时候,关于开源模式是否注定要在 21 世纪的软件即服务 (SAAS) 经济中失败的争论和辩论甚嚣尘上。 这些讨论的一个主题围绕着创建一种新型许可证,该许可证可以有效地保留源代码的可用性和作者署名,同时拒绝被许可人享有作者的一些自由,特别是呈现与所谓署名不同的用户界面的自由。
我已经在 [email protected] 上权衡了所谓的署名许可证提出的问题,但我一直想写下一些关于这些论点的另一面的想法,即,尽管如此,一个现有的许可证如何出色而有效地保护了许可证的三方——作者、用户和其他开发者。
考虑一下 R 项目 和 GRASS。 这两个项目都受 GPL 管辖。 这两个项目都非常广泛和深入,不仅在于它们包含的技术范围(数百个高度专业化的模块),而且在于使用和贡献它们的组成部分。 最近,我一直在思考:两者都具有高度模块化的架构,鼓励多样化的使用社区,但它们的许可证确保了仅仅依靠架构无法实现的统一性。 为了检验这个假设,我开始思考如果这些项目采用类似 BSD 的许可证会是什么样子。
GRASS 和 R 都提供集成模块,因此以 GRASS 为中心的用户可以使用 R,或者以 R 为中心的用户可以充分利用 GRASS。 GRASS 和 R 也都为 PostgreSQL 数据库实现了集成模块,PostgreSQL 也反过来支持以 PostgreSQL 为中心的用户可以访问 GRASS 和 R(反之亦然)。 开源数据库 PostgreSQL 受 BSD 许可证的约束,BSD 许可证是 OSI 批准的许可证,它鼓励了许多初创公司尝试为 PostgreSQL 提供商业支持服务。 今天,EnterpriseDB 和 GreenPlum 都提供基于开源 PostgreSQL 的专有(闭源)产品(就像 Apple 提供基于开源 BSD 操作系统的闭源 OSX 一样)。 EnterpriseDB 和 GreenPlum 似乎都在开发 PostgreSQL 的技术创新,但由于其中一些创新是专有的,并未与社区共享,因此我觉得 PostgreSQL 正在失去 GRASS 和 R 所享有的那种“人人为我,我为人人”的精神。 因此,虽然 PostgreSQL 项目确实从其整体开源公民身份中获得了相当大的好处,但这种公民身份被风险投资支持的创新者视为二等公民和有条件的。
上个月,我在 GRASS 邮件列表中看到一个关于需要清除实现于一本著名的数学手册和参考书中发布的算法的代码的讨论。 理由是该手册版权中声明的权利与 GPL 不兼容,因为它们不支持 GPL 的“共享类似”许可要求。 一方面,想到版权可以将数学算法排除在外,这令人非常不安,另一方面,看到 GRASS 社区迎接 GPL 提出的挑战,即真正地共享和共享类似(没有歧视),这令人鼓舞。 我很容易想象,如果 GRASS 项目是在 BSD 许可下获得许可的,那么肯定会有巨大的压力,特别是来自任何风险投资支持的初创公司,要求简单地接受非自由条款并创建 GRASS 的分支(刀片?),这些分支将具有一种或另一种许可特权。 在这种情况下,BSD 风格的许可证会削弱而不是加强项目治理的决心。
我一直对数学感兴趣,但现在,出于某种原因,我决定为此做点什么。 我一直在买书、阅读和玩 R 以及 R 提供的许多模块和数据集。 一个巨大的惊喜和失望是专有数据和数学方法在文献中是多么普遍。 然而,R 项目已经扭转了这种趋势,而且我再次相信,GPL 特别影响了 R 项目的治理,进而影响了它开发和分发的产品。 我再次相信,如果 R 项目是在类似 BSD 的许可证下获得许可的,它将会分裂成数百个专业模块,可以付费获得,但不能提供给社区。 最重要的是,它会让我无法跨越 R 现在支持的无数学科来追随我的数学好奇心。
现在,这引出了本文的重点:建立社区力量,从中可以建立商业机会,是否更重要? 还是定义特定的商业模式,然后尝试吸引社区加入该模式更重要? 这与当今现代农民面临的困境非常相似:围绕可用于特定地块的工业肥料和资本设备来设计农场更好,还是专注于使土壤尽可能健康,并为那些愿意购买土壤可以维持的产品的人找到市场更好? Polyface Farms 的 Joel Salatin 论证并证明了后者——专注于建立而不是耗尽土壤,对所有人和所有事物都更好。 他围绕诚信而非权宜之计创建了一个蓬勃发展的业务。 我认为,开源模式成功的原因之一是强大的社区就像肥沃的土壤,而 GPL 无与伦比的普及是由于它维护和保护了社区的完整性,甚至在治理层面也是如此。
我并不预测所有其他 OSI 批准的许可证都会在一夜之间被 GPL 取代而立即消亡。 相反,我认为有趣且值得考虑的是,许可如何影响治理,以及治理如何关系到用户社区的长期可持续性。 我认为,拥抱像 SAAS 这样的新软件使用模式以及可能伴随它们的新商业模式的最佳方式,始终首先要考虑什么对社区最有利,然后基于该社区可以创造什么来制定市场策略。 这只是一个想法。