From 487bd738c827138942954698609e634aa71f162e Mon Sep 17 00:00:00 2001 From: ORH <512574561@qq.com> Date: Mon, 23 Nov 2020 10:09:08 +0800 Subject: [PATCH] =?UTF-8?q?update(3.4):=20=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...02\344\270\216\345\274\200\346\272\220.md" | 55 +++++++++---------- 1 file changed, 26 insertions(+), 29 deletions(-) diff --git "a/\347\254\254\344\270\211\351\203\250\345\210\206\342\200\224\342\200\224\345\260\235\350\257\225\345\217\202\344\270\216\345\274\200\346\272\220/\345\217\257\344\273\245\347\224\250\345\223\252\344\272\233\346\226\271\345\274\217\345\217\202\344\270\216\345\274\200\346\272\220.md" "b/\347\254\254\344\270\211\351\203\250\345\210\206\342\200\224\342\200\224\345\260\235\350\257\225\345\217\202\344\270\216\345\274\200\346\272\220/\345\217\257\344\273\245\347\224\250\345\223\252\344\272\233\346\226\271\345\274\217\345\217\202\344\270\216\345\274\200\346\272\220.md" index a315c09..0482a10 100644 --- "a/\347\254\254\344\270\211\351\203\250\345\210\206\342\200\224\342\200\224\345\260\235\350\257\225\345\217\202\344\270\216\345\274\200\346\272\220/\345\217\257\344\273\245\347\224\250\345\223\252\344\272\233\346\226\271\345\274\217\345\217\202\344\270\216\345\274\200\346\272\220.md" +++ "b/\347\254\254\344\270\211\351\203\250\345\210\206\342\200\224\342\200\224\345\260\235\350\257\225\345\217\202\344\270\216\345\274\200\346\272\220/\345\217\257\344\273\245\347\224\250\345\223\252\344\272\233\346\226\271\345\274\217\345\217\202\344\270\216\345\274\200\346\272\220.md" @@ -1,74 +1,71 @@ # 第三部分——尝试参与开源/可以用哪些方式参与开源 -​ 可以通过那些方式参与开源呢?对于这个问题大家可以第一反应就是只直接参与到开源项目开发中,才是参与了开源项目。比如在 Linux 内核开发中,到 5.9 版本发展到现在已经有 2.4 万开发者参与其中。没错,他们当时都是这个开源项目的参与者。 +可以通过那些方式参与开源呢?对于这个问题大家可以第一反应就是只直接参与到开源项目开发中,才是参与了开源项目。比如在 Linux 内核开发中,到 5.9 版本发展到现在已经有 2.4 万开发者参与其中。没错,他们当时都是这个开源项目的参与者。 -​ 在该项目中,除了 Linux Kernel 2.4 万外开发者之外,还有很多其他的参与者。 +在该项目中,除了 Linux Kernel 2.4 万外开发者之外,还有很多其他的参与者。 -​ 那么参与开源项目常用有那些参与方式呢? +那么参与开源项目常用有那些参与方式呢? ## 1. 参与开源项目,直接进行开源项目的开发 -​ 上面的 Linux Kernel 的开发就很典型,由于其开发的负责性,开发流程也比较复杂。 +上面的 Linux Kernel 的开发就很典型,由于其开发的负责性,开发流程也比较复杂。 - 1. 阅读官方网站和内核代码中的文档,了解基本的开发流程。 +1. 阅读官方网站和内核代码中的文档,了解基本的开发流程。 +2. 加入邮件列表,查看计划改善的问题,寻找自己想要改善的问题点。 +3. 下载代码后编译,修改代码,验证后。 +4. 打 Patch, 然后发邮件提交补丁。 - 2. 加入邮件列表,查看计划改善的问题,寻找自己想要改善的问题点。 +参与到开源项目的方式并不完全一致。有些项目有内部其他的沟通方式。如开发的微信群和 QQ 群,可以实时的沟通。 - 3. 下载代码后编译,修改代码,验证后。 - - 4. 打 patch, 然后发邮件提交补丁。 +## 2. 开源项目文档编写 - 参与到开源项目的方式并不完全一致。有些项目有内部其他的沟通方式。如开发的微信群和 QQ 群,可以实时的沟通。 +开源项目文档的编写也是参与开源的项目的方式。在一些开源项目中,由于参与者人数和时间等限制,在项目的初期缺乏详细的项目文档。这时候项目文档往往是限制参与者参与的很大的因素。 -## 2. 开源项目文档编写 -​ 开源项目文档的编写也是参与开源的项目的方式。 在一些开源项目中,由于参与者人数和时间等限制,在项目的初期缺乏详细的项目文档。 这时候项目文档往往是限制参与者参与的很大的因素。 +就像我们当前参与的开源指北文档的编写,所有参加编写和校对的人员也都是开源项目的参与者。 -​ 就像我们当前参与的开源指北文档的编写,所有参加编写和校对的人员也都是开源项目的参与者。 -​ 有些项目使用 Wiki 来编写项目文件,完善和维护项目 Wiki 同样也是参与开源项目。 +有些项目使用 Wiki 来编写项目文件,完善和维护项目 Wiki 同样也是参与开源项目。 -​ 开源项目的文档还包括项目的设计文档、使用文档、测试文档均属于项目相关文档。 +开源项目的文档还包括项目的设计文档、使用文档、测试文档均属于项目相关文档。 ## 3. 修复开源项目中 Bug -​ 在项目开发中,随着代码的复杂度提高、开发人员变动等原因,往往有一些BUG长时间潜伏。参与解决项目中的 Bug,同样也是参与开源项目。 +在项目开发中,随着代码的复杂度提高、开发人员变动等原因,往往有一些 BUG 长时间潜伏。参与解决项目中的 Bug,同样也是参与开源项目。 ## 4. 参与开源项目的测试和 Demo 编写工作 -​ 参与开源项目的版本测试并提交 Bug、参与完善项目的测试用例来提升测试覆盖度、完善 Demo 使用等都是参与开源项目的重要方式。 +参与开源项目的版本测试并提交 Bug、参与完善项目的测试用例来提升测试覆盖度、完善 Demo 使用等都是参与开源项目的重要方式。 ## 5. 参与开源项目推广 -​ 参与开源项目同时还包括一些项目推广工作,比如开源中国开源项目的投票,就是很多大众化的参与工作。 +参与开源项目同时还包括一些项目推广工作,比如开源中国开源项目的投票,就是很多大众化的参与工作。 -​ 同时在开源项目的中社区中解答问题,应该也属于开源项目的参与方式。 +同时在开源项目的中社区中解答问题,应该也属于开源项目的参与方式。 -​ 对于有技术写作或演进特长的贡献者,则可以通过在技术社区发表技术文章,或者在技术沙龙/会议上发表演进来介绍该项目的特点、技术原理、使用场景以及最佳实践等,让更多人了解和认识该项目,从而获得更多的关注和反馈,帮助项目持续进化。 +对于有技术写作或演进特长的贡献者,则可以通过在技术社区发表技术文章,或者在技术沙龙/会议上发表演进来介绍该项目的特点、技术原理、使用场景以及最佳实践等,让更多人了解和认识该项目,从而获得更多的关注和反馈,帮助项目持续进化。 ## 6. 在商业公司参与开源项目 -​ 有很多商业公司就是开源项目的发起者或者主要参与者。 - -​ 比如 Linux Kernel 中,代码贡献最多的是 Intel ,其次是华为。华为同时也是 OpenHarmony 发起者。这些商业公司参与到开源项目中的人员,同时都是开源项目的参与者。 - +有很多商业公司就是开源项目的发起者或者主要参与者。 +比如 Linux Kernel 中,代码贡献最多的是 Intel,其次是华为。华为同时也是 OpenHarmony 发起者。这些商业公司参与到开源项目中的人员,同时都是开源项目的参与者。 # 基于git开源项目的参与方式 -​ Git 是开源的版本控制系统,GitHub 和 Gitee 都采用 Git 进行管理,在上面有大量的开源项目。 +Git 是开源的版本控制系统,GitHub 和 Gitee 都采用 Git 进行管理,在上面有大量的开源项目。 * GitHub 开源项目参与方式 -​ GitHub 采用Pull Requests 方式,可以快速的参与到开源项目中。 +GitHub 采用 Pull Requests 方式,可以快速的参与到开源项目中。 -​ 基本上分为4个流程: +基本上分为 4 个流程: -1. fork 到自己的项目中 +1. Fork 到自己的项目中 2. 在自己的项目上进行修改,提交。 3. 将自己项目 Pull Requests 到原始项目中。 4. 原仓库作者进行审核,同意后进行合并。完成代码提交。 * Gitee 开源项目参与方式 - Gitee创新采用了 Gitee Pull Request Lite,不需要 fork ,直接可以在网页上面进行代码的提交,这种方式使得参与开源项目更加的便捷,尤其适合仅需少量的修改就可以完成的场景。当然,Gitee也完全支持传统的 fork-update-pr-merge 提交流程,对于大量的代码修改,或者多个模块的联动修改,更建议采用这种方式,因为可以更好地通过测试用例来验证代码的影响范围和正确性,保证所提交的代码具有一定的质量水准。 +Gitee 创新采用了 Gitee Pull Request Lite,不需要 Fork ,直接可以在网页上面进行代码的提交,这种方式使得参与开源项目更加的便捷,尤其适合仅需少量的修改就可以完成的场景。当然,Gitee 也完全支持传统的 fork-update-pr-merge 提交流程,对于大量的代码修改,或者多个模块的联动修改,更建议采用这种方式,因为可以更好地通过测试用例来验证代码的影响范围和正确性,保证所提交的代码具有一定的质量水准。 ​ -- Gitee