一行代码成为Apache Contributor

简介: 一行代码成为Apache Contributor

以Apache Hudi为例,讲解如何通过一行代码成为Apache顶级项目的Contributor。

1. 准备

1.1 Github准备

1) 准备 github账号,通过https://github.com/join注册,记住注册的邮箱和用户名。

2) Fork Apache Hudi项目(https://github.com/apache/incubator-hudi)至自己(TheApacheHudi)的远程仓库

3) 将资源远程仓库clone至本地

4) 进入到incubator-hudi目录后添加Apache Hudi为upstream

5) 使用 git remote-v查看项目状态,如下表示自己(TheApacheHudi)远程仓库为origin,而Apache远程仓库为upstream

6) 使用 git config user.name xxx;git config user.email xxx配置用户名和邮箱,注意用户名和邮箱需要使用注册Github使用的用户名和邮箱,这样后续才能正常显示 Contributor标志

1.2 邮箱订阅

为方便参与社区讨论,请务必订阅dev@hudi.apache.org开发者邮件列表,订阅方法很简单,只需向dev-subscribe@hudi.apache.org发送一封空邮件,然后马上会收到dev-help@hudi.apache.org回复的一封邮件,然后对该邮件再点击最下方的回复按钮(以Google邮箱为例)进行一次回复即可(如回复comfirm)

回复完之后会收到一封正式的欢迎邮件,表示已经订阅完成,后续便可参与社区的讨论

1.3 JIRA准备

几乎所有Apache顶级项目都是通过JIRA来管理issue,所以注册JIRA账号必不可少。

1) 准备jira账号,通过https://issues.apache.org/jira/secure/Signup!default.jspa注册,请记住JIRA ID,已有账号可直接登录。

2) 查看HUDI所有issue(https://issues.apache.org/jira/projects/HUDI/issues)。

3) 若有合适的issue,可点击右侧的Assign to me(分配给我),对于较为复杂的issue,可在issue下评论讨论实现思路,确保达成一致后再开始写代码。

4) 若登录后发现无 Assignto me(分配给我)按钮,那么需要向dev@hudi.apache.org邮箱发送一封JIRA权限开通申请邮件,可参照如下模版发送。

Hi,

I want to contribute to Apache Hudi. Would you please give me the contributor permission? My JIRA ID is xxx.

当项目PMC看到邮件后,会给你开通相应权限(由于时差原因,回复可能有些延迟)。

1.4 Confluence准备

同样,Apache顶级项目会通过Confluence来管理一些改进计划,如Hudi的RFC,当你想要对Hudi添加一些大的特性时,需要在Confluence创建RFC(https://cwiki.apache.org/confluence/display/HUDI/Apache+Hudi),若无权限,也需要向dev@hudi.apache.org邮箱发送一封申请邮件,与申请JIRA权限类似,带上自己的Confluence ID,会有PMC给你开通权限。几乎所有问题都可向dev@hudi.apache.org邮箱求助。

2. 提交代码

对于一些初次参与社区的开发者而言,一种较好的上手方式就是 fix typo,即修复单词错误,比如,如下的单词错误

1) 基于master分支checkout一个新分支

2) 使用 git add.git commit-m"[MINOR] fix typo"git push origin typofix:typofix推至自己远端仓库

3) 进入Apache/Hudi github页面,会出现 Compare&pull request按钮

4) 点击 Compare&pull request,补充PR描述信息后,点击 Createpull request即可

5) 这样便完成提交PR的过程,后续等待committer帮忙review代码、根据意见修改代码和合并PR,当合并后,恭喜你,正式成为Apache顶级项目的contributor

当然上述 typo fix可用作熟悉整体流程,一旦熟悉后,可尝试进行一些bug fix或开发新的feature、回答邮件列表问题、参与邮件列表讨论等,都会有助于更快速成为committer。

对于Apache Hudi项目,现在还有些非常简单的任务可供新手上手,如https://issues.apache.org/jira/browse/HUDI-233(使用SLF4J重做项目日志);https://issues.apache.org/jira/browse/HUDI-385(scala checkstyle处理),欢迎想要参与社区的开发者认领issue,成为Apache的contributor。

其他Apache顶级项目(如Flink/Spark/HBase)的社区参与与上述步骤类似。

2. 总结

想成为Apache的contributor或熟悉PR提交流程,一种简单参考样例是通过 typo fix上手,熟悉流程后可做更多事情,这样可早日成为Apache committer。

目录
相关文章
|
1月前
|
SQL 分布式计算 HIVE
Apache Hudi入门指南(含代码示例)
Apache Hudi入门指南(含代码示例)
61 0
|
8月前
|
安全 druid Java
【紧急】Apache Log4j任意代码执行漏洞安全风险升级修复教程
近期一个 Apache Log4j 远程代码执行漏洞细节被公开,攻击者利用漏洞可以远程执行代码。经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
210 1
|
11月前
|
开发框架 .NET Apache
301重定向代码合集(iis,asp,php,asp.net,apache)
301重定向代码合集(iis,asp,php,asp.net,apache)
274 0
|
供应链 安全 IDE
Apache CouchDB 代码执行漏洞(CVE-2022-24706)
Apache CouchDB 代码执行漏洞(CVE-2022-24706)
|
算法 Java 编译器
Apache Flume-自定义拦截器-代码逻辑梳理|学习笔记
快速学习 Apache Flume-自定义拦截器-代码逻辑梳理
210 0
Apache Flume-自定义拦截器-代码逻辑梳理|学习笔记
|
消息中间件 存储 运维
第一次尝试为Apache顶级开源项目贡献代码
第一次尝试为Apache顶级开源项目贡献代码
第一次尝试为Apache顶级开源项目贡献代码
|
JSON Java API
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(下)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(下)
|
安全 Java API
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(中)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(中)
|
Java API Apache
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)
|
算法 Java Apache

热门文章

最新文章

推荐镜像

更多