开放原子开源基金会发布孵化项目毕业标准 v1.0

简介: 开放原子开源基金会发布孵化项目毕业标准 v1.0

1.代码与文档 (Code and Document)

OA-CD-10

【中】项目代码是易于找到的,并且能被公开访问。

【EN】The project's code is easily discoverable and publicly accessible.

OA-CD-20

【中】可以使用常用的标准工具对项目代码进行重复构建。

【EN】The code can be built in a reproducible way using widely available standard tools.

OA-CD-30

【中】应通过源代码管理系统保留项目代码的完整变更历史,所有已发布版本都可以被重新构建。

【EN】The full history of the project's code is available via a source code control system, in a way that allows any released version to be recreated.

OA-CD-40

【中】每一行代码必须由具备强认证机制的提交者通过源代码管理系统建立,当提交第三方贡献时,提交备注中要包含可靠的代码来源信息。

【EN】The provenance of each line of code is established via the source code control system, in a reliable way based on strong authentication of the committer. When third-party contributions are committed, commit messages provide reliable information about the code provenance.

OA-CD-50

【中】项目必须有最终用户文档,例如:API、CLI、仪表板、安装部署、配置等。

【EN】The project must have end-user docs in place such as API use, CLI use, Dashboard use, Deployment use, Configuration use.

OA-CD-60

【中】项目应具有可证实的用户支持历史,可以是在邮件列表或issue系统中的答复。

【EN】The project should have a proven history of providing user support,such as replies in mailing list or issue systems.

2.流程 (Process)

OA-PR-10  

【中】项目需要有符合业界最佳实践的代码提交流程。

【EN】The project requires a code commit process that meets industry best practices.

OA-PR-20

【中】项目团队应该与营销团队一起确定合适的官方名称。

【EN】The project should have engaged with marketing team to check suitable official name.

OA-PR-30

【中】项目需要通过独立的第三方安全审计。

【EN】The project should have completed an independent and third party security audit.

OA-PR-40

【中】项目必须使用基金会基础设施团队认可的任务、缺陷和设计跟踪工具。

【EN】The project must use task, defect and design track tools that approved by infrastructure team of OpenAtom Foundation.

3.许可证与版权 (Licenses and Copyright)

OA-LC-10

【中】代码发布需要满足项目所采用开源许可证的合规性/兼容性要求,且符合开放原子开源基金会的知识产权政策。

【EN】The code is released under the open source license that project used, meets the compatibility requirements,and complies with OpenAtom Foundation's IPR policy.

4.发布 (Releases)

OA-RE-10

【中】发布要包含源代码,分发时需要采用标准开放的打包格式,以便长期保持可读性。

【EN】Releases consist of source code, distributed using standard and open archive formats that are expected to stay readable in the long term.

OA-RE-20

【中】发布由项目的项目管理委员会批准。

【EN】Releases are approved by the project's PMC (Project Management Committee).

OA-RE-30

【中】发布需要进行数字签名或带有哈希摘要,以校验下载包的完整可靠。

【EN】Releases are signed and/or distributed along with digests that can be reliably used to validate the downloaded archives.

OA-RE-40

【中】发布必须包含源代码,也可同时发布二进制文件。

【EN】Release must include source code; convenience binaries can be distributed alongside source code.

OA-RE-50

【中】发布过程必须有详细的文档说明,并且是可重复进行的。根据文档指引,任何人能够独立生成发布所需的所有制品。

【EN】The release process is documented and repeatable to the extent that anyone is able to independently generate the complete set of artifacts required for a release.

OA-RE-60

【中】项目必须有清晰的版本计划,并且必须制定至少2个常规的后续里程碑。

【EN】The project must have a clear roadmap and must have followed at least two common milestones.

5.质量 (Quality)

OA-QU-10

【中】项目对代码的质量要开放且诚实。

【EN】The project is open and honest about the quality of its code.

OA-QU-20

【中】项目的安全性是最高优先级的。

【EN】The project puts a very high priority on secure software.

OA-QU-30

【中】需要提供一套规范化的安全响应流程。

【EN】The project requires a standardized security response process.

OA-QU-40

【中】项目要重视兼容历史版本,尽可能将所有不兼容的变更文档化,并提供工具和使用说明帮助用户过渡到新的特性。

【EN】The project puts a high priority on backwards compatibility, aims to document any incompatible changes and provides tools and documentation to help users transition to new features.

OA-QU-50

【中】项目应该努力及时响应已上报的BUG。

【EN】The project strives to respond to documented bug reports in a timely manner.

OA-QU-60

【中】该项目必须具有合理的CI流程/工具、单元测试及测试代码覆盖率。

【EN】The project must have decent CI process/tools, unit test and test code coverage.

OA-QU-70

【中】项目对登记的issue应进行合理的分类、分级。

【EN】The project should have a decent record of triaging incoming issues.

6.社区 (Community)

OA-CO-10

【中】项目有一个众所周知的主页。

【EN】The project should have a well-known homepage.

OA-CO-20

【中】社区欢迎所有出自善意、行为受尊重、为项目增添价值的参与者的贡献。

【EN】The community welcomes contributions from anyone who acts in good faith and in a respectful manner and adds value to the project.

OA-CO-30

【中】贡献包含但不局限于源代码,也可以是文档、建设性的错误报告、建设性的讨论、市场推广或者其他任何会为项目增值的内容。

【EN】Contributions include not only source code, but also documentation, constructive bug reports, constructive discussions, marketing and generally anything that adds value to the project.

OA-CO-40

【中】社区要符合贤能治理的精神,随着时间的推移,为项目增值的贡献者会被赋予更多的权利和责任。

【EN】The community strives to be meritocratic and over time aims to give more rights and responsibilities to contributors who add value to the project.

OA-CO-50

【中】社区的运作基于具有决策权的成员的共识,避免一言堂。

【EN】The community operates based on consensus of its members who have decision power. Dictators, benevolent or not, are not welcome in projects.

OA-CO-60

【中】项目致力于及时解答用户的问题。

【EN】The project strives to answer user questions in a timely manner.

OA-CO-70

【中】项目需要在项目网站或Readme显示项目的孵化状态。

【EN】The project should list project’s incubation status prominently on website/readme.

OA-CO-80

【中】项目有一定数量的活跃提交者和相当规模的代码提交数量和合并数量。

【EN】The project should have a healthy number of committers, and demonstrate a substantial ongoing flow of commits and merged contributions.

OA-CO-90

【中】项目应明确定义项目治理和提交者的管理流程。

【EN】The project should explicitly define a project governance and committer process.

OA-CO-100

【中】项目应至少在主要代码仓库中提供公开的使用者列表(例如提供ADOPTERS.md,或在项目网站上展示采用者的Logo列表)。

【EN】The project should have a public list of project adopters for at least the primary repo (e.g., ADOPTERS.md or logos on the project website).

7.共识建立 (Consensus Building)

OA-CS-10

【中】该项目维护着具有决定权的贡献者的公开列表-项目管理委员会由这些贡献者组成。

【EN】The project maintains a public list of its contributors who have decision power -- the project's Project Management Committee consists of those contributors.

OA-CS-20

【中】决策由项目治理委员会成员的共识形成,并在主要的沟通渠道中记录。要考虑社区意见,如有异议,项目管理委员会拥有最终决定权。

【EN】Decisions are made by consensus among Project Management Committee members and are documented on the project's main communications channel. Community opinions are taken into account but the Project Management Committee has the final word if needed.

OA-CS-30

【中】无法通过讨论形成共识的情况下,可以使用文档化的投票规则来达成目标。在项目中,否决权只对代码提交有效,且否决要求有合理的技术性理由。

【EN】Documented voting rules are used to build consensus when discussion is not sufficient. In projects, vetoes are only valid for code commits and are justified by a technical explanation.

OA-CS-40

【中】所有重要的讨论都应该以书面形式在项目的主要沟通渠道上异步进行。对项目会产生影响的线下、面对面或私下的讨论也应在该渠道记录下来。

【EN】All important discussions happen asynchronously in written form on the project's main communications channel. Offline, face-to-face or private discussions that affect the project are also documented on that channel.

8.中立性 (Independence)

OA-IN-10

【中】项目独立于任何公司或组织。

【EN】The project is independent of any company or organization.

OA-IN-20

【中】项目必须有不少于三方的核心评审团队。

【EN】The project must have a diverse core reviewers team (at least 3).

OA-IN-30

【中】贡献者的社区角色权限不应受雇佣关系变化而影响。

【EN】The role & permissions of contributors in the community should not be affected when their employment relationship changes.

OA-IN-40

【中】项目毕业需要至少三位TOC成员提名进入毕业流程。

【EN】The project should require at least 3 TOC members to step forward as sponsors to enter graduation process.

9.成熟度 (Maturity)

OA-MA-10

【中】至少三个独立用户成功将项目用于生产环境,TOC根据质量和范围判定用户是否有效。

【EN】The project should be used successfully in production by at least 3 independent end users which, in the TOC‘s judgement, are of adequate quality and scope.

10.其它 (Others)

OA-OT-10

【中】项目毕业需获取全部TOC席位2/3的赞同票。

【英】To enter graduation, the project should receive the affirmative vote of two-thirds of the authorized TOC.

OA-OT-20

【中】上述指标由于项目的类型、范围和大小不同有一定的偏差,因此TOC对上述指标有一定的自由裁量权。

相关文章
|
Unix 编译器 Linux
CMake Install:深度解析与实践(一)
CMake Install:深度解析与实践
1046 0
|
编译器 Linux C语言
【CMake install目录解析】CMake 深度解析:实现精准、高效的项目构建与安装
【CMake install目录解析】CMake 深度解析:实现精准、高效的项目构建与安装
1498 0
|
8月前
|
人工智能 运维 开发工具
产品动态丨阿里云计算巢月刊-2025年第3期
让优秀的企业软件生于云、长于云
|
8月前
|
人工智能 JSON API
0代码将存量 API 适配 MCP 协议
本文主要讲述通过 Nacos+Higress 的方案实现0代码改造将 Agent 连接到存量应用,能够显著降低存量应用的改造成本。
1104 44
0代码将存量 API 适配 MCP 协议
|
5月前
|
Docker 容器
熟悉Docker容器管理命令:start、stop与restart详细使用指南
掌握这些Docker容器管理命令对于维护应用程序的正常运行至关重要。在实际操作中,应注意容器配置、关联资源以及日志等信息,确保各项操作都能够顺畅并且安全地执行。
673 0
|
Go 开发者
什么是 Golang 包?详解 Go 语言的包系统
【8月更文挑战第31天】
342 0
|
JavaScript
Vue3标签(Tag)
这是一个Vue组件`Tag.vue`,提供了多样化的标签展示功能。支持设置标签颜色、尺寸、图标、边框等样式,并可实现标签的动态添加与删除。
294 2
Vue3标签(Tag)
|
Java Maven 开发者
java一分钟之-Maven Archetypes:项目模板
【6月更文挑战第6天】Maven Archetypes是Java开发中用于快速创建项目模板的工具,简化项目初始化。它们定义了项目结构、必备文件和默认配置。使用Archetypes能实现快速启动、保持项目一致性并易于扩展。常见问题包括查找和使用Archetype、理解项目结构及pom.xml配置。通过命令行工具`mvn archetype:generate`可生成项目,例如使用`maven-archetype-quickstart`创建简单Java应用。熟悉Archetypes能提升开发效率,但也需根据实际需求调整生成的配置。
1557 5
|
机器学习/深度学习 人工智能 算法
【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
【5月更文挑战第17天】【机器学习】平均绝对误差 (MAE) 与均方误差 (MSE) 有什么区别?
|
定位技术 调度
【数据结构入门精讲 | 第十九篇】考研408、企业面试图专项练习(二)
【数据结构入门精讲 | 第十九篇】考研408、企业面试图专项练习(二)
279 0