如何参与开源项目

大家好,受卡哥邀请,和大家分享一下开源活动的相关经验。首先简要自我介绍一下,我目前在一所985研二在读,主要学习大数据方向,从去年开始参与开源活动近一年时间,也对多个Apache框架有所贡献。

由于学校或专业的要求,在校生都有可能面临无法线下实习的问题。而参与开源活动可以不受时间和地点的限制,同时给自己的简历不错的提升,深度参与知名开源社区的建设,给个人简历的提高并不低于大厂实习。

在近来的暑期实习中,我成功拿到了腾讯、字节等多家大厂的offer。以我个人面试的经验看,所有的面试都被问到开源经历(包括HR面),大约一半的面试会涉及个人的实习经历和项目经历。在校招面试中八股和算法是必不可少的,但常见的八股文和top100算法题掌握的同学不在少数,如何在行情比较差的当下脱颖而出,主要在于和面试官是否有深度的项目经历进行聊天,相比于烂大街的项目,尤其是自己写的项目容易被面试官看成玩具,开源项目还是加分不少的,而通过对Apache框架的贡献更能体现个人的工程能力,作为你的代码能力证明,面试官可以根据你贡献PR直接看到你的能力水平,更多纬度地评价你的个人能力。另外如果深度参与了某个Apache框架社区,你一定会了解该社区解决了哪些业务痛点,未来要做哪些新的功能特性,较高的深度会引起面试官的兴趣多进行倾听,同时工作多年的面试官肯定对你遇到的业务痛点深有同感,觉得你所做的是有价值的,在接下来的面试中就不会再难为你。

介绍了很多参与开源的好处,也推荐一些参与开源的好方式。如果你是第一次参与开源,建议找到感兴趣的Apache社区中的Good First Issue来入手,其中都是一些难度较低的入门类工作,专为新手参与社区而准备。但很多社区并没有对应的Good First Issue,这时建议可以参与国内的一些开源活动,例如GSOC和OSPP等,刚好现在4月份OSPP即将开放申请,贴一下具体的链接供大家参考:开源软件供应链点亮计划-开源之夏2023​ 可以按照自己擅长的语言和方向进行具体社区的选取,然后申请投递即可。

开源贡献具体会经历以下几个步骤:

1.发现问题或自荐 feature ,也可以在issue模块中找到别人提出的问题进行解决。

2.从官方仓库fork 源码到本地仓库。

3.本地进行代码的开发和自测,开发过程中可以多参考社区类似的代码,往往都会有代码风格的要求。

4.发起 pull request 请求合入代码。

5.等待社区大佬进行code review 。

6.根据reviewer的建议调整代码。

7.审核通过,合并进 master 分支,完成贡献。

最后为我们社区Apache Seatunnel打Call一下,主要做分布式数据同步相关,具体内容可以参考:Apache SeaTunnel | Apache SeaTunnel​ 如果刚接触开源并且对该方向有兴趣,也欢迎私信我帮你推荐合适的新手任务,尽可能确保第一次代码可以成功合入,成为Apache的贡献者之一。如果有什么问题也欢迎大家留言提问。

相关推荐
残 风3 小时前
pg兼容mysql框架之语法解析层(openHalo开源项目解析)
数据库·mysql·开源
一棵开花的树,枝芽无限靠近你3 小时前
【face-api.js】1️⃣基于Tensorflow.js的人脸识别项目开源项目
javascript·开源·tensorflow·face-api.js
百***07454 小时前
MiMo-V2-Flash深度拆解:国产开源大模型的技术突破与落地实践
开源
百***78758 小时前
小米MiMo-V2-Flash深度解析:国产开源大模型标杆与海外AI接入方案
人工智能·开源
lakernote9 小时前
EasyPostman:开源免费的 Postman 替代方案,完美支持国产化操作系统
开源·lua·postman
skywalk81639 小时前
Synapse - 基于结构化冲突的智能思想碰撞小程序
开源·agent
美洽技术10 小时前
开源vs商业客服系统:5大隐性成本对比
开源
子榆.13 小时前
Flutter 与开源鸿蒙(OpenHarmony)分布式能力实战:基于软总线实现跨设备协同
flutter·开源·harmonyos
2501_9061505614 小时前
开源问卷系统DWSurvey部署过程
开源