左手代码,右手开源,开源路上的一份子

前几天在参与了腾源会组织的开源摘星计划特别期直播后,其他嘉宾说起了这个开源故事的总结,而我作为一个新面孔,于是乎就有了这篇文章。

我与开源相识在 2017 年,在 2017 年 11 月 23 日创建了一个 GitHub 账号,ID 是sy-records,当时只是为了基于 Github Pages 和 Hexo 模板来创建一个博客来记录一些学习记录等内容。

相对于来说,全面开花的时间应该是从 2018 年,以及在机缘巧合之下加入 Swoole 开发组开始。

往下聊故事之前,先来做一个自我介绍:

关于我

鲁飞,网名沈唁,Simps 和PHPMQTT的创始人,GitHub:@sy-records ,Docsify、Hyperf、PHP、Swoole、ThinkPHP 等开源项目开发组成员,阿里云专家博主,中国开源码力榜 Top 15《开源指北》 编写成员 ,开源社成员。WordPress 插件开发者,为 WordPress 提供了 10+ 开源插件。

接触开源

最开始注册 GitHub 之后,并没有太多的去使用,除了 Hexo 之外,可能第一个 fork 的项目是git-tips,用来学习更多的 Git 相关命令。

平时也会因为工作原因,把部分功能 API 接口调用封装成了 sdk,提交到了https://packagist.org/(这里有重复造轮子的嫌疑,逃~)

18 年年底时,遇到了一个可以近距离接近大佬的机会,入职识沃科技(Swoole 商业化公司)。

入职后主要负责和参与开发了一些商业项目,但也为 Swoole 这个开源项目做了一些事情:社区运营、文档重构、Library 的开发和维护等。

特别值得一提就是文档重构了,不仅从旧版本的 UI 换为了新形式的前端实现,而且还将大部分的错误内容进行了修正,补充了更多的示例代码。

旧版本文档 新版本文档
旧版本文档 新版本文档

截止本篇文章发布前,Swoole 中文新文档有 1058次 commits,其中包含了我的713次 commits。

在重构 Swoole 文档时,还遇到了一些问题,新版文档的选型是使用了 docsify 这个项目,而那个时候的 docsify 还有些历史遗留的搜索问题,例如:

  • 不能搜索表格中的内容
  • 搜索内容点击跳转位置错误
  • 不能搜索列表的内容
  • 还有其他的问题...

遇到问题怎么办呢?docsify 是一个开源项目,那就提个 PR 来解决问题。

那么遇到问题怎么办呢?摆烂吗?那肯定不可能的,docsify 是一个开源项目,那就可以通过提 PR 的方式来解决问题。

我先提交 issue,看开发者是否有时间回复和进行修复,在得到了回复之后,我就抽空去提交了 PR 进行修复,也是比较顺利的被合并进了主干。

与此往复,我在给 docsify 提交了许多的 PR 后,就被邀请加入了开发组,现在我已经是 docsify 的 owner 了。

文档重构之后还相当于在另外一方面为 docsify 做了推广,目前 Hyperf、OpenMix 、apolloconfig 等组织都使用了 docsify 来构建文档。

同时 docsify 报名参与了由思否组织的「SFOSSP - 思否开源项目支持计划」,也在 2020 年度获得了 OSC 中国开源项目评选「最佳人气项目」。

img

在使用中去参与开源

有了使用才能够发现一个项目存在更深层的问题,如果有能力去修复这个 bug,在提交 PR 后被合并,那么恭喜你,你已经是这个项目的Contributor了。

我为 WordPress 开发了一个使用腾讯云存储 COS 作为附件存储的插件,在使用时就发现了cos-php-sdk-v5的一些问题,在修复的过程中,还接触到了 COS PHP SDK 的开发团队

cos

参与开源也不仅限于修复 bug,我还提了一些优化的 PR、文档的修复。在自己力所能及的范围内能够为一个项目做出贡献,都是参与开源的一种方式。

热爱是开始,也是动力

作为一名 PHP 工程师,我会把自己封装的 sdk 提交到 packagist,供其他人去使用;

PHPMQTT 这个项目就是我这两年在工作之余一直在维护的 PHP library,这是一个适用于 PHP 的 MQTT 协议解析和协程客户端。

同时也是首个支持 MQTT 5.0 协议的 PHP library。

以及首个支持 MQTT Over Websocket 的 PHP library,还未发布,但是已经实现了。

PHPMQTT 也在 2021 年度 OSC 中国开源项目评选中获得「最受欢迎项目」。

PHPMQTT 最受欢迎项目

作为 Swoole 开发组成员,我也会注意周边生态中的一些问题,基本上我为 mixphp、easyswoole、imi、swoft 等项目都提交过 PR。

Laravel 发起了一个octane项目,去兼容使用 Swoole,我也在 GitHub watch 了该项目,在有用户遇到 Swoole 相关的问题时,我能第一时间去提交 PR 去解决或者回复 issue。

持续贡献

这几年我也是一直在坚持进行持续贡献,主要活跃在 docsify、swoole-src、typecho、hyperf、laravel/octane、simps/mqtt 等项目中,还有周边的 sdk 或者活动组织提供一些基础支持能力。

除非有无法抗拒的原因或者 GitHub 权限的问题,比如下图中 2021 年度的贡献图,有几个空白格,但是我的 GItHub 登录状态下是绿色的。

每天多多少少的提交一点代码,然后就慢慢的养成习惯并喜欢了这种坚持,现在一天不提交代码都觉得少了点什么。

contributions

写在最后

开源这件事,只要接触了就感觉离不开它了,同样在我们的生活中无处不在的开源软件,手机、App 等都使用了一些开源软件...

而且在开源社区中可以遇到在工作中无法接触到的一些人和事,和开源社区交互、分享越多,就有更多的可能性,让你有机会成为一个人才济济、活力四射的社区的一分子,你可以从中汲取灵感,并结识志同道合的人。

期待有更多的小伙伴能加入到开源中!

4 条评论

发表评论

*