在开发者与社区这个互相依存的关系中
他们共同推动着开源项目的进步和发展
他们共同成长,互相成就!
然而,默默在背后为开源项目付出的开发者
究竟都是什么人呢?
男生or女生?
学生or打工人?
他们身在何方?
是什么让他们利用个人时间投身于开源?
社区有幸请到了本次获得openGemini社区开源之星的开发者们向大家讲述他们与社区的故事(〃'▽'〃)
相信阅读完本文大家一定会对这些“幕后英雄”以及“开源社区”有更多的认识和了解。
我是李文强(github:wtsclwq),目前就读于天津工业大学,是openGemini项目的Contributor。最初了解到社区是在OSPP活动期间,当时的我想要寻找一个年轻而活跃的数据库开源社区参与,openGemini的时序和分布式特性都是我比较感兴趣的方向,于是就联系到了我的指导老师@shilinlee。
刚开始熟悉项目的一段时间,我作为一个Go语言初学者,需要同时了学习Go语言的特性和项目整体架构,那段时间每天都感觉自己收获满满。比如学到了开源社区的协作流程,以及该如何快速熟悉一个大型项目并参与到其中,让我从此对学习新的项目不再有畏惧心理。
我认为开源无论是对于项目的发起者还是参与者都非常有意义,对于发起者而言能够吸引到更多的开发者参与项目的开发,必然能够让项目快速发展。而对于参与者而言,特别是学生群体和已经工作的工程师都能有一个学习新领域知识的平台,从而提升实践能力和就业竞争力。
openGemini社区的朋友们,大家好。我叫肖明浩,来自山东大学,目前是一名研二的学生。最开始和 openGemini 的相识,起源于开源之夏的活动。我在活动首页上浏览着,发现了一个用go语言实现的时序数据库,也就是openGemini。因为之前在友商的实习经历,我对于时序数据库还算比较熟悉,也和行业内翘楚InfluxDB打过很多交道。所以我抱着试一试的心态,添加了向宇老师的微信,和他聊了聊,表达了我想做一名社区contributor的想法。没想到,机会真的来了...
我记得我第一个commit是命令行相关的需求。尽管只修改了几十行代码,但是看着这几行代码跑通单元测试和集成测试,pr获得approval,最后合并到main分支,内心十分激动。毕竟当时距离我上一段实习经历已经过去了近一年,看见自己的id时隔多日再次出现在拥有众多star的repo中,再次在开源世界里留下自己的足迹,成就感油然而生。在四五月份,自己开始不断在issue列表里面翻,领issue解决后提pr。当然这其中少不了仕林老师的不断帮助,在他的帮助下,我们一起讨论需求的实现方案,我自己的代码规范和commit规范有了更大的进步。而我也一步一步爬到了contributor榜单的第三位。我记得我爬到第三的第一天,截图向朋友们炫耀“你看我,现在是第三名呀”。
其中印象最深的一段回忆是完成连续查询这一功能的时候,仕林老师带着我和另一位同学一起开发。当时正好赶上我阳了,学校也有学习任务,除此之外塞尔达公主还在海拉鲁等着我林克造好高达去救她。身体、学业以及娱乐各方面的原因分散了我的精力,而连续查询这一任务的工作量和难度不低,我当时以为做不出来了,最终在大家的帮助下完成了任务,我深刻感受到了团队互帮互助的力量,至今难忘。
我一直认为,开源是一个相当好的模式。Linus曾说过:talk is cheap, show me the code. 开源的好处就在这里,想看我的code,OK,去我GitHub主页看就可以了。当然在国内做大型开源项目,也是一条比较艰难的路。到目前为止,我三段项目经历全是国产开源数据库,在其中我能感受到开源社区大家友好的氛围以及工作人员的辛苦。我由衷地希望有一天,我们的国产时序数据库可以走向世界,拥有更多的contributor和star。
我是谢伟,一名在杭州工作的后端工程师,目前在参与研发和维护一款基于云原生的数据库私有云产品,平时使用的主力语言是 Shell(真云原生第一语言懂的都懂)以及 Go 和 Python。
和 openGemini 的相遇始于 V2ex,在工作期间我曾经接触过 Influxdb cluster Operator 的研发,但考虑到业务因素只做了一些修修补补的维护性工作,在 V2ex 看到 openGemini 开源的消息后,我了解到 openGemini 和我之前参与的工作有很多共同点,我觉得这是一个很好的机会去付诸自己的想法和理解,所以主动答复了希望在 openGemini 的云原生领域做一点贡献。
在社区中最难忘的事情并非来自代码,而是人际间的联系和互动。假期期间我去了一趟都江堰,非常凑巧的是社区内另一位 openGemini 团队的成员也在,于是我们就在都江堰的灌县古城瑞幸举行了openGemini社区的第一次线下 meetup。
我在社区最大的收获就是经历了一个多人参与的开源项目从无到有的过程,并且初步了解了小型开源社区的协作模式。
于我自己而言,参与开源的一部分原因是 “just for fun”,还有一部分原因是想通过工作之外的渠道来学习和实践新的知识,也希望每一位参与开源的社区同学们能够从中找到乐趣,有所收获。
我是王儒颖,中国科学院大学硕士在读。
一次偶然的机会,听师兄说起软件所会举办开源之夏的活动,上面会有很多开源项目可以参与。当时正好学完Go语言基本语法的我一眼就看到了openGemini,遂联系项目老师,由于对能力缺乏信心,在老师的鼓励下临到报名快截止才决定试一试。由于前期没有充分准备,我选的课题落选了,好在老师没有放弃我,又给我提供了其他的任务,期间遇到问题也及时帮助我解决,我上手之后陆陆续续又完成了几个简单的任务。
在整个参与项目的过程中,我了解到如何参与一个开源项目,学习到了开发规范和许多新知识,但更多的是对我自身性格的影响,我一直处于比较被动的状态,遇到问题容易退缩,但在参与项目的过程中,遇到问题老师总会及时解答,就这样完成了一开始觉得完成不了的东西,给我增加了不少面对挑战时的信心。
开源不仅能让项目本身变得更好,也给更多人提供了接触到大型项目的机会,开拓自己的视野。在参与项目的过程中会遇到一些平常遇不到的问题,这会引发更多的思考,有助于个人能力的提高。
我叫马欣楷,是一名大四学生,就读于浙江大学软件工程专业,对数据库等系统软件具有非常浓厚的兴趣。
我是在今年4月份接触的openGemini,当时我正在找实习,在一个华为的实习生招聘群里,向宇前辈转发了openGemini开源的文章,并询问是否有人对参与开源项目感兴趣。我当时觉得这是一个不错的机会,就主动提出参与了。之后李仕林前辈对我进行了非常多的指导,开始时给我分配了一个比较简单的任务,主要是为openGemini的命令行工具添加一个命令,帮助我熟悉Github工作流和openGemini的代码库。后来我开始逐步做一些更复杂的任务,之前完成了数据订阅功能的初步开发,最近在搞一些查询优化相关的工作。
参与openGemini开源社区的这几个月,我的收获是很丰富的。我可以感觉到openGemini的工作人员是真的非常用心的做开源,给社区开发者提供了非常好的平台,对于在校学生也提供了非常专业的指导。openGemini作为一个工业级的时序数据库开源项目,涉及许多数据库领域的前沿技术,对于代码质量也有着非常高的要求,在参与代码贡献的过程中,我从reviewer的检视意见中学到了许多规范代码的技巧,也明显感受到自己在编程时会更加全面的考虑问题,写出更高效、可靠的代码。我认为openGemini社区另一个好的地方是,内部的工程师产出了大量的源码分析文档,发布在公众号上,这可以帮助社区开发者快速熟悉openGemini的代码结构和先进特性,可以更加快速的上手。
最后我想从一个在校学生的角度聊一下开源。参与开源项目对于大学生好处是非常多的,因为在学校作业中写的代码,往往是“能跑就行”,而开源项目则要求你把代码提交到公开的网站上,接受专业工程师的审查和其他人的围观,可以帮助你提高编码水平。另一方面,许多开源项目都不是简单的应用层软件,很可能会涉及一些前沿技术,比如云原生、分布式等,这些技术往往在学校课程中不会设计,而开源社区不仅给你提供了学习轮子的机会,还提供了直接造轮子的机会,这对于拓宽技术视野是很有好处的。对于参与开源项目,我的经验就是一定不要被庞大的代码库吓到,要坚信再复杂的工程也是由人做出来的,别人能做到的,自己也能做到,可以从小问题入手,逐步提高。
大家好,我是来自电子科技大学的刘记博,今年研二在读,一直在分布式与数据库相关领域不断探索和学习。今年5月份左右,在与师兄的交谈中得知了openGemini开源时序数据库的信息,时值2023年开源之夏预热,一直对开源活动心有向往的我决定进入openGemini社区学习。
从5月份到现在,最令我难忘的经历还是刚刚接触openGemini并做出自己第一个贡献的时候。在参与开源活动之前,我的印象中开源社区是一座高山,是久经沙场的大牛的舞台,而当我真正接触到openGemini的时候,才发现开源社区对我们这些能力和经验都有限的同学是十分友好的。社区成员会从小任务开始,不断引导我深入理解代码,在这个过程中我还学到了开源社区交流的规范和礼仪。在这几个月的学习中,从客户端,到CQ任务再到开源之夏的一键部署工具,涉及的方面不断丰富,也使得我对openGemini这个分布式时序数据库更加了解。在CQ的开发过程中,我深切地体验了在线合作开发场景下项目是如何运作的,每周的例会和线上交流能帮助我们理清头绪,推进进度,极大地锻炼了在线交流和合作的能力。
从学生的角度来看,参与开源是打破知识壁垒、学习架构设计与丰富编程经验的有利途径。纸上得来终觉浅,只有阅读一行行代码才能帮助我们更好地理解它的精妙之处。站在社区的角度,开源也是帮助自己不断优化的过程,业界有太多优秀的项目都是早早开源并在开源社区中不断成长的。开源,无疑是一个共同进步的双赢过程。
在这些故事中
我们看到了社区开发者的贡献精神和巨大潜能
遇到挑战,接受挑战,攻克挑战
他们为社区所做的点点滴滴贡献
都会随着时间长河继续向前奔流
开发者的故事亦会在社区永远地流传下去
有一种热爱,使人熠熠生辉
期待有更多的伙伴加入社区
同社区一起打造最牛时序数据库
故事还在继续,你要一起吗?
openGemini官网:www.openGemini.org
openGemini开源地址:github.com/openGemini
openGemini公众号:
欢迎关注~ 诚邀你加入 openGemini 社区,共建、共治、共享未来!