本文主要是介绍如何在 GitHub 上做一个优秀的贡献者?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本篇文章摘自我在知乎上的一个回答 - 《如何在 GitHub 上做一个优秀的贡献者?》。
下面是正文内容。
关于如何做一个优秀的贡献者,GitHub 官方之前写过一篇指南《How to Contribute to Open Source》,里面给出了非常清晰的回答。
下面我就文章给出的内容索引及参考,简单回答下这个问题。
为什么要参与开源?
1)优化技能
通过贡献代码或参与开源活动,在解决问题的同时让自己的专业技能得到提升。
2)帮助你遇见志同道合的人
开源意味着自由与开放,所有人都可以参与到一个开源项目的建设,在参与建设的过程中,大家互相学习,互相成长,有着相同的做事理念,很容易就成为了志同道合的朋友。
3)学会如何传授
当你负责一个项目的建设时,往往有人会向你提问或寻求项目中某个问题的解决方案,这时候就需要你善用自己的语言或文字组织能力,向他人解释如何修复和处理好该问题。
4)积累社区声望
对于个人职业生涯的发展,参与到一个开源项目能让你更快累积个人声望,项目的发展带动了你个人的发展,这是个正向循环的过程。
5)择善而从
三人行,必有我师焉。在团队协作的过程中,总有些人出类拔萃,他们身上有许多值得你学习的优良品质与专业技能。参与开源的同时,也会去主动学习他人的做事方法。
6)从小做起
开源并不要求你必须投入所有精力来做事。当你无意发现一个开源项目有错别字,并提交改进时,这就是参与了开源。
贡献究竟意味着什么?
贡献并不意味着你要贡献项目代码,所有人都可以利用自己的专业技能来推动开源项目的发展。不论你是开发者、设计师还是产品经理,甚至一名学生都可以通过善于自己的组织能力,来参与贡献,帮助开源项目得到更好的发展。
面对新项目的正确姿势?
不论你所处的是哪一个领域,在面对未知事物时,脑子里都得抽象出一个框架,这个框架能帮你快速的全面了解一个事物。面对开源项目也是如此。
一个成熟且完善的开源项目,往往由以下几部分构成:
参与者
作者
拥有者
维护人员
贡献者
社区成员
文档
许可证
README
流程文档
行为准则
技术文档
基础教程
协作方式
发起 issue
提交 PR
社区讨论
实时沟通
关于上述内容的具体定义,如何你还不太了解,可以看下文章的 Orienting yourself to a new project 一节。
如何找到那个你想贡献的项目?
在面对开源项目时,先端正态度。
"Ask not what your country can do for you - ask what you can do for your country." - John F. Kennedy
要参与到开源,就必须成为那个能发现或解决问题的人。找到那个你感兴趣的项目,从点滴小事做起,修复文档的无效链接和错别字是参与开源,发现问题并详述、复现问题也是参与开源。
28% 的贡献工作 来源于对项目文档的优化,如更正错别字、优化排版、提交翻译。
你可以通过下面的这些渠道,来发现你感兴趣开源项目。
GitHub Explore
Open Source Friday
First Timers Only
CodeTriage
24 Pull Requests
Up For Grabs
Contributor-ninja
First Contributions
或者你也可以看下我写的这篇文章。
https://zhuanlan.zhihu.com/p/55174293
如何提交贡献?
为了更加高效的沟通与合作,请确保在你进行提问或提交 PR 的时候,做到了以下几点:
给定上下文,别没头没尾
提前做好准备工作
提前阅读相关文档与资料
说话简明扼要
尽量让沟通信息公开透明
提问时请保持耐心
尊重社区的决定
最重要的是,保持高雅
做到上面几点后,你还需要搜索项目 issue、README、stackoverflow 等渠道,确保问题未被其它人修复。
最好,通过以下几种方式来提交贡献:
GitHub issue - 发起提问,进行讨论
GitHub pull request - 提交解决方案
其它渠道 - Stack Overflow、IRC、Slack
提问的时候,为了减少双方沟通的时间,请使用最为高效直接的提问方式。
推荐阅读:提问的智慧
在你参与贡献之后
每个人在一开始参与贡献时,内心都较为忐忑。一般在你参与贡献后,会发生以下几种情况:
1)没有得到任何反馈
首先,确保你提前核对过项目的各种情况,具体可查看该 核对清单。
如果一切都正常,可在一周后尝试联系项目相关人员,询问具体情况。联系的时候,请尽量不要使用私人渠道联系项目维护人员,因为开源的同时也意味着所有信息要尽量保持公开透明。
当然,作者有在项目中提供自己的联系方式除外,但私下沟通的所有与项目相关的信息,最好保留一份上传到该问题相关的讨论帖上。
比较糟糕的情况是,提交的贡献一直没有得到反馈。如果是这样,也请你不要灰心,生活总有一些不可控的事情发生,你要做的,是接着寻找下一个项目,调整心态,重新来过。
2)有人更改了你的贡献
在你得到相关通知后,出于礼貌与高效沟通,请及时给出反馈。因为他人可能花了不少时间来审核你的问题 / 代码,然后发起的更改提交。
如果你没有时间处理他人提交的更改,也请提前告知提交者与项目维护人员,找到一个可以接手并处理该问题的人。
3)你的贡献未被接受
这种情况很正常,一般作者也都会说明未被接受的具体原因。如果没有,可以在项目的相关讨论帖下询问作者具体原因。但无论如何,请尊重作者的决定,不要开撕。实在不行,你也可以 fork 一份代码自己玩。
4)你的贡献被接受了
恭喜你,你作出的贡献真真切切帮到了其他人。希望后面接着坚持,请记住,千里之行始于足下。
可点击「阅读原文」查看文章详细内容。
GitHubDaily - 挖掘开源的价值
微博: @GitHubDaily
知乎:GitHubDaily
这篇关于如何在 GitHub 上做一个优秀的贡献者?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!