开发者

PLC4X 的 Apache 成熟度模型评估

qianmoQqianmoQ· 更新于 2026-10-01· 阅读 14 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

概述

这是对 PLC4X 项目成熟度的一项评估,旨在帮助(导师、社区、孵化器 PMC 以及 ASF 董事会)做出将其毕业成为 Apache 顶级项目的决定。

该评估基于 ASF 项目成熟度模型,详见 https://community.apache.org/apache-way/apache-project-maturity-model.html

成熟度模型评估

我们鼓励社区成员为本页贡献内容并发表评论,下表总结了项目依据 Apache 成熟度模型进行的自评。

ID描述状态
Code
CD10项目产出开源软件,免费向公众分发。项目源代码以 Apache License 2.0 版本授权。
CD20项目的代码易于发现且可公开访问。我们的源代码可在 Apache GitBox 和 GitHub 上获取,并在我们的 网站 上提供了链接
CD30代码可使用广泛可用的标准工具以可重复的方式构建。我们的 Maven 构建已在 Linux、Mac-OS 和 Windows 上经过测试,构建说明可在我们的 网站 上获取
CD40项目的完整代码历史可通过源代码控制系统获取,且能以允许重现任何已发布版本的方式保存。完整的提交历史自 项目之初 起均可获取。
CD50每行代码的来源均通过源代码控制系统确立,基于提交者的强身份验证,方式可靠。当提交第三方贡献时,提交信息会提供关于代码来源的可靠信息。项目使用由 Apache Infra 管理的 git 仓库,确保每行代码均可溯源到提交者;每行代码在进入孵化期之前的提交均以相同方式配置。
Licenses and Copyright
LC10代码以 Apache License 2.0 版本发布。源码分发包以及便捷二进制构件均明确声明其以 Apache 2.0 许可证授权
LC20作为项目代码强制依赖的库,其限制不得超过 Apache License 所规定的限制。强制依赖列表已过审查,仅包含已获批准的许可证。
LC30LC20 中提到的库以开源软件形式提供。所有强制依赖均以开源软件形式提供。
LC40提交者受《个人贡献者协议》(即 "Apache iCLA")约束,该协议规定了他们被允许提交哪些代码,以及如何标明非本人编写的代码。项目使用由 Apache Gitbox 管理的仓库——写入权限需要 Apache 账户,而该账户需要已备案的 ICLA。
LC50项目所产出的一切内容的版权归属均有明确定义并有文档记录。源码仓库中的所有文件均带有适当的文件头,这由构建中包含的工具强制执行。所有初始提交者的 ICLA 均已记录在案。所有相关公司的 CCLA 均已记录在案。初始贡献的 SGA 已备案。
Releases
RE10发布内容包括源代码,使用标准且开放的归档格式分发,这些格式预期在长期内仍保持可读。当前源码发布 通过 dist.apache.org 分发,较早的源码发布 可从 archive.apache.org 获取。两者均在 网站 上提供了链接。
RE20发布需经项目 PMC 批准(参见 CS10),以使其成为基金会的行为。所有孵化期发布均已获得 PLC4X 社区和 Incubator 的一致批准,每次均至少获得 3 票 (P)PMC 投票,且 +1 多于 -1。
RE30发布经过签名,和/或附带摘要一同分发,这些摘要可用于可靠地验证下载的归档文件。所有发布均已签名,并在 dist.apache.org 上提供 KEYS 文件
RE40便捷二进制可与源代码一同分发,但它们不是 Apache 发布——只是提供的便利,不作任何保证。便捷二进制仅通过 Maven Central Repository 分发。目前由于 C++ 库的平台依赖性,暂未进行分发。
RE50发布流程有文档记录且可重复,新加入项目的人能够独立生成发布所需的完整构件集。我们有一份面向发布经理的指南,已由多位发布经理测试,可在我们的 网站 上获取。
Quality
QU10项目对其代码质量公开透明。不同模块具有不同的质量和成熟度是自然且可接受的,只要明确说明即可。所有 issue 均记录在我们的 GitHub Issues 中,这是我们的主要缺陷和问题跟踪系统。
QU20项目高度重视产出安全的软件。尽管我们尚未收到任何针对 PLC4X 的安全问题,但我们主动监控依赖项,若收到报告,将按照 CVE/安全通告流程 以最高优先级处理。
QU30项目提供一个有完善文档、安全且私密的渠道用于报告安全问题,并配有文档化的响应方式。我们使用 Apache 默认的安全相关信息提交方式,详见我们的 网站
QU40项目高度重视向后兼容性,力求记录任何不兼容的变更,并提供工具和文档以帮助用户迁移到新特性。我们尽量保持一切向后兼容。若不得不引入不兼容的变更,这些变更会在发布说明中的 Incompatible changes 部分予以记录。
QU50项目力求及时响应有文档记录的缺陷报告。缺陷报告会被优先处理,并自动发布到我们的开发者邮件列表 dev@plc4x.apache.org" class="bare">https://lists.apache.org/list.html?[dev@plc4x.apache.org](mailto:dev@plc4x.apache.org),以便得到显著关注。
Community
CO10项目拥有一个知名的主页,指向按照本成熟度模型运作所需的全部信息。项目网站提供了 项目描述(含技术细节)、如何贡献、团队。
CO20社区欢迎任何以善意、尊重的方式行事并为项目增添价值的人所做的贡献。迄今为止,我们认可任何形式的贡献,并邀请每一位有志于加入团队的贡献者加入。
CO30贡献不仅包括源代码,还包括文档、有建设性的缺陷报告、有建设性的讨论、市场推广,以及总体上任何能为项目增添价值的内容。这是 贡献指南 的一部分,现有提交者也非常欢迎各种贡献。
CO40社区奉行精英治理,力求随时间推移给予为项目增添价值的贡献者更多权利和责任。迄今为止,社区已选举产生 4 名提交者,他们均同时加入了 PPMC。
CO50贡献者如何获得更多权利(如提交权限或决策权)的方式有明确文档记录,且对所有贡献者一视同仁。相关标准记录在 贡献指南 中。
CO60社区基于拥有决策权的成员(参见 CS10)的共识运作。独裁者,无论是否仁慈,在 Apache 项目中都不受欢迎。项目致力于建立共识。迄今为止所有投票均获得一致通过。
CO70项目力求及时回答用户的问题。对已报告的问题或提出的问题的响应通常由社区在数小时内处理(在典型的欧洲时区工作时间内响应更快)。
Consensus Building
CS10项目维护一份拥有决策权的贡献者公开名单——项目的 PMC(项目管理委员会)由这些贡献者组成。团队所有成员均已添加到 团队页面。
CS20决策由 PMC 成员 9 之间通过共识做出,并记录在项目的主要沟通渠道上。社区的意见会被考虑在内,但如有必要,由 PMC 做出最终决定。所有决策均在我们的某个邮件列表上做出。任何在列表外讨论的决策均已带回列表进行最终讨论,我们将继续这样做。
CS30当讨论不足以达成一致时,使用有文档记录的投票规则来建立共识。我们已在 网站 上记录了我们的决策规则。
CS40在 Apache 项目中,否决仅对代码提交有效,且需给出技术性说明,依据 CS30 中定义的 Apache 投票规则。这一部分与 Apache Incubator 的投票规则直接矛盾。本项目遵循 Apache Incubator 的投票规则,我们已在 网站 上记录。
CS50所有"重要"讨论均以书面形式在项目的主要沟通渠道上异步进行。线下的、面对面的或私下的讨论 11 若影响项目,也须在该渠道上记录。如 CS20 所述,当面对面会面时无法避免列表外的讨论。但我们始终以这样的方式处理事务:我们会撰写重要讨论的摘要并发布到邮件列表。
Independence

| IN10 | 项目独立于任何企业或

评论

登录后参与评论

正在加载评论…