开源一夏 | 为什么应该参与开源项目
内容整理自《CSG 第二期 Hertz 框架学习活动-第四场圆桌分享》
本文正在参与 InfoQ 《主题征文赛 —— “开源一夏”》活动,邀请大家多多分享、评论、点赞~
与 CloudWeGo 社区结缘
其实与 Kitex 的结缘是非常巧合的,记得是在 2021 年 9 月尝试在 InfoQ 做输出,挑战日更,但是搞了一个月发现自己只能做点翻译的事情,后来做了一次反思《最近几天在 InfoQ 连更的再反思》。
于是决定学一点特定的技术,发现之前自己学习的更多是“道”和“法”层面,更多关于编程理念的知识和理解,很少关于“术”和“器”。联想孔子的一句话:“吾尝终日不食,终夜不寝,以思,无益,不如学也”,就是之前都是思维层面和架构层面的思考,不如学点具体的技术。
因此,我决定再找一个话题,从感兴趣的方面入手,但是 Docker、云原生、架构设计、微服务思考这些话题非常火热且竞争很大,可能一时难以入手做出自己的东西,想起刚刚开源的 Kitex ,以及刚开源 CloudWeGo 项目中相关的一些中间件集合的资料和实践应该比较少,就开始了《CloudWeGo 微服务实践》系列,做了一个小的集合,但是也没写完整,只是写到了操作数据,不是一个完全的业务实践。
对我个人而言,了解微服务框架是一个很好的入门,并且更重要的是能够参与到社区中来。我在了解框架的过程中,经常在 CloudWeGo 飞书群了解相关动态,看一下 CloudWeGo 相关的 PR 或者 Issues,关注一些最新动态,看看哪些东西自己是可以做的。
关于云原生和开源文化的认识
那么我是怎么一步一步了解或者接触到开源文化的呢?
这大概要回顾 2018-2019 年,当时在深圳经常参加一些技术峰会、Meetup 等活动,这个城市的技术氛围很不错的。那时就能明显地感觉出来云原生、围绕容器的虚拟化 K8S 相关一定是一个技术趋势,当时也是因为对 Docker 感兴趣,所以更多地留意了 K8S 这些相关的技术领域。
那时了解到 Linux Foundation,即 Linux 开源基金会,有一次的大会他们宣布了中文服务:开源软件学院,会有一些技术认证和教程。当时我想通过这种机会,特意地学一些特定的技术,比如他们推出了 CKA 、CKS,所以这也是一种学习的渠道。
不仅如此,我还会经常关注基金会推出的一些开源项目。当时在学 K8S 的时候浏览了一遍 K8S 相关文档,给他们的文档提过一些 PR ,这是我最早接触到开源。
为什么要参与开源
学习优秀的开源项目
避免做井底之蛙,要走出去看看别人是怎么做的。比如:优秀的编码、代码规范、设计模式、架构思路等等,寻找更多正例和最佳实践,开阔技术视野。
结交最优秀的软件工程师
你可以在 Github 发现世界上更多更优秀的人,与他们共事,向他们学习。了解他们的技术思路、思维方式、职业规划,也会给自己带来启发。
协同共建,融入社区带来成就感
开源很多时候是用爱发电,开源的第一步是把代码开放出来,后边很多时候是靠社区驱动迭代和演进,众人拾柴火焰高是开源的精髓和意义。我们为社区贡献的点点滴滴以后都有可能帮助很多用户解决问题,这是开源项目生命力的体现,也是我们成就感的来源。
个人影响力,很多人都知道要构建个人品牌,扩大个人影响力,而参与开源恰好是一次很好的机会。并且长期持续的投入,你也会获得一批粉丝和朋友,甚至还有良师,这些都会在你的人生和职业道路说不定有什么新的机缘巧合。
2021 年 11 月,当时关注 CloudWeGo 社区一段时间,就深有感悟,还总结了一篇文章:《聊聊开源精神》。
以后对开源的想法
曾经有一个梦想,能够远程工作,即为开源产品贡献代码或者在一个基金会工作,也可以作为一个布道者,可以和喜欢的人和事打交道,不用考虑太多商业化,不用内卷。
当然,这个想法可能不能一蹴而就,但是至少在 CloudWeGo 找到了一个切入点,能够深度参与社区,体验更标准的开发流程规范,开源治理流程,还有如何发挥开源项目在技术圈子的影响力。
总之,个人成长与社区的建设一定也是互相成就的。
这里,再分享一位开源爱好者,我觉得他是很有代表性、具有极客范儿的一个人。他叫苏业钦,主业是云南的一名儿科医生,但是他业余也是一位资深 Linux 玩家,大家感兴趣可以了解一下。
https://space.bilibili.com/2041146642
最后
希望大家都能够在代码的世界里找到乐趣!
版权声明: 本文为 InfoQ 作者【baiyutang】的原创文章。
原文链接:【http://xie.infoq.cn/article/da498a0b9dcf7bc8cfc46b36b】。文章转载请联系作者。
评论 (4 条评论)