MOSN Contributor 采访|开源可以是做力所能及的事

f8ff15a484fc3343a6e2e7cd612e7ea0.gif

随着 MOSN 进入 1.0 稳定版本,社区也涌进了一些新鲜的血液 ,有开源经验丰富的大四同学、热门开源项目的负责人和渴求找到合适自己开源项目的开发者,大家都在社区一边学习一边贡献,从兴趣出发,沉迷于热爱。

我们共同的目标是社区共建,大家基于开源的方式协作,把产品做大做强。

0218b44b4e9e3cde7e7391616d804f6a.png

35ca5ac05957b1f74a72a5878efcc5d4.png

以下三位是 MOSN 社区的新晋 Contributor,听听他们说怎么看待开源、走近开源,又是为什么选择 MOSN 社区的呢?

 ● 大四学生,把开源融入成长和工作

冷酷.(蚂蚁实习生)

贡献内容:

Bolt 协议新增 GoAway 实现,具备协议级 proxy 配置开关;

发现并修复 MOSN 多协议 proxy 配置 bug。

0fa3f5ea943cdd232835e93f6e2d1cde.png

我接触开源比较早,大二的时候和朋友一起写过一个小开源项目,攒了百来个 star;暑假参加了阿里巴巴开源之夏;现在经常使用 GitHub 上的小工具,给在用的项目提交 issue 和 PR 是一件顺手的事情。

追溯起我和 MOSN 的渊源,在大二的时候就给 MOSN 提交过代码,当时是做项目需要参考,就顺手修了一个简单的 Readme 里的链接显示的 bug。我建议大家一开始可以通过这种任务熟悉 PR 流程,从 fix typo 到真的去发现或者修一些 bug,甚至是做一些 feature 还是有挺长的路要走。

这次给 MOSN 提交代码,也是因为我们的项目需要用其中的功能。对我而言,之前参与开源困难的点在于代码能力差,项目里的概念不了解,甚至都不知道项目的功能,就很难看懂代码,以及参与进去。

从使用一个产品的角度熟悉项目,才能更好得参与开发。所以不必要从很知名的大型开源项目入手,功能多、代码复杂,贡献起来也会很困难。

每次贡献不一定非要是了不起的功能实现,从一些自己常用的 GitHub 上的各种小工具更容易入手,把贡献看作是自己力所能及的事情就简单很多了。

 ● 跨行业自学代码,开源门槛也没那么高 

志彬.(火线安全后端开发)

贡献内容:

为 MOSN 新增/version API,为 Holmes 支持了外部 logger 等特性,以及很多 bugfix 的工作。

0897f04b1cfe3fffa72bcf982c377084.png

作为一个非专科、转行自学,目前是一个 star 12.9k 开源项目( gin-vue-admin )的负责人,其中的辛酸血泪史也是足够艰辛的。

志彬自称是 B 站大学毕业的,看某教育的课程自学 python ,跟着 q1mi 老师的博客和视频学习,期间也开源自己的一些 demo 项目,慢慢参与到一些开源项目,抱着学习的心态来参加贡献(呃... 说实话就是找找哪些地方可以 cv 到我的工作模块里)。

志彬某次夜读听曹春辉大佬有介绍 MOSN,对存储比较感兴趣,想要集成到自己的工作模块里。参与 Holmes 的时候还没有发版,源码也不多,功能也比较少,志彬就看准时间参与到了其中的开发贡献。

谈起自己团队的 gin-vue-admin 项目,志彬的语气里透露着自豪:“我们的项目技术门槛不高,可以自动生成代码,省去一些 curd 的工作。社区成员都是一些小白,所以社区氛围很活跃。虽然对贡献者的数量从没在意过,但是‘自流水’也是源源不短,这些都是用户对我们的认可。

每当用户在社区里说这个项目为他们省去了时间和人力的消耗,都会让我们振奋很久。”

多年经验,总结出判断优秀开源社区的标准:1. 足够稳定 2. 社区氛围够活跃 3. 代码质量(架构结构、模块划分组织比较好)。

“MOSN 社区完全符合以上标准,但是和我们是不同的风格,技术门槛会比较高,是对进阶技术人员的新挑战。之前 MOSN 在飞速发展的阶段,改动会比较频繁,可以接触最前沿的技术,但是稍有不注意就会跟不上步伐。MOSN1.0 到来后,期待社区越来越好。”

 ● 合适的开源项目,是我“闲逛”来了 

骏龙. Shopee Digital Purchase

贡献内容:

针对 Holmes,实现了动态调整参数,抓取事件上报,抓取策略优化等功能,此外还写了新的 readme.md 和两篇使用教程;

对于 MOSN,实现了 stop 和 reload 命令行命令。

685052a8188b59e6e3d089b92e6f394c.png

开源的第一步,选择合适的项目就很让人头痛,在接触 MOSN 之前,骏龙完全没有开源经验,但是经常在 GitHub 上“闲逛”,但是认为大多数项目门槛比较高,苦于找不到合适的项目和机会去参与。

当时骏龙为了提高服务的稳定性以及降低排查资源问题的难度,需要找一套监控解决方案,偶然通过曹大的博文,发现了 Holmes。过了不久,Holmes 被集成到了 MOSN,便也就开始接触到社区。发现这个开源库功能基本齐全、扩展性也高,特别是 GCHeapDump 这个业界领先的功能,对解决内存升高的问题十分有用。成熟的社区加上刚建设的项目,这简直是为他量身定做。

初识 MOSN 社区,Holmes 还处于萌芽期,除了 Readme 之外的文档资料并不多。还有一些 Holmes 当时不支持的功能,比如动态配置调整与上报。但是自己对这方面很感兴趣兴趣,于是在 GitHub 上提了几个 Issue 讨论,社区回复的速度十分快。后续在社区前辈们的指导下提了 PR,也因此通过 Holmes 的代码设计学习到了很多关于开源组件的设计理念。因此,骏龙决定参与开源社区并贡献代码,以解决实际需求。

在参与贡献前,骏龙做了很多准备,才鼓起勇气提交了 issue:
1.阅读 issue 列表,确认是否真的感兴趣

2.阅读 contribution 文档

3.在 issue 下留言,表达自己的解决方案

4.进入用户交流群,和大家讨论解决方案

当骏龙战战兢兢的靠近开源圈时,MOSN 社区的人德就是助他一臂之力的那个人。“人德前辈给我分配了难度合适的 issue,并且十分细致的 review 了我的代码,细致到日志打印的程度,让一个开源小白很是感动。”

第一次正式参与开源,取得每一步进展的心情都是很激动的,看到 release note 上有自己的 ID 是最有成就感的时刻。

开源最需要和自己的惰性作斗争,带来的成就感也是无可取代的。除此之外,当看到自己的 PR 收到很多修改意见时,或许会让你一时沮丧。不要灰心,这可是摆脱 curd 的第一步!

MOSN 将来会探索集中力量去做更长远的事情,也希望更多感兴趣的朋友能够参与进来,和社区成员一起成长是我们愿意看到的状态。

51cd270ad5e15c7b3593568a469eae98.png

欢迎大家使用 MOSN,共同成长

点击“阅读原文”,更了解 MOSN

 了解更多...

MOSN Star 一下✨:
https://github.com/MOSN

也欢迎大家报名 SOFAStack、MOSN 社区 

2022 年的开源之夏项目✌️

   本周推荐阅读  

9082572cf49fc822b91603e41dc0a12e.png

【2022 开源之夏】欢迎报名SOFAStack 社区项目!

bc3704a0691cc195bfe25f28b8dd1ffe.png

2022 开源之夏】欢迎报名 MOSN 社区项目!

88ff3901871372fb97e4d6bbe173f554.png

贡献黄章衡成为SOFAJRaft Committer !

2a906b213e0308661055206a4b3977f7.png

SOFAServerless 体系助力业务极速研发

acc65050fe04f73f999f7aca0ee9ee9b.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值