
| 作者:魯飛(沈唁)
|?責(zé)編:沈于藍(lán)
| 編輯:姚王薇
| 設(shè)計(jì):朱億欽
我與開源相識在 2017 年,在 2017 年 11 月 23 日創(chuàng)建了一個 GitHub 賬號,ID是?sy-records,當(dāng)時只是為了基于Github Pages和Hexo模板來創(chuàng)建一個博客來記錄一些學(xué)習(xí)記錄等內(nèi)容。
相對于來說,全面開花的時間應(yīng)該是從 2018 年,以及在機(jī)緣巧合之下加入 Swoole 開發(fā)組開始。
往下聊故事之前,先來做一個自我介紹:
關(guān)于我
魯飛,網(wǎng)名沈唁,Simps 和 PHPMQTT 的創(chuàng)始人,GitHub:@sy-records ,Docsify、Hyperf、PHP、Swoole、ThinkPHP等開源項(xiàng)目開發(fā)組成員,阿里云專家博主,中國開源碼力榜 Top 15,《開源指北》編寫成員 ,開源社成員。
WordPress 插件開發(fā)者,為 WordPress 提供 10+ 開源插件。
接觸開源之路
最開始注冊 GitHub 之后,并沒有太多的去使用,除了 Hexo 之外,可能第一個 fork的項(xiàng)目是?git-tips?,用來學(xué)習(xí)更多的 Git 相關(guān)命令。
平時也會因?yàn)楣ぷ髟?,把部分功能API接口調(diào)用封裝成了sdk,提交到了https://packagist.org/(這里有重復(fù)造輪子的嫌疑,逃~)
18 年年底時,遇到了一個可以近距離接近大佬的機(jī)會,入職識沃科技(Swoole 商業(yè)化公司)。
入職后主要負(fù)責(zé)和參與開發(fā)了一些商業(yè)項(xiàng)目,但也為 Swoole 這個開源項(xiàng)目做了一些事情:社區(qū)運(yùn)營、文檔重構(gòu)、Library的開發(fā)和維護(hù)等。
特別值得一提就是文檔重構(gòu)了,不僅從舊版本的UI換為了新形式的前端實(shí)現(xiàn),而且還將大部分的錯誤內(nèi)容進(jìn)行了修正,補(bǔ)充了更多的示例代碼。


截止本篇文章發(fā)布前,Swoole 中文新文檔有 `1058 `次 commits,其中包含了我的`713`次 commits。
在重構(gòu) Swoole 文檔時,還遇到了一些問題,新版文檔的選型是使用了 docsify 這個項(xiàng)目,而那個時候的 docsify 還有些歷史遺留的搜索問題,例如:
?1. 不能搜索表格中的內(nèi)容
?2. 搜索內(nèi)容點(diǎn)擊跳轉(zhuǎn)位置錯誤
?3. 不能搜索列表的內(nèi)容
4.? 還有其他的問題...
那么遇到問題怎么辦呢?擺爛嗎?那肯定不可能的,docsify 是一個開源項(xiàng)目,那就可以通過提PR的方式來解決問題。
我先提交 issue,看開發(fā)者是否有時間回復(fù)和進(jìn)行修復(fù),在得到了回復(fù)之后,我就抽空去提交了PR進(jìn)行修復(fù),也是比較順利的被合并進(jìn)了主干。
與此往復(fù),我在給 docsify 提交了許多的PR后,就被邀請加入了開發(fā)組,現(xiàn)在我已經(jīng)是 docsify 的 `owner` 了。
文檔重構(gòu)之后還相當(dāng)于在另外一方面為 docsify 做了推廣,目前 Hyperf、OpenMix 、apolloconfig 等組織都使用了 docsify 來構(gòu)建文檔。
同時 docsify 報(bào)名參與了由思否組織的「SFOSSP - 思否開源項(xiàng)目支持計(jì)劃」,也在 2020年度獲得了OSC中國開源項(xiàng)目評選「最佳人氣項(xiàng)目」。

在使用中去參與開源
有了使用才能夠發(fā)現(xiàn)一個項(xiàng)目存在更深層的問題,如果有能力去修復(fù)這個bug,在提交PR后被合并,那么恭喜你,你已經(jīng)是這個項(xiàng)目的`Contributor`了。
我為 WordPress 開發(fā)了一個使用騰訊云存儲COS作為附件存儲的插件,在使用時就發(fā)現(xiàn)了`cos-php-sdk-v5`的一些問題,在修復(fù)的過程中,還接觸到了 COS PHP SDK 的開發(fā)團(tuán)隊(duì)

參與開源也不僅限于修復(fù)bug,我還提了一些優(yōu)化的PR、文檔的修復(fù)。在自己力所能及的范圍內(nèi)能夠?yàn)橐粋€項(xiàng)目做出貢獻(xiàn),都是參與開源的一種方式。
熱愛是開始,也是動力
作為一名 PHP 工程師,我會把自己封裝的 sdk 提交到 packagist ,供其他人去使用;
PHPMQTT?這個項(xiàng)目就是我這兩年在工作之余一直在維護(hù)的 PHP library,這是一個適用于 PHP 的 MQTT 協(xié)議解析和協(xié)程客戶端。
同時也是首個支持 MQTT `5.0` 協(xié)議的 PHP library。
> 以及首個支持 MQTT Over Websocket 的 PHP library,還未發(fā)布,但是已經(jīng)實(shí)現(xiàn)了。
PHPMQTT 也在 2021 年度OSC中國開源項(xiàng)目評選中獲得「最受歡迎項(xiàng)目」。

作為 Swoole 開發(fā)組成員,我也會注意周邊生態(tài)中的一些問題,基本上我為 mixphp、easyswoole、imi、swoft 等項(xiàng)目都提交過PR。
Laravel 發(fā)起了一個`octane`項(xiàng)目,去兼容使用 Swoole,我也在 GitHub watch 了該項(xiàng)目,在有用戶遇到 Swoole 相關(guān)的問題時,我能第一時間去提交PR去解決或者回復(fù) issue 。
持續(xù)貢獻(xiàn)
這幾年我也是一直在堅(jiān)持進(jìn)行持續(xù)貢獻(xiàn),主要活躍在 docsify 、swoole-src 、typecho、hyperf 、laravel/octane 、simps/mqtt 等項(xiàng)目中,還有周邊的sdk或者活動組織提供一些基礎(chǔ)支持能力。
除非有無法抗拒的原因或者 GitHub 權(quán)限的問題,比如下圖中2021年度的貢獻(xiàn)圖,有幾個空白格,但是我的 GItHub 登錄狀態(tài)下是綠色的。
每天多多少少的提交一點(diǎn)代碼,然后就慢慢的養(yǎng)成習(xí)慣并喜歡了這種堅(jiān)持,現(xiàn)在一天不提交代碼都覺得少了點(diǎn)什么。

寫在最后
開源這件事,只要接觸了就感覺離不開它了,同樣在我們的生活中無處不在的開源軟件,手機(jī)、App等都使用了一些開源軟件...
而且在開源社區(qū)中可以遇到在工作中無法接觸到的一些人和事,和開源社區(qū)交互、分享越多,就有更多的可能性,讓你有機(jī)會成為一個人才濟(jì)濟(jì)、活力四射的社區(qū)的一分子,你可以從中汲取靈感,并結(jié)識志同道合的人。
期待有更多的小伙伴能加入到開源中!