文章摘要
文章讨论了开源软件的定义争议。Ruby on Rails创始人将限制商业竞争的许可证称为"开源",但该许可违反开源促进会的官方定义。WordPress创始人反驳称不能随意重新定义"开源"这一具有特定含义的术语。作者指出"源代码可用"不等于"开源",但这也无可厚非。
文章总结
标题:"源码可用"不等于开源(这没关系)
本周,Ruby on Rails创始人David Heinemeier Hansson(DHH)与WordPress联合开发者Matt Mullenweg就"开源"定义爆发争论。作为深耕开源可持续发展领域二十年的从业者,我有几点观察。
DHH近日发布了一款名为Fizzy的看板工具,并宣称其采用"开源"模式。但业界很快指出,其采用的O'Saasy许可证禁止他人提供竞品SaaS服务,这直接违反了开源促进会(OSI)的定义。面对质疑,DHH在社交平台轻描淡写地回应:"这不过是人们编造的规则",并坚持"开源就是源代码公开"的简化定义。
Matt Mullenweg随即发表反驳文章,强调不能无视OSI的权威定义。虽然他将此比喻为"朝鲜自称民主国家"略显生硬,但核心论点成立——"开源"是经过数十年沉淀的严谨概念,不能随意曲解用于营销目的。
这场争论的讽刺之处在于,DHH数月前还在Lex Fridman的播客中,以开源精神为名批评Matt处理WP Engine纠纷的方式。若开源定义真如他所言只是"编造的规则",那么当时指责Matt违背的又是什么精神?
定义之争背后是更严峻的可持续发展问题。DHH选择限制性许可证,实则反映了开源领域的普遍困境:大量企业通过开源软件获利,却不愿反哺社区。这种矛盾也体现在Matt与WP Engine的纠纷中,尽管两人应对方式不同。
值得注意的是,DHH能对Fizzy进行许可证实验,而Matt无法改变WordPress沿用二十余年的GPL协议。这种差异凸显了成熟项目的路径依赖。
在Drupal社区,我们尝试通过贡献积分制引导企业支持项目,虽有效果但仍未根本解决生态失衡。六年前我在《创造者与索取者》一文中就呼吁:需要既能鼓励软件复用、又能防止客户白嫖的新许可证。O'Saasy正是这类实验。
更准确的说法是:Fizzy属于源码可用软件。用户可查看、运行和修改代码,但SaaS商业权由DHH公司保留。这种模式虽合理且慷慨,但严格来说并非开源。
关于开源可持续发展,我至今没有完美答案,但确信更名改姓绝非解决之道。我们更应思考: - 如何区分"无力贡献"与"不愿贡献"的企业? - 真正能改变企业行为的是道德约束、利益驱动、惩罚措施、专属权益,还是法规强制?
若此次争论能促使行业超越语义之争,直面这些实质问题,或将带来积极改变。
评论总结
以下是评论内容的总结,平衡呈现不同观点并保留关键引用:
1. 关于"开源"与"源码可用"的界定争议
支持严格区分: - "O'Sassy是源码可用而非开源。我逐渐理解这种区分的价值" (xyzzy_plugh) - "开源意味着可商用和修改,源码可用则仅能调试问题" (Incipient)
反对严格区分:
- "开源由两个常见词组成,其常识含义与OSI定义不同" (phendrenad2)
- "坚持不让'源码可用'自称开源保护了什么开源价值?外人看来只是内耗" (jrowen)
2. 对新型许可证的态度
支持创新许可: - "需要更多源码可用许可,我厌倦了OSI的思想警察" (modzu) - "大公司正在侵蚀'开源'的真实含义,更少但更有意义的开源更好" (benrutter)
质疑商业动机: - "这些新许可本质是版权方为自己保留特殊地位" (zokier) - "DHH既想假装是真正OSS,又想禁止某些用途" (wvenable)
3. 开源生态的反思
社区价值: - "依赖源码可用项目有风险,开源社区比公司更持久" (jillesvangurp) - "如果Linux是源码可用,今天的计算环境将是地狱" (koolala)
代际差异: - "新程序员可能认为'开源就是像MIT那样',OSI永远无法完全控制这个术语" (kemitchell) - "这些争论终将消失,就像引发它们的时代环境一样" (kemitchell)
4. 技术解决方案建议
- "为什么不用AGPL?若不足可推动AGPLv2" (theanonymousone)
- "应该用大写字母区分专有名词Open Source" (NiloCK)
5. 其他观点
- "对极右翼活动家的软件许可争论提不起兴趣" (cess11)
- "文章误导:DHH自己说这不是技术上的Open Source™" (jbstack)
关键矛盾集中在术语定义权、商业可持续性与社区价值的平衡,以及新旧理念的代际冲突。