如何参与Apache顶级开源项目建设

如何参与Apache顶级开源项目建设

大部分人接触到 开源 的概念都是在大学期间, 自己的作业或者工程使用了某某开源项目某某能力.很自然的就感觉 开源项目是由一群大牛程序员 开发维护 的, 作为小白萌新只需要拿来使用就可以了. 其实不然, 开源 之所以能健康成长, 离不开每个人的积极参与.

Apache ServiceComb项目 已经从Apache孵化器毕业,正式成为Apache顶级项目,这也是业界首个微服务项目在Apache孵化并毕业成为 顶级项目

现如今, ServiceComb 的几个子项目都处于 如火如荼的发展势头中, 我们期望来自各处的 大佬 能提供帮助, 共同维护社区的健康发展.

如何贡献开源

ServiceComb 的 子项目 JAVA Chassis 为例. 仓库地址: https://github.com/apache/servicecomb-java-chassis

前提条件

  • 掌握 JAVA 语言基本语法, 熟练使用一种 IDE 编码。

  • 掌握 mavengit 基本命令。

下载代码到本地

  • 登录自己的 git 账号, Fork servicecomb-java-chassis 到自己仓库 同时 Star 关注开源项目.

如何参与Apache顶级开源项目建设_第1张图片

  • 从自己的仓库中找到 fork 的目标仓库, clone 到本地.

# 代码 clone到本地
git clone https://github.com/xxx/servicecomb-java-chassis.git

# 配置远端 upstream仓库
git remote add upstream https://github.com/apache/servicecomb-java-chassis.git

# 查看远端仓库.
git remote -v

# 同步远端 upstream仓库
git fetch upstream -a

如何参与Apache顶级开源项目建设_第2张图片

如何参与Apache顶级开源项目建设_第3张图片

编译本地项目

开源项目都有一个 readme.md 文档, 告诉你如何使用和编译项目. 直接参考文档一步步来就好了.

# 编译本地项目, 我这里直接跳过 UT 测试. 一般情况下,可以在第一次编译的时候跑下 UT.
mvn clean install -DskipTests

如何参与Apache顶级开源项目建设_第4张图片

编译完本地项目之后, 就可以开始调试和修改代码了.

使用 JIRA 管理 ISSUE

  • 开源项目一般都有一个事务跟踪、版本迭代的工具。ServiceComb 是使用的 JIRA 来进行敏捷管理的。

  • 一般情况下, 开发在使用框架中遇到 BUG 或者认为某些能力, 框架需要提供但是没有提供的, 可以在官方 ISSUE社区 提一个 相关的 ISSUE.
    经过讨论之后, 确实需要修改的话, 可以提一个 PR . 也可以浏览一下其他人提的 ISSUE, 遇到感兴趣的话题, 也可以参与到其中, 积极参与开源建设.

  • 在社区提的每一个PR, 都需要在 JIRA 创建一个对应的 ISSUE跟踪 PR. 当PR 成功合入之后,
    需要到 JIRA 及时关闭 issue.

如何参与Apache顶级开源项目建设_第5张图片

如何参与Apache顶级开源项目建设_第6张图片

如何参与Apache顶级开源项目建设_第7张图片

提 PR

提交PR 之前, 一般要 rebase 一下开源 master 分支的最新代码. 防止有冲突, 可以及时发现 和 解决.


# 我喜欢一把全部fetch下来
git fetch upstream -a

# 一般要合入目标仓库的master分支, 如果要合入目标仓库的其他分支, 要rebase 对应分支
git rebase upstream/master

# rebase 完代码, 一般需要 强退才能推到远端 origin 仓库
git push origin branch_xxx --force

如何参与Apache顶级开源项目建设_第8张图片

如何参与Apache顶级开源项目建设_第9张图片

更新文档

如果是一个新特性, 或者有新的配置增加, 需要同时更新文档, 告诉大家如何使用你的这个新特性和配置. JAVA-CHASSIS 的文档仓库是 ServiceComb-DOCS

类似开源项目 提 PR 一样, 给官方的文档提 PR ,也需要在 JIRA 创建一个issue跟踪 PR 进展.

参与社区讨论

要想真正参与到开源建设, 贡献代码只是第一步. 我们还需要积极参与到社区的活动中.

  • 订阅邮件列表

  • 使用Gitter

你可能感兴趣的:(开源,顶级Apahce项目,github,git)