如何拥抱开源
如何快速了解一个开源项目
每个开源项目的规范、标准都是不同的,但是还是有以下相似之处。
-
开源项目具有以下类型的人员:
- ** 作者:**创建项目的人员或组织
- **所有者:**对组织或存储库具有管理所有权的人(并不总是与原始作者相同)
- **维护者:**负责推动愿景并管理项目组织方面的参与者(他们也可以是项目的作者或所有者。)
- **贡献者:**每个为项目贡献了点东西的人。
- **社区成员:**使用该项目的人。 他们可能会积极参与对话或对项目的方向发表意见
-
开源项目具备的文档类型
- **许可证:**根据定义,每个开源项目都必须具有开源许可证。如果项目没有许可证,则它不是开源的。
- **自述文件:**自述文件是欢迎新社区成员加入该项目的说明手册。它说明了该项目为何有用以及如何开始。
- **贡献:**自述文件可帮助人们使用项目,而贡献文档则可帮助人们贡献项目。它说明了需要哪些类型的捐款以及流程如何工作。尽管并非每个项目都有一个CONTRIBUTING文件,但它的存在表明这是一个值得欢迎的项目。
- **CODE_OF_CONDUCT:**行为准则为参与者的相关行为设定了基本规则,并有助于营造友好,友善的环境。尽管并非每个项目都有一个CODE_OF_CONDUCT文件,但它的存在表明这是一个值得欢迎的项目。
- **其他文档:**可能还有其他文档,例如教程,演练或治理策略,尤其是在较大的项目上。
-
最后,开源项目使用以下工具来组织讨论。
- **问题跟踪器:**人们讨论与项目相关的问题的地方。
- **拉动请求:**人们讨论和审查正在进行的更改。
- **讨论论坛或邮件列表:**某些项目可能使用这些渠道来进行交流。
- **同步聊天频道:**一些项目使用聊天频道进行休闲对话,协作和快速交流。
如何寻找一个好的开源项目
如果你是个小白,从未给开源项目贡献过代码,那么就不用想 太多了,从自己已经在用的(或者是想用的)开源项目入手。
最简单的几种方式:
- 查看README修改语法错误
- 发现了问题,提出issue
- 代码格式化工作
- 文档翻译工作
修复已经存在的issue
- 从gihub的contribute页面入手:找到一个项目 在url后面添加/contribute即可,例如https://github.com/facebook/react/contribute
- 从下面的链接中寻找可以贡献的项目
找到项目后的一些准备
确定项目是否可以参加,需要检查下面的几个条件:
- 最后一次提交的时间是什么时候?
- 有多少贡献者?
- 贡献者的提交频率?
然后看issue
- 有多少个?
- 回复是否快?
- issue讨论是否活跃?
再看pull requests
- 有多少个?
- 回复是否快?
- pull requests讨论是否活跃?
- pull requests多久会被合并?
如何提交
在打开issue或提出pull request或在聊天中提出问题之前,请牢记以下要点:
- 给出问题的上下文,如:
我在做B工作的时候发生了A问题
- 提问题前先看readme、issue、document
- 询问一定要简单直接
- 尊重社区的决定
Opening an issue
以下情况可以提出issue:
- 报告无法解决的错误
- 讨论想法
- 提出新功能或其他项目构想
Opening a pull request
以下情况可以提交pull request
- 提交bug的修复程序(例如,错字,链接失效或明显的错误)
- 开始处理某个问题中已经要求或已经讨论过的文稿
Github提交步骤和要求
- Fork仓库并且clone到本地
- 创建一个新的分支
- 在PR中 参考其他issue写出评论,甚至可以提交截图
- 测试要提交的内容
- 尽力满足项目的标准
链接
https://opensource.guide/how-to-contribute/