根据新版 Odoo 调整我们的许可证
在过去的两年里,OpenERP 已成为 Odoo,并远远超出了 ERP 领域。如今,Odoo 已成为一个完整的软件套件,适用于各种规模公司的运营和发展。事实上,它可能是这个星球上最完整、发展最快、安装人数最多的企业管理软件。一个重要的里程碑是发布了一套完整的内容管理系统和电子商务应用程序,并与所有其他应用程序完全集成。虽然这些应用程序有很大的吸引力,但距离实现其全部潜力还很遥远--为此,我们需要开辟新天地。
在这种情况下,我们意识到,当前的 AGPL 许可证虽然到目前为止对我们很重要,但并不最适合 Odoo 的未来。
事实上,除了为 Odoo 模块做出贡献的蓬勃发展的社区外,CMS 和电子商务等新应用程序还需要吸引其他开发人员,如自由职业者和软件出版商。这些贡献者需要付出很多来丰富 Odoo 的产品,但在目前的许可证下,他们得到的回报却很少,因为他们不是系统集成商(因此无法从服务费中获益),而且在目前的条款下,他们无法出售具有必要法律保障的模块。因此,我们将逐步把 Odoo 从 AGPL 许可证转变为 LGPLv3 许可证(Lesser General Public License)。LGPL 是 OSI 和自由软件基金会认可的开放源代码许可证。
总之,好处如下
-
我们可以开辟一个真正的 "应用程序商店",让客户和出版商都能从中受益,只要他们获得一定的经济补偿,他们就愿意投资于包装完整、随时可用的应用程序。这对我们的内容管理系统和电子商务至关重要,但也将使其他应用程序受益。
-
最终用户将能够使用大公司发布的对其业务至关重要的标准专有模块(例如,用于电子商务运输的 UPS/Fedex 连接器)。
-
许可证仍为 "Copyleft",这意味着我们保留了这类许可证提供的坚实保护。
-
使用内容管理系统的客户不必担心必须向每个网站访问者公布其 Odoo 实施的全部源代码。
-
该许可证与 AGPL v3 兼容,这意味着该许可证下的模块仍可在 Odoo 中使用。不过,我们建议当前的所有者也迁移到 LGPLv3。
我们在此电子表格中对各种选择进行了全面比较。更多信息,请参阅常见问题部分。
我们知道,许可证的变更往往会在开源社区引发激烈的争论。尽管如此,我们坚信,新的许可证在开源自由与保护贡献者(无论谁)的权利之间取得了更好的平衡。
我们深信,新许可证对 Odoo 的未来至关重要,我们希望社区能在整个变革过程中支持我们。
常见问题
您将如何管理不在 Odoo 核心中的外部贡献的许可证变更?
通常的贡献准则是开发外部模块(大约有 4000 个)。我们不会推动这些模块的许可证变更,但会建议它们的所有者(或与 CLA(如 OCA)的关联)转向 LGPLv3,为未来创造一个更灵活、更统一的基础。
您打算如何管理过去外部贡献的许可证变更,这些外部贡献现已纳入 Odoo 的核心?
更改 Odoo 许可证需要获得当前 Odoo 源代码所有版权所有者的同意,因为过去的贡献并没有提交贡献者许可协议 (CLA)。
我们审查了当前的 Odoo 8.0 源代码,非 Odoo 员工开发的代码量约占代码库的 2%。
我们将采取以下行动
-
建议每位新贡献者都签署一份 CLA。一旦主要贡献者签署了该协议,没有知识产权的代码将低于 0.5%。
-
两个月后,我们将联系尚未签署 CLA 的投稿人,询问他们是否签署:
-
他们是否准备好签署 CLA
-
如果他们不同意,我们将确保在 Odoo 第 9 版发布之前删除他们的代码。(幸运的是,我们必须为第 9 版中的新 API 重写大部分模块)。我们预计这项额外工作不会超过几天的开发时间。
-
今后如何管理新的外部捐助?
我们将很快发布《贡献者许可协议》,并要求贡献者在接受贡献前签署该协议。
它将与 GitHub 上的贡献流程紧密结合,与我们的自动持续集成测试(runbot 构建)类似,"CLA "状态将自动显示在每个拉取请求上。我们将很快发布有关 CLA 和流程的更多细节。
变更何时生效?
一旦我们解决了所有关于外部贡献的讨论,我们将准备在下一个 Odoo 版本中将许可证更改为 LGPLv3。我们预计这需要几个月的时间。
我们能否使用 AGPL 模块和付费模块?
Odoo 项目将可以使用 AGPL 模块或专有许可下的付费模块,但不可能将两者结合起来。不过,结合使用 LGLPv3 模块和专有模块是可以的,因此我们鼓励目前使用 AGPL 许可的所有者也转用 LGPLv3,以避免最终用户的复杂化。
LGPLv3 不是为图书馆设计的吗?
虽然许可证的许多措辞都提到了库,但严格意义上讲,它并不是指在这种情况下使用。实际上,Odoo 也是一套库:许多项目将 Odoo 作为一个框架来构建符合其需求的客户应用程序。最后,与 MPL(类似)相比,LGPLv3 具有与 AGPL 兼容的优势,这对过渡非常重要。
付费模块会损害开源协作吗?
我们认为,许多模块将继续采用当前的社区开发流程(或 OCA 模块的 OCA 流程),其他模块将成为付费模块。
每个人都可以根据自己的模块选择最佳的工作方法。
例如,我们预计 OCA 模块将继续以开源方式开发,人们将对其进行合作。Odoo SA 的模块也将是开源的,不会通过应用程序商店销售。这种开发流程非常适合:会计本地化、改进现有模块(库存、MRP 等)。
对于出售的模块,我们预计当人们通过应用程序商店购买模块时,他们会获得正确的 github 分支访问权,从而可以与作者合作:获取错误修正、提出拉取请求。因此,销售模块并不妨碍合作,只是将合作限制在购买者范围内。这种开发流程更适用于:主题(由设计师完成)、开箱即用的行业解决方案(AdSpike)、与专有服务相关的模块(配送运营商等)。