从零开始参与Apache开源项目(上)

  我将为大家介绍Apache Doris社区的一些工作机制、如何参与社区贡献以及如何完成自己第一个PR,希望为想参与开源社区贡献的小伙伴提供一个简单的思路,也希望能有更多开发者能参与Apache Doris社区中来,与社区一道成长,一道将国人研发的优秀数据库推广到全球,一道实现分析型数据库技术的革新,一道见证更多不可能的故事发生。

  #从README开始

  从开源项目在GitHub上成功托管的一刻起,README文件就随之诞生了。就如同一本书的序言或电子设备的使用说明书,README文件是开启开源之旅的第一个入口,几乎涵盖了使用和参与开源项目的所有姿势,既包含了项目背景、系统架构、技术特性等技术相关的介绍,也包含了用户该如何安装、部署以及上手使用的操作指南,同时还会提供项目维护者的主要联系方式、相关资料的获取地址以及如何参与贡献的指引等。

  #参与社区沟通

  邮件列表(Mailing List)是Apache社区最被认可的交流方式,无论是问题反馈与解答、技术交流与探讨、版本迭代与发布、社区决议与公示等,都可以通过邮件列表的形式来承载。邮件列表异步通信、理性思考、公开透明的特性,也非常适合开源社区的沟通交流,任何人都可以订阅邮件列表来知悉社区动态。

  与邮件列表这一异步沟通模式相对的,是以微信、QQ、钉钉等IM工具为代表的即时通讯模式。

  由于信息传递的效率更高,即时通讯软件几乎成为国内开源社区日常技术沟通和交流的主要方式。以Apache Doris社区为例,目前Apache Doris社区有超过20个微信社群、聚集了超过8000人以上用户规模,相对于邮件列表,微信社群无疑承载了更多用户支持和问题解答的职责,每个用户都可以通过Apache Doris官网上的入口扫码加入用户社群中,去探讨技术和寻求答疑。

  目前Apache Doris社区有一支专职的用户支持团队帮助社群中的用户定位和解决问题,尽管这能带来更好的用户体验(用一些社区用户的话说,Apache Doris社区的技术支持力度甚至比一些商业软件的支持力度还要大),但微信社群天然存在的信息割裂、冗余信息过多、知识无法沉淀等弊端依然存在,因此社区也一直在寻求更加合理和可持续的方法,例如Slack社群以及GitHub Discussion,希望在保持用户体验的同时也能提升沟通和解决问题的效率,这也是我们更为推荐的沟通方式。

  #善用官网和文档

  官方网站和文档是深入了解一个开源项目最主要和高效的方式,熟读文档对于掌握开源项目的重要性不言而喻,在此也不再赘述。

  #如何提交你的第一个Pull Request

  参与开源项目并为其作出贡献的方法有很多,包括功能开发、测试Case编写、流程工具改进、文档完善、博客撰写等等,任何对于项目的贡献都是有价值并且受欢迎的。在提交的贡献正式合入后,将自动成为项目的贡献者并出现在项目的贡献者列表中。

  Apache Doris社区有着清晰的贡献者成长标准,贡献者在对项目有着足够的贡献后,有机会通过推选和投票成为Committer,拥有代码库的合入权限,并且名字将出现在Apache网站列表中。更进一步,还有机会成为项目的PMC Member(项目管理委员会成员),对项目的重要决策拥有投票权。
  Fork代码仓库

  在确定贡献点之后就可以开始上手开发了,第一步就是Fork代码。进入Apache Doris的GitHub后点击右上角的Fork按钮进行Fork。如果喜欢Apache Doris,也可以点击旁边的Star按钮关注代码仓库。

  Fork完成后回到自己的GitHub账号下就可以找到Fork的项目,这时对自己Fork的项目拥有了任意修改的权限,可以将代码Clone到本地进行开发。

  1)将代码Clone到本地:

  git clone https://github.com/<your_github_name>/doris.git

  Clone完成后,origin会默认指向GitHub上的远程Fork地址。

  2)将apache/doris添加为本地仓库的远程分支Upstream:

  cd doris

  git remote add upstream https://github.com/apache/doris.git

  3)检查远程仓库设置:

  git remote-v

  origin https://github.com/<your_github_name>/doris.git(fetch)

  origin https://github.com/<your_github_name>/doris.git(push)

  upstream https://github.com/apache/doris.git(fetch)

  upstream https://github.com/apache/doris.git(push)

  4)新建分支以便在分支上做修改:

  git checkout-b<your_branch_name>

  注意:<your_branch_name>为您自定义的分支名字。

  创建完成后可进行代码开发和自测。

  创建Pull Request

  开发并自测完成后即可将代码提到自己Fork的远程分支中,再通过Pull Request的方式将Commits提交合入。

  1)提交代码到远程分支:

  git commit-a-m"<you_commit_message>"

  git push origin<your_branch_name

  2)创建Pull Request

  在浏览器切换到自己的github页面,切换分支到提交的分支<your_branch_name>,点击Compare&pull request按钮进行创建,如下图所示:

  图片

  3)准备分支

  这时候,会出现Create pull request按钮,如果没有请检查是否正确选择了分支,也可以点击“compare across forks”重新选择Repo和分支。

  4)代码合入

  最终通过GitHub检查任务以及Code Reivew的Pull Request会在一个工作日后被合入进Master,至此恭喜成为Apache Doris Contributor!

  #结语

  其实参与开源项目不存在什么门槛,绝大多数开源项目是自由开放、且非常欢迎有更多人能参与进来的。与其说不知道该如何参与开源项目,个人感觉可能是信息传递障碍带来的些许隔阂,也许只需要一个简单的发往dev邮件组的邮件就可以解决。

  无论是提交Issue或参与PR Review,或者是修改和完善文档,又或者是分享技术博客和应用案例,都是参与开源贡献,也期待有更多的你一道参与进来。

posted @ 2025-02-20 14:17  liangchengsu  阅读(64)  评论(0)    收藏  举报