一行代码成为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。

目录
相关文章
|
11天前
|
Java Apache C++
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
Thrift 是一个轻量级、跨语言的远程服务调用框架,由 Facebook 开发并贡献给 Apache。它通过 IDL 生成多种语言的 RPC 服务端和客户端代码,支持 C++、Java、Python 等。Thrift 的主要特点包括开发速度快、接口维护简单、学习成本低和多语言支持。广泛应用于 Cassandra、Hadoop 等开源项目及 Facebook、百度等公司。
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
|
1月前
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
34 0
|
3月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
103 0
|
6月前
|
SQL 分布式计算 HIVE
Apache Hudi入门指南(含代码示例)
Apache Hudi入门指南(含代码示例)
233 0
|
安全 druid Java
【紧急】Apache Log4j任意代码执行漏洞安全风险升级修复教程
近期一个 Apache Log4j 远程代码执行漏洞细节被公开,攻击者利用漏洞可以远程执行代码。经过分析,该组件存在Java JNDI注入漏洞,当程序将用户输入的数据进行日志,即可触发此漏洞,成功利用此漏洞可以在目标服务器上执行任意代码。
360 1
|
开发框架 .NET Apache
301重定向代码合集(iis,asp,php,asp.net,apache)
301重定向代码合集(iis,asp,php,asp.net,apache)
317 0
|
算法 Java 编译器
Apache Flume-自定义拦截器-代码逻辑梳理|学习笔记
快速学习 Apache Flume-自定义拦截器-代码逻辑梳理
Apache Flume-自定义拦截器-代码逻辑梳理|学习笔记
|
供应链 安全 IDE
Apache CouchDB 代码执行漏洞(CVE-2022-24706)
Apache CouchDB 代码执行漏洞(CVE-2022-24706)
|
消息中间件 存储 运维
第一次尝试为Apache顶级开源项目贡献代码
第一次尝试为Apache顶级开源项目贡献代码
第一次尝试为Apache顶级开源项目贡献代码
|
Java API Apache
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)
【小家Java】Java第二API之apache的commons-lang3工具包史上最完整的讲解(书写优雅代码必备工具)(上)

推荐镜像

更多