经验分享|参与内部开源的心路历程
作者:Rise Hao(郝玉鹏) 简介:Rise Hao(郝玉鹏)为云智慧研发部-研发八部前端开发工程师,2021 届开源技术创新奖获得者。致力于 DOSM 等产品项目的研发工作,担任 RDEP 与 FlyFish 的 Maintainer。
参与内部开源,首先要了解什么是真正的内源。内源其实是一种采用了开源原则,然后将其纳入组织内部的一种开源方法,也称为内部开源。它可以交付一些高质量的组件或软件,并且所有的代码和交流在组织范围内。换句话说,内源是私有的。
内部开源有什么好处?
对于个人来说可以开拓眼界,可以了解到更多工作内容之外的事物。此外,参与开源的设计与开发还能接触到很多优秀的开发者,学习对方的设计思维。总体来说,内源的好处可以分为以下几点:
避免重复开发:将代码写完后重用,不花时间重复造“轮子”;
防止局限性:可避免只有特定小组才能使用及测试的困境;
集中力量:所有人都可加入其中,集中力量参与产品建设;
质量增进:参与开源的的代码质量往往都会比较高;
正向循环 :大家在使用的过程中,看到那些地方不好就可以提出改进;
过程学习 :在这个过程中可以学习到很多优秀的代码与处理方式 。
如何开始参与内部开源?
在了解什么是内源以及内源的好处之后,我们就可以真正参与到内部开源事业中了。在参与内源时,首先需要了解有哪些产品项目是已经在内部开源的,随后选择自己感兴趣的部分着手即可。
内部开源遇到困难怎么办?
- 合理分配个人时间:
在做开源项目时,大多数人是利用个人业余时间来进行,时间可能都到晚上十一二点了。通过与其他开发者一起作战,最终解决问题后的成就感足以弥补这一切。所以,作为开源项目的参与者需要合理分配时间,平衡开源建设与个人生活,才好充分享受开源乐趣。
- 解决团队作战心理负担:
你是不是开始参与开源项目时信心满满,但在项目过程中由于遇到某些困难节点,可能担心自己会给大家添麻烦?其实身处开源项目,有困难是必然的,当有无法解决的难题或难以完成的任务时,可以运用团队的力量来解决,所以不必给自己增加心理负担。
- 精准定位并解决问题:
从多种角度分析问题原因,精准定位问题并解决它,就可以降低时间及人力成本。以云智慧自主设计研发的低代码应用开发平台-FlyFish 为例。FlyFish 虚拟化滚动列表组件在很多场景及大屏上均有使用,但在产品初期数据量特别大的时候,滚动会出现卡顿现象。首先分析卡顿的原因,或是由于 DOM 量太多,在得出卡顿原因之后,开始实施方案,最终快速解决问题。
内部开源对个人的价值与意义
从一开始的懵懂无知,到刚参与时的无从下手,再到遇到问题时说干就干,感受解决问题后的喜悦与满足,最后到完成上线时的神清气爽,内部开源整体带给每个人的价值与意义是无限的。我想大致可以概括为以下几点:
展示个人实力的机会
参与开源社区是自我价值的超越
开源社区是程序员最好的简历
整体而言,内部开源对大家来讲都是一件挑战与收获并存的事情。如果你看完也想来开源练练手,那么来上面提到的低代码数据可视化编排平台-FlyFish 就可以,这个平台在云智慧内部已开源三年,在今年 10 月底还完成了对外开源,欢迎大家戳下方链接一起来参与!
github:https://github.com/CloudWise-OpenSource/FlyFish
gitee:https://gitee.com/CloudWise/fly-fish
评论