为什么参与开源?
- 开源的简单理解
- 什么情况下参与的开源
开源的简单理解
开源的简单理解,将自己所做的东西,公开出来,别人开源看到、借鉴、及拿来使用。也正是因为有了开源,我们不再需要重复造轮子,借助于开源产品及框架,开发者可以站在前人的基础上,用最短的时间就能做出高效稳定的系统,在开发效率及稳定性上都有了极大优势。
初次接触代码是在 2008 年,接触到 SAAS 自助建站,但那时还没有开源的 SAAS 自助建站系统,论坛里好多小伙伴对此都有非常高的期待,于是想着利用空余时间自己写一个出来,于是在 2010 年那会发布了第一个开源项目,寻仙 WAP2.0,发布于中国站长站。几个月的时间下载量一千多,看着别人在使用我的作品,使我精神上得到了极大的满足,也是由此热爱上了开源。
参与开源的初衷更多的是热爱,人生中应该要做一些自己所喜欢的事,在进行的过程中会发现即使写到半夜十二点也感觉不到累,思维会极其活跃清晰,这可能就是所说的,要有信仰以及追求。
选择适合自己的开源项目
- 参与开源项目有什么要求
- 选择自己最擅长的领域
- 你不知道的
参与开源项目有什么要求
参与开源项目,有些对本身的技能并没有很高的要求,刚毕业,只要有一颗充满热情的心,都可以尝试参与。比如写一个小而美,能解决具体需要的工具。
选择自己最擅长的领域
选择开源项目参与时,选择自己最擅长的领域,一定要适合自己当前能力及熟悉方向的,找自己感兴趣的参与进去。避免让参与开源给自己造成精神上的压力,以及成为生活中的负担。
你不知道的
另外还有些开源项目完成任务后是有激励的,是实实在在的钞票,不是某某代金券。并不是开源项目就一定是需要参与者无偿付出纯粹为爱发电。
开源项目的入门案例
快速体验:https://res.zvo.cn/msg/demo.html
- 第一步,引入
msg.js
js
<script src="https://res.zvo.cn/msg/msg.js"></script>
- 第二步,一行代码使用
js
msg.info("Hello Msg")
如何找到能参与的开源项目
方式一:在你喜欢的开源项目中,有好的想法,可以在开源仓库中提 issues
方式二:针对开源项目中,使用者在 issues 提的问题及 bug
方式三:不少开源项目作者都是业务时间进行更新维护的,时间不会很充足,可以针对开源作者所分布的一些任务进行提取,主动参与任务
方式四:某些开源组织会发布一些任务,其中涉及到各种语言及知识点,比如华为云开源组织中,就罗列出很多开源任务,开发者如果在其中有恰好自己熟悉的,便可以非常方便的提取:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloud-native-plugins-kits
或者点击链接查看,此处
正确的方式进行沟通交流
良好的沟通方式可以在最短的时间内,将信息传达给他人。
- 可以在项目中提 issues,也可以加相关的微信群、QQ 群,进行交流。网络中从来不缺键盘侠,以公正的态度提出问题,发现优点,借其优势成全自身,不能提供负面讨论,既消耗自己的时间,又影响对方的心情。
- 避免各种问题直接问开源作者,开源作者大多是利用业务时间参与的,他开源是因为热爱他的创造,但并不代表喜欢被各种询问,去被动回答各种重复性问题。尽量不去直接占用开源作者的时间。
- 沟通时,将自己的信息表达明确,尽量减少出现的来回询问互动过程,让帮助你的人能感觉到你是认真的、带着诚意的,那回答者还能有帮助求职者后的愉悦,而不是时间被浪费后的暴躁。
如何阅读和理解开源代码
开源项目中的 README.md
及相关文档是必读的。第一步必然是先看文档说明,其中即使有不需要的也大概浏览一边目录有个印象,避免自己花了半天时间阅读代码找问题,而问题就在文档中明确有说明。
要参与进去,可以先定一个小目标,先自己在本地能跑起来,能跑起来了,那就可以尝试改动并验证改动是否正确。有的开源项目时间比较久了,文档也比较完善,会容易许多。而有的开源项目可能文档会变少,又或者作者还没来得及把文档补全,遇到这种情况可能就要多踩一些坑了。参与开源项目的难度跟它的文档是成正比的。所以自己所做的或参与的开源项目,尽可能使入门文档齐全。
如何提交自己的贡献
- 加入到仓库的开发者之中
如果是自己主导或非常多的参与某个开源仓库,开源加入到仓库的开发者中,改动即可直接推送上来。
- Fork 仓库
大多数情况下,你想参与别人的开源项目,进行贡献时,开源 Fork 这个仓库。Fork 后,会克隆出一个自己的仓库来。所有的修改都要自己克隆后的这个仓库,也就是自己的仓库中进行修改。需要注意的事,每次更改功能前,要同步一下,保证自己克隆的仓库代码是最新的。
改动完成后,提交一个 Pull Request 到主仓库进行申请合并。
这些年参与开源的收获
内心充实,精神十足,更加有自信,因为这些多人都在用我的作品。
技术上有了显著提升,没感觉到累,经验跟技术还不知不觉就提升了。
增加了知名度,自从 18 年创业以来,无任何销售人员,纯技术团队,客户通过开源项目主动照过来。并且在日益内卷的当下,因为有自身稳定可靠的产品,在销售团队方面没有成本、系统稳定及熟悉,BUG 跟修复方面投入很少,大幅缩减成本,保持较高的利润率。