我与开源指北的故事

前言

关于我

我是雪山凌狐,一位希望对这个世界做点贡献的开源爱好者。擅长 python、易语言等的开发和教学。目前致力于帮助更多的小白开发者或业余爱好者踏入编程的大门,有自己的编程教学网站。在国外留学的时候,就有接触到开源的思想,对此很是认可,虽然目前自己的开源项目经验还不够充足,但仍在不断努力中。我希望能通过我的故事,影响到屏幕前的你,鼓起勇气加入到开源的行列中,为开源世界再抹上新的一束光。

关于开源指北项目

开源指北是由 Gitee 官方发起的电子书编写项目,因为一直有在开发者们中听到 「我有想参与开源,但我不知道怎么做」 这样的声音,网上搜索相关的资料也是五花八门、不成体系的,于是 Gitee 也以开源的形式,邀请众多开源爱好者一起分享经验,分享自己对开源的认识和参与开源实践的经历,为那些想参与开源的开发者们提供一个丰富详实的操作指南,让更多开发者认识开源、参与开源、爱上开源。

作为一份给开源新手的保姆级开源百科,开源指北力求严谨、详实,由爱好者拟稿编写,再由业界专家组审校完成,是业界不可多得的一份中文开源百科书,亦或许成为你未来学习开源路上不可不读的书籍之一。

点击学习开源指北:开源指北

邂逅开源指北

我与开源指北的故事,始于 2020 年的 10 月底,那时候正巧在 Gitee 弄我自己的项目,突然看到 Gitee 的一个悬浮图片广告出现在角落(还好我没开悬浮广告的屏蔽工具,不然要跟这个项目擦肩而过了哈哈),写的大概内容是:《开源指北》电子书,邀请广大开发者、开源爱好者、开源社区来共同编写。还有精美好礼哦!

为什么决定参与贡献

期初我对于这类广告还是不怎么在意的,毕竟是官方的项目嘛,我的开源经验也不足,或许我写的东西入不了官方的法眼(官方:我有那么凶神恶煞么?)。不过当时有点时间,对于这样的项目还是有点兴趣的,想着以后别的大神写好了要不来观摩学习一下?于是戳开了悬浮广告链接。我没有想到的是,就是这么个简单的决定,改变了我未来的人生之路。

这也是我第一次去查看一个还没写好的开源电子书的项目,首先他们的协作形式就很值得我学习。那就是在 Issues 中写上一个个章节的内容和大纲供人认领,然后在具体协作时,通过 Gitee 独特的轻量 PR 的形式(也就是无需先 Fork 项目即可提交 PR)来进行稿件的提交。

我呢估计也是个 README 的颜控,接下来看到的是开源指北精美的 README 文件,当然要细细的品读一番。

接下来,我就看到了这么一段对参与编写者的要求:

参与编写者要求

我虽然认可开源理念,但确实感觉自己还没拥有太多的开源项目协作经验,所以第一点或许是不满足的。但是我发现,第二点我满足呀!找资料和编写文档的能力还是在的嘛。毕竟也是写过众多教案的人,对于要把一个复杂的事情给小白讲清楚,这一点我还是有信心的。

接下来我去看了一下编写奖励:

编写奖励

哇,还有证书,并且是官方证书,还能署名贡献者!还有周边T恤诶!(最一开始的确是冲着证书和T恤去的哈哈)虽然这个奖励成本并不算很高,但是可以帮助到开源新手这一点可跟我想要致力于帮助到更多的开发者的想法太契合了!

于是我开始到 Issues 里面看,我能写什么章节。选择的时候也有些害怕,怕里面要写的内容都需要非常专业的经验才能编写的话,那我可真就是爱莫能助了。找着找着,发现有一个章节感觉自己能写得来:尝试参与开源:提交第一个 Issue。我想,写好一个章节就好,在精而不贪多,于是就决定写这个了!

在 Issues 中报名之后,很快得到了官方的回应,可以开始编写了!于是加了 Gitee小助手 的微信号,意外之喜是,小助手相当的热情,让我觉得这是一个充满活力的企业,我想这一定是很有发展前景的,于是更坚定了我一定要好好把认领的章节给写好,帮助到后面的朋友的心。

编写之路漫漫

编写准备

根据我的教学经验,我认为一个好的教程手册,应该致力于让读者看得懂,记得牢,而不是作者的自嗨。因此我在编写时也努力让自己的表述更加平实,让没有基础或者基础薄弱的朋友也不至于听不明白,从而放弃。

之前我说过,我对于开源的经验还不算特别的充足,因此为了避免我的内容权威性不足,我开始查阅资料,我选择写的是 如何提交一个 Issue 的章节,于是我把关于 Issue 对应的一些有价值的资料都看了个遍,同时,也参考了一下 Github 对于 Issue 帮助文档的英文资料。对于一些比较有价值的资料,我还反复看了两三遍。

由于这是一个有关操作指导的章节,跟具体的操作是脱不了关系的。于是我在 Gitee 建了一个自己的测试项目,针对找的资料在 Gitee 上一一测试比对,并将检查出的 Gitee 跟资料中的不同之处标出,避免最后编写的内容与 Gitee 上的实际使用体验不符。

Gitee测试项目

初尝甜头

充分的了解让我对于这块的知识有了更多的把握,初始工作准备了 2~3 天后,我终于开始动笔了。首先需要完成的便是官方建议的大纲中建议的小节内容。

这里我编写的原则是在参考资料的基础上,一些概念解释或表述会基于自己对于 Issue 的理解来展开,尽可能让人快速理解这是一个什么东西,以及如何快速使用。

编写完成后,我开始提交我的第一稿稿件(因为担心到初稿截止日了没提交的不算数了,所以先提交第一稿再说),这时,我对于 PR 协作也是没太多经验的,不过想着总要跟仓库所有者讲明白我这次提交了什么,下次准备写啥来方便人家审核吧,于是就提了这么一个初稿 PR:!30 【轻量级 PR】:update 第三部分——尝试参与开源/提交第一个 Issue.md.第一稿,后续还有补充,详见扩展信息

第一个PR

没想到,PR 说明内容竟成为之前提交过 PR 的作者里面最详实的,还触发了官方的隐藏奖励,官方直接在编写群里表扬了我:

触发隐藏奖励

一个开源爱好者的快乐就是这么简单,一个简单的肯定,足以让他激发更大的热情。这次,Gitee 官方的热情真的让我受宠若惊,于是我决定,后面的内容也要尽快完善完整,决不能让嗷嗷待哺的 Gitee 等久了。

完善补充

于是我利用工作之余的时间,继续完善补充内容,在编写的过程中,遇到的一些关于在 Gitee 中使用 Issue 的疑问(网上找不到答案,官方的文档也没写的那种),还得到了 Gitee 工作人员的耐心解答和截图支持,在此对他们表示感谢。几天后,新鲜出炉,内容详实的共 5 稿初稿,终于在第一阶段编写的截止日期前完成了。同时这份初稿也成为了后来专家组审校的过程中,一刀未剪,一稿通过的初稿,在此特别感谢专家组的肯定。

在编写完自己认领的章节的同时,我也在思考是否能为《开源指北》做更多的事情,比如是否可以根据编写规范,给其他已经编写好的内容改改错别字,通顺下语句或者优化排版等等。

说干就干!利用工作之余的时间,我将当时已经提交合并的所有章节内容都看了一遍,通读别的大神的作品学习的同时,修改了许多小细节内容。毕竟朋友们都说,我的性格适合做需要细心的活嘛。通过通力协作,我有了很大的成长和提高。

阅读我主编的章节

如果你看到这里对我编写的内容感兴趣,欢迎到这里阅读我主要编写的章节:

第 6 小节:提交第一个 Issue

参与后的收获或提升

技术精进

在技术方面,通过全程参与开源项目,对于整体项目流程有了很细致的了解。

同时为了写好自己认领的章节,我也对 Issue 相关的内容做了详细的理论调研。

单单是这样还不够,我还在 Gitee 建了个自己的仓库,对于学到的理论知识,都一一在仓库中实际测试之后,才会写到自己认领的章节中,对自己负责,也对未来阅读这本书籍的开源爱好者们负责。

即使现在在编写完成这个章节的内容几个月之后,我还是清晰的记得当初学过和记录过的那些知识要点,它就好像树根一样,深深的扎根在我的脑海里了,这对我未来持续参与开源贡献,是非常有帮助的。

感谢这样的经历,又让我成长了许多。

广交新友

线上

真的非常喜欢开放包容的开源社区的氛围,至少 Gitee 的开源指北社区是这样的,有问题,大家摆事实讲道理,评论都是一大段一大段的,跟别人进行思想的碰撞其实是一件很爽的事情。因为发一条评论是经过深思熟虑的,需要好好组织语言来表达自己的观点,因此感觉发的每条技术评论都是文思泉涌的。这对于需要讨论的技术问题的进一步明确,甚至达成共识,非常有帮助。

在咱们编写小分队的微信群中,也结识了许多志同道合的小伙伴,许多开源大佬,未来我还需要多多向他们学习,向他们看齐,多为开源社区做贡献。

线下

2020 年 12 月 27 号下午,深圳国际开源谷开源中国办公室举办了年度的 Gitee Day 线下活动,多次跟小助手说我要去你们办公的地方看看的我报名参与了此次活动,并有幸结实了一干开源大佬。

Gitee Day 1

活动结束,还有幸参与了 Gitee 大家庭和开源分享嘉宾大佬们的晚宴,这对我来说真的是很珍贵的经历和宝贵的财富。晚宴上,我致力的教学布道的事情也得到了大佬们的认可和肯定,这对我来说是莫大的鼓励。

Gitee Day 2

我梦想着,未来在开源大佬的席位上,也有我的一席之地吧。

奖品满载而归

Gitee 真是一个不吝啬发奖品的好公司,由于我的积极贡献,前前后后获得了超多 Gitee 发的礼物,包括精致的证书、T恤、马克杯、鼠标垫、手机挂环、数据线、精美笔记本、双肩背包、实用手提包等等,搞得 Gitee小助手 都在说:你要凑个全套周边吗?

T恤

双肩背包

证书

精美笔记本

写给想参与开源的你

故事的最后,让我来给想参与开源的你说说心里话。

“开源,用你的力量来帮助到更多的人。”

对于我接触到的生活工作圈子来说,参与开源贡献的人是比较少的,很多都是企业级别开发的项目,有着较高的保密需求,因此企业内的项目私有化的占比较大。但我看好开源社区,看好开源文化。如何在未来引领更多新的开发者进入开源的世界,为开源,为世界作出一点自己新的贡献,是我未来努力发展的方向。

这个世界未来发展的技术和力量一定是大家一点一滴筑成的。开源协作给了你一个很好的机会,跟全球开发者一道让这个世界变得更美好。当你和社区的努力给成千上万的人带来实质性的帮助的时候,那种成就感是无与伦比的。

而看完我的故事后,不要怕,赶紧去行动起来,参与到开源贡献当中,相信你会有不一样的技术收获。

哈佛学习金字塔

不要担心自己的技术和贡献分享出去之后只是为别人做了嫁衣,哈佛学习金字塔告诉你,当你学到知识,最终实现转教别人/立即应用的程度时,你属于主动学习,知识的吸收效率是最高的。做出贡献,不仅是对项目做出了帮助,还练习了你编写代码的能力,训练了你与人协作的能力,对你的个人成长性极高。

因此,不要吝啬对开源社区做出的奉献,这个世界很多东西都是守恒的,你做出了贡献,开源世界终将回馈于你。

加油吧朋友!我在开源世界里等待你的到来!