首页 > 其他分享 >专访 | 刘乔升:开源是人类智力劳动最好的组织形式

专访 | 刘乔升:开源是人类智力劳动最好的组织形式

时间:2022-12-08 18:03:39浏览次数:43  
标签:社区 专访 项目 之夏 OpenMLDB 刘乔升 开源

专访 | 刘乔升:开源是人类智力劳动最好的组织形式_特征

OpenMLDB: 可以请你先自我介绍一下吗?

刘乔升: 我叫刘乔升,来自复旦大学,就读于软件工程专业,是 2022 开源之夏 OpenMLDB Go SDK 项目的贡献者。在参加本届开源之夏活动前,我就有参加过一些开源社区的贡献,也有幸参加了 2021 年的开源之夏。加上在实验室和实习过程中对开源软件的研究使用,其实已经对开源生态有了一定的了解,也算是一个“开源老手”了吧。

OpenMLDB: 为什么会想继续参加开源之夏呢?

刘乔升: 在第一次参加开源之夏后,我对开源产生了更多兴趣。我希望能通过参加不同社区,了解更多领域。另外,我去年选择的是中等难度的项目,今年想要挑战一下进阶项目。

OpenMLDB: 其实开源之夏活动中的社区和项目非常丰富,为什么选择了 OpenMLDB 呢?

刘乔升: 一开始点进 OpenMLDB 的任务页面是因为之前就对这个开源项目有所耳闻,听同学介绍过OpenMLDB,看到开源之夏里有这个社区觉得比较亲切。了解之后,发现其中的 Go SDK 开发项目和自己的技术栈比较契合,加上开发者工具和数据库也是我感兴趣的方向,所以我就选择了 OpenMLDB 作为第二年的挑战。

OpenMLDB: 想问一下 OpenMLDB 给你的第一印象是怎样的?

刘乔升: 因为接触的开源软件比较多,所以我有一套快速了解社区的流程。首先,我会浏览一下官网和 GitHub 主页,了解这个软件的使用场景、核心特性、开发语言等等。接着,我会看一看文档,特别是 QuickStart,简单明了的上手流程在一定程度上显示了社区专业化程度。最后我会在 GitHub 的 issue 和 pull request 里观察一下项目是否活跃、问题响应是否及时、协作流程是否规范等等。用这一套流程初步了解下来,OpenMLDB 带给我的观感是十分良好,无论是社区的维护还是文档的建设都比较专业和用心。

OpenMLDB: 你在开发过程中遇到最具挑战的问题是什么?你是怎么解决的?

刘乔升: 最具挑战的问题还是在方案设计。OpenMLDB 的底层代码是由 C++ 完成的,我的工作是要开发一个 Go SDK,这就要求两种语言都要掌握且都能熟练运用。一开始我和指导老师讨论的方案与 C++ 的关系更密切,实现起来比较繁杂,编译链也会相对杂乱。后来我和指导老师多次讨论后,设计了一个更简单的方式,把 SDK 和 数据库解耦,通过 REST API 通信。在这个思路下,进展就比较顺利了。

OpenMLDB: 你认为社区和导师在活动中最重要的作用是什么?

刘乔升: 首先肯定是技术上的支持。在开发的初期,我其实对 OpenMLDB 整个的数据库结构不是非常了解,对它的底层代码也不是很能参透,这时候指导老师就会给我很多方向上的指导,主要关注哪些内容,重点修改某个部分。在指导下我可以分解 OpenMLDB 的架构,熟悉最关键的内容,拆解自己的任务。现在回顾合并代码前讨论,可以发现每次合并前都有来来回回的讨论,大概每次合并前都有 30 多条讨论,10 多次的修改打磨,对我来说每次提交代码都是一次学习和打磨。

OpenMLDB: 可以说说你参与这次开源活动的收获吗?

刘乔升: 简历上又多了一条亮眼的经历,GitHub 主页上的七八九月也因为开发的忙碌都被填满了,还结识了许多帮忙指导开发、审核代码的老师,各种收获都让我觉得参与 OpenMLDB 的开源项目充实且有成就感。还有我认为特别有帮助的一点是可以通过一次又一次的开源经历学会怎样参加开源项目,怎样和社区进行合作。即使我接触项目的时间并不长,但我依然可以凭借自己的开源经验快速了解项目,可以加入社区讨论,可以找到渠道提问求助。 举一个在开源协作的过程中收获的经验吧。代码提交不能像在学校里写作业一样埋头苦干再一次性提交,可能给审核者带来困扰,也又可能浪费自己的时间心血。我们需要尽可能把代码改动拆分的小一点,一边开发一边沟通,这是比较行得通的开源协作习惯。

OpenMLDB: 那作为“开源老手”,你可以给想要参与开源的新同学一些建议吗?

刘乔升: 通过活动加入开源就是一个很好的路径。像是开源之夏,还有其他的机构、社区都有举办一些面向开源新人、学生群体的开源活动,OpenMLDB 也有开放 good first issue 和一些学生活动。这都是非常实际、非常可行的、尝试开源的渠道。在学校学习的大部分课程,对应的领域里都有大量开源软件而且依然在更新维护,比如操作系统的 Linux、数据库的 Postgres。如果对某门课的内容感兴趣,完全可以找到这个领域里最活跃的开源软件去探索研究,看看这些熟悉又陌生的开源社区是如何运作的,自己要如何加入他们。

OpenMLDB: 可以问一下你开源的初心或说动力吗?

刘乔升: 起初,我参加开源是为了获得成就感。想象一下,当你打开自己的 GitHub 主页,向周围的同学朋友展示参与贡献的项目,看那些知名开源社区的名字像群星闪耀般在你的 ID 旁,这是一件多酷的事情!现在,更吸引我的是开源的理念和价值观。我越来越相信好的软件是通过开源的方式产生的,比如 Linux、Kubernetes,这些伟大的软件由来自不同国家、不同公司的工程师共同构建,并且为所有人使用。开源的运作方式使人类的知识劳动超越国家民族、语言文字、商业利益等各种因素结合在一起,避免了无谓的竞争,并且促进所有人的福祉。我相信,开源是人类智力劳动最好的组织形式。

OpenMLDB: 请说一句想对 OpenMLDB 的话吧!

刘乔升: 希望 OpenMLDB 越来越开放,能够吸引越来越多的开发者参与进来。

标签:社区,专访,项目,之夏,OpenMLDB,刘乔升,开源
From: https://blog.51cto.com/u_14858414/5922988

相关文章

  • 基于Qt的桌面客户端组件化框架DT 开源啦
    这个是本人在工作中基于QT开发的组件化桌面开发框架,目前打算开源出来提供给大家,节省大家的开发时间和效率,希望对大家的开发有所帮助,也欢迎提出意见和改进建议1.为什么开源D......
  • 活动预告 | 2022 中国开源开发者(北京)峰会
    12月8日14:30-14:55,OpenMLDBPMC、第四范式系统架构师卢冕,将在2022中国开源开发者(北京)峰会中为大家带来议题为《开源机器学习数据库OpenMLDB:线上线下一致的生产级特征......
  • 【开源项目】震惊JDBC查询比MyBatis查询慢
    震惊JDBC查询比MyBatis查询快?文章编写起始原因,在编写项目的时候碰到一个深坑,JDBC获取5000条数据,居然耗时261s,MyBatis同样的操作,耗时12s左右,震惊。看到这里下巴都快掉下来......
  • 熔断与服务降级开源库Sentinel
    Sentinel介绍分布式系统中一个微服务需要依赖于很多的其他的服务,那么服务就会不可避免的失败。例如A服务依赖于B、C、D等很多的服务,当B服务不可用的时候,会一直阻塞或者异常......
  • 【开源库推荐】#4 Poi-办公文档处理库
    原文:【开源库推荐】#4Poi-办公文档处理库-Stars-One的杂货小窝github仓库apache/poiApachePOI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microso......
  • 收藏两个不错的开源国内测试框架
    1)项目简介:这是一个WebUI自动化测试框架,由webdriver中文社区创办人土豆(本人技术笔名)所创建,该web自动化测试框架是用java语言编写的,基于seleniumwebdriver的开源自动化......
  • ChatGPT 会开源吗?
    最近,我被一款叫做ChatGPT的人工智能(AI)聊天机器人,刷屏了。网上有人说它是搜索引擎杀手,还有人说它将取代程序员...最后,我还是没扛住铺天盖地的赞美,跑去注册了个账号,抱着......
  • 十大开源测试工具和框架
    免费的开源框架和工具由于其开源特性,现在逐渐成为自动化测试的首选解决方案。区别在于,你是喜欢使用类库编写一个全新的自动化测试框架,或者喜欢使用一个现成的工具。本文帮......
  • 我为何放弃程序开源
    说实话,我一直认为开源是正义的。直到我看了易经这本书以后,我想说,对我来说,我可能不适合开源这个领域。也就是说,以后,我的所有作品,没有意外的话,都会是闭源的。也就是说,只提供二......
  • 开源web自定义表单有哪几个特点?
    目前,市场正在蓬勃发展中,作为企业,采用传统表单的弊端也逐渐显现出来,面临比较大的问题就是办公效率得不到提升。在各行各业正积极筹备朝着数字化方向转型的背景下,采用开源web......