本文整理自对 2022 开源之夏 OpenMLDB 社区贡献者刘嘉松同学的采访,欢迎大家关注~
OpenMLDB:可以先请你介绍一下你自己吗?
刘嘉松:我叫刘嘉松,是中南大学计科专业的一名本科生,目前大四,未来将继续在中南大学读研究生。
开发 OpenMLDB C++ SDK 是我第一次参与开源项目。新手上路,经验不足,我在推进项目的过程中遇到了很多技术上的问题,不过很幸运能够遇到黄威老师,她耐心的指导帮助我解决了开发过程中的很多技术问题,让我比较顺利的完成了这个项目。
OpenMLDB:请问你接触到 OpenMLDB 的契机是?
刘嘉松:是开源之夏的活动。这个活动让我第一次接触到了 OpenMLDB,也第一次参与到了开源中。
OpenMLDB:开源之夏活动里的开源社区非常丰富,为什么会在众多社区里选择 OpenMLDB 呢?
刘嘉松:因为我希望能够借此机会接触到一些 AI 领域相关的实践知识,而 OpenMLDB 恰好是一个和 AI 领域有较多相关的数据库项目。而且 OpenMLDB 的这个开源项目需要使用 C++ 语言,我也刚好在深入学习 C++,希望通过这个项目提高我对 C++ 的使用能力。
OpenMLDB:第一次参加开源,你有什么特别的体验或感受吗?
刘嘉松:确实有比较深刻的体验,一是感到学校教学内容的局限性,学校的教学与项目实践之间有很大的鸿沟;二是切身体验到了项目实践过程中对于规范性的高要求,比如代码风格和格式要严格按照规范来。
OpenMLDB:介绍一下你眼中的 OpenMLDB 吧!
刘嘉松:我认为 OpenMLDB 是一个实用性很强并且能够带来巨大效益的一款数据库产品,因为它已经被广泛应用到许多领域和公司业务中。而且 OpenMLDB 仍然充满活力,有很多开源者为它持续保持热情、付出心血,也使得 OpenMLDB 越来越完善。
OpenMLDB:和校园教学的内容相比,切身参与 OpenMLDB 带给你哪些不一样感受?
刘嘉松:第一是实践过程中的所用到的知识更广泛,在学校里学习的内容都是较为死板、固定的,但是在实践中总是会遇到各种各样预想不到的问题,可能会涉及到很多方面的知识。
第二是在解决问题的途径上,如果在学校教学中遇到问题,往往可以通过课本或者向老师请教获得答案,但是在实践中,往往更多需要我们自己去搜索解决,在这个过程中还需要我们不断尝试、辨别对错,才能找到合适的解决方法。
OpenMLDB:在项目的开发过程中遇到印象最深刻的问题是什么以及你是如何解决的?
刘嘉松:最深刻的是 cmake 编写的问题,涉及到多级 cmake 的嵌套、很多变量的定义和使用。我通过在网上搜索并学习 cmake 解决了 cmake 编写语法上的问题,通过反复阅读项目代码理清楚了各个 cmake 文件间和变量间的逻辑关系,顺利完成 cmake 代码的编写。
OpenMLDB:在参与开源时,有发生过哪些和你的设想不一致的事情吗?
刘嘉松:主要是在参与过程中碰到了一些预料不到的技术问题,理想的情况是碰到问题后在网络上寻找合适的解决方法,然后解决问题。但实际情况是造成同一个问题的可能原因有很多,往往要经过反复的尝试才能成功解决。
OpenMLDB:你为社区做了哪些贡献,它将会产生什么样的价值?
刘嘉松:我重构了 C++ SDK,使得用户可以通过 C++ 语言使用 OpenMLDB,扩展了 OpenMLDB 的使用方法,使它便于推广了。
OpenMLDB:你认为参与开源带给你哪些收获?
刘嘉松:第一点,学习到了很多实用的技术,提高了编程能力;第二点,提高了解决问题的能力,提高了利用网络、搜索问题的能力;第三点,对实际项目的要求更加了解,对于我日后参与实践工作有很大帮助。
OpenMLDB:你如何看待和认识“开源”,说说你的理解~
刘嘉松:开源是互惠且共赢的,它是一个人或者一群人不求个人利益地奉献自己的技术和时间,去完成某个热爱的项目。在这个过程中,参与者用自己的技术提供免费服务,让计算机的整个行业变得更好,而且在参与的过程中不断提升自己的技术水平,塑造更强的自己。
OpenMLDB:可以给想要参与开源的新手一些实用的建议吗?
刘嘉松:遇到问题要和项目前辈多多沟通;要善于网络搜索,因为有很多技术问题其他人已经给出解决方法了;注意项目要求,严格按照项目的代码风格编写代码。
OpenMLDB:对于 OpenMLDB 社区有哪些建议和期待?
刘嘉松:OpenMLDB 是一款非常优秀的产品,期待能有更多的参与者加入到社区建设和完善工作中,让 OpenMLDB 有更强大更完善的功能,得到更加广泛的使用。