ALC Beijing 博客

ALC Beijing 博客

介绍 Apache 之道,推广开源项目,传播开源精神,让更多的本土开发者近距离了解 ASF 以及开源文化!

20 Mar 2021

Apache孵化器指南表格版

作者:狄晓晓

项目孵化成为ASF顶级项目的步骤 详见Apache Incubator cookbook

步骤内容详情
1与孵化器沟通孵化器PMC管理孵化器,帮助项目孵化。
2寻找领路人(champion)和孵化导师,讨论并准备孵化提案项目要进入孵化器,需要一个领路人(Apache officer或member)和至少2-3个导师(IPMC member)(孵化过程涉及的各角色及其职责请参见Roles and Responsibilities)。
3创建孵化提案领路人会帮助项目准备孵化提案,该提案将用于下一步与孵化器PMC的讨论。提案可以根据模板编写,需要包含几个标准部分。
4与孵化器PMC讨论孵化提案提案准备好后,项目代表要将其发送至general@incubator.a.o邮件列表,孵化器PMC会对该方案进行讨论。
5如有需要,完善提案中初始提交者和导师列表-
6如有需要,基于孵化器PMC的反馈完善提案-
7孵化器PMC对提案进行投票讨论阶段结束后,领路人或项目代表会在general@incubator.a.o邮件列表中创建【投票】帖,投票按照ASF的投票规则进行。
8配置该项目的基础设施(JIRA等)如果孵化器PMC同意接受该项目,就可建立该项目的基础设施了,该过程通常由领路人或导师进行推动,如果社区成员熟悉该操作,也可由社区成员来推动。
9导入初始代码企业捐赠的项目,在导入初始代码前,需要提交软件授权协议(SGA)或企业贡献者许可协议(CCLA);个人捐赠的项目,在导入初始代码前,需要主要贡献者提交个人贡献者许可协议(ICLA)或SGA。导入过程中,需要检查和报告代码中受美国出口管制法管制的密码技术。除此以外,代码以及二进制发行版还需要按照Apache License合规要求,进行清理。
10围绕该项目代码构建社区包括投票产生新的提交者和PPMC成员(Podling Project Management Committee)。
11发布项目,记录并完善发布过程在孵化期间,预计将发布多个版本,这些版本将逐渐符合ASF发布政策。 完全合规的发布是项目毕业的条件之一。 孵化中的项目进行发布还必须在任何发布文件名中包含“incubating”一词,并根据孵化器发布指南包含免责声明或免责声明-WIP,以防止对项目状态产生任何混淆。由于孵化中的项目还不是“真正的”ASF项目,所以设定正确的期望值是很重要的。 孵化中的项目版本发布需要两次投票,一次是在开发者邮件列表上进行的投票,如果PPMC成员中至少有3个赞成票(+1),并且赞成票比反对票(-1)多就算通过了。第二次是在孵化器常规邮件列表上进行的投票,这次投票由孵化器PMC进行投票。 Apache发布仅包含源代码,但是项目通常也会分发一些编译过的软件包。软件源代码发布是发布重点,所有分发的编译过的软件包均基于这些发布的“正式”的源代码。
12准备毕业,与导师一起评估项目的就绪情况准备毕业的项目需要根据ASF提供的成熟度模型进行自我评估,这可以帮助发现在孵化过程中被忽略的事务。
13将商标转让给ASF将代码捐赠给ASF的企业或个人,如果持有该项目需要的商标,则需在项目毕业前,将商标转让给ASF。
14与孵化器PMC讨论毕业项目毕业需要PPMC先进行投票以达成共识,如果社区和导师根据自我评估认为项目已经做好准备,可以毕业,会在孵化器常规邮件列表上创建一个【讨论】帖,提议毕业并请求孵化器PMC审查该项目。
15孵化器PMC进行毕业投票毕业提议的【讨论】进程结束后,导师或PPMC成员会在孵化器常规邮件列表上创建一个【投票】贴,孵化器PMC对该项目进行投票,投票依据ASF投票规则进行。
16ASF董事会决议孵化器投票通过后,将会创建董事会决议的帖子并发送给ASF董事会,供董事会投票。董事会每月第三个周三会召开会议,会上会对此类决议进行投票,投票结果即刻生效。
17毕业后的任务毕业后,项目需要在孵化器状态页面上更新状态,并对其资源和流程进行一些更改。项目毕业后,将由新组建的PMC定期向董事会进行报告,最初三个月每月一次,之后是每季度一次。毕业后的项目如果发展停滞,将进入Attic,即归档退休。关于项目毕业后资源转移的步骤及Attic的详细内容,之后会一一奉上,敬请期待。