我们很高兴地宣布,Open Source Matters 董事会已批准将 Joomla 框架的许可证更改为较小通用公共许可证(简称 LGPL)。这是一个历史性的时刻,因为这是为了实现 Joomla 成为“平台”的使命迈出的重要一步,在这个平台上可以构建各种类型的应用程序。

什么是 Joomla 框架?

Joomla 框架是下一代代码,它将逐步取代当前与 CMS 一起提供的过时的 Joomla 平台架构。源代码可以在github.com上找到。

与旧的 Joomla 平台区别在于它的分发方式。Composer是一个相对较新的依赖项管理系统,它在 PHP 生态系统中变得非常流行。通过一个名为Packagist.org的公共注册中心,世界各地的开发人员能够比以往更容易地共享他们的代码。Joomla 框架还设计为模块化,允许开发人员选择他们需要的框架部分来完成特定项目。相反,平台是单体的,这意味着开发人员需要包含所有内容,无论他们是否需要它。

许可证变更没有做什么?

从一开始就说明许可证变更没有做什么很重要。

它不会影响 Joomla CMS 的许可证——它仍然将在 GPL 下作为完整作品发布。但是,值得一提的是,CMS 本身已经包含 LGPL 库(除其他事项外,支持多语言功能)以及 MIT 库(例如 Twitter Bootstrap 和 jQuery)。我们的项目对使用其他开源许可证并不陌生。

它也不会影响 Joomla 扩展目录。您仍然需要在 GPL 下发布您的扩展才能被列出——这个立场是最终的,不会改变。但是,扩展开发人员仍然可以使用与 GPL 兼容的许可证来构建他们的扩展(例如 LGPL、MIT 或 BSD 许可证)。今天允许这样做,并将继续这样做。

许可证变更做了什么?

Joomla 框架的目标受众部分是更广泛的 PHP 社区——Joomla 框架旨在成为他们可以用来构建他们梦寐以求的任何类型应用程序的构建块工具包——命令行工具、RESTful API 服务或专门用于特定功能的网站,如商业或信息共享。GNU GPL 的问题在于它对包含它的代码具有众所周知的“病毒效应”,这吓跑了很多人。如果 Joomla 框架是 GPL,那么任何使用它的应用程序也必须是 GPL,并非所有人都同意它是最好的许可证。实际上,PHP 社区,尤其是那些使用 Composer 分发代码的人,是由 Apache 2、MIT 和 BSD 等各种开源许可证组成的。虽然我们确实同意 GPL 是我们 Joomla CMS 的最佳许可证,但并非所有人都同意 GPL 是他们其他应用程序的最佳许可证。

仅将 Joomla 框架的许可证更改为 LGPL 会做很多事情。

首先,它允许我们继续使用 GPL 许可证系列,与我们作为开源项目的传统保持一致。

其次,LGPL 仍然是“版权许可”,这意味着如果您分发了使用 LGPL 代码的应用程序,那么您也必须将 LGPL 的源代码提供给最终用户。与“宽松许可证”(如 MIT 或 BSD)相比,它是一个更强大的许可证。

最后,LGPL 允许开发人员链接到它,而不会“感染”他们应用程序的其余部分。这意味着开发人员可以使用 Joomla 框架构建在各种其他开源许可证下发布的新应用程序,而不是强迫他们使用可能与他们的使用情况不兼容的许可证。

CMS 何时可以使用 Joomla 框架?

实际上,今天 Joomla 3 中已经有一个属于 Joomla 框架的包(它是依赖注入或 DI 包)。由于 Joomla 框架是模块化的,因此我们可以一次添加框架的小部分(而升级单体 Joomla 平台在过去一直是一个巨大的问题)。正在制定计划,将更多内容添加到 CMS 中,以逐步用更现代的代码取代过时的 Joomla 平台,但速度要让开发人员可以轻松地更改。在某些情况下,我们必须等到新的主要版本,因为可能存在引入向后兼容性问题的可能性。

我如何支持 Joomla 框架?

您可以通过多种方式帮助 Joomla 框架团队——有很多事情要做

  • 您可以帮助我们在 framework.joomla.org 创建一个完整的 Joomla 框架开发人员网站。
  • 您可以帮助我们准备基本的“Joomla 框架入门”营销和培训材料。
  • 您可以帮助我们改进每个框架包的开发人员文档。
  • 您可以帮助我们提高代码质量和测试覆盖率。
  • 您可以帮助我们规划 Joomla 框架最终如何在 CMS 中取代 Joomla 平台。
  • 您可以帮助我们设计新的代码来解决新技术不断涌现带来的新问题。

如果您能帮助我们完成这些事项中的任何一项,或有其他评论或问题,请加入我们Joomla 框架邮件列表