Apache指南 - zhongjiajie/zhongjiajie.github.com GitHub Wiki
- Apache xxx PMC: Apache xxx(project) project management committee.中文为apache xx项目 项目管理委员会
- Apache项目都是在Github上merge代码,所以找到github相关项目很重要,如Apache Airflow的github地址
- 每个项目大概都会有一个contributing或者之类的教你怎么贡献(代码或者问题),里面一般会详细写了怎么反馈bug,怎么提交pull request.有部分项目会要求你新增功能之前先通过dev-mail看看大家意见,再决定是不是增加功能
- 一般可以通过在github上面watch订阅项目的变化情况,如果有人提了PR或者ISSUE就能在消息看到这些变化
- Apache项目反馈Issue一般会在JIRA中进行,通过JIRA的project查看各个项目的Issue,这里的一般都是发现一个bug或者觉得要新加一个特性的地方.如Airflow-jira
- 另一个重要的网站就是confluence,有的项目把文档放在confluence上面,如HIVE,有个项目把文档放在网站上,如Spark和Airflow
- 越大的项目越严谨如spark和flink,但是一般的流程都是
- 在e-mail列表上反馈问题,得到大家的同意,进行改进(这个看项目而定,可能有的不用如果是反馈bug应该可以直接改完提交)
- 在JIAR上面创建一个ISSUE,用于记录这个bug或者改进的要点,如果是大的改动还要在confluence创建一个页面用于记录这个改变,方便人们追踪和讨论
- 改代码
- 在Github上面提交代码
- 给项目的committer审查代码
- 根据committer的审查修改代码
- committer同意将代码合并到master分支上
jira是Apache大部分项目用于追踪ISSUE的工具,这个与Github中的大部分项目不同,Apache项目有单独的ISSUE追踪工具.
jira默认的过滤条件较为有限,如不支持查看自己watched的issue,但强大在于他可以自定义过滤条件,字段链接.我定义了几个过滤条件:
- Watched recently: 查看最近watched的项目(包括assignee自己的项目),Advanced为
watcher in (currentUser()) ORDER BY updated DESC
- Watched but not assignee: 查看最近watched但是不是assignee自己的项目,这种项目一般不是我跟进但是我感兴趣的,Advanced为
watcher in (currentUser()) AND assignee not in (currentUser()) ORDER BY updated DESC
参考skyWalking的步骤