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投票规则进行。 |
16 | ASF董事会决议 | 孵化器投票通过后,将会创建董事会决议的帖子并发送给ASF董事会,供董事会投票。董事会每月第三个周三会召开会议,会上会对此类决议进行投票,投票结果即刻生效。 |
17 | 毕业后的任务 | 毕业后,项目需要在孵化器状态页面上更新状态,并对其资源和流程进行一些更改。项目毕业后,将由新组建的PMC定期向董事会进行报告,最初三个月每月一次,之后是每季度一次。毕业后的项目如果发展停滞,将进入Attic,即归档退休。关于项目毕业后资源转移的步骤及Attic的详细内容,之后会一一奉上,敬请期待。 |