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

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

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

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

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

如何贡献开源

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

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

  • 掌握 mavengit 基本命令。

下载代码到本地

在这里插入图片描述

  • 从自己的仓库中找到 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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lEP8FsxU-1585395191410)(image/start_2.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V8Wjgv6s-1585395191411)(image/start_3.png)]

编译本地项目

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WCtRny8c-1585395191411)(image/start_4.png)]

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

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dN5C2ZXH-1585395191412)(image/start_5.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z17ytL4A-1585395191412)(image/start_6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gOu6Wtu2-1585395191412)(image/start_7.png)]

提 PR

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


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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4DxcCqEm-1585395191412)(image/start_8.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jTAumEpT-1585395191413)(image/start_9.png)]

更新文档

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

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

参与社区讨论

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值