如何参与开源项目

大家好,受卡哥邀请,和大家分享一下开源活动的相关经验。首先简要自我介绍一下,我目前在一所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的贡献者之一。如果有什么问题也欢迎大家留言提问。

相关推荐
tumu_C41 分钟前
C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型
c++·开源
AI服务老曹1 小时前
不仅能够实现前后场的简单互动,而且能够实现人机结合,最终实现整个巡检流程的标准化的智慧园区开源了
大数据·人工智能·深度学习·物联网·开源
william8231 小时前
Information Server 中共享开源服务中 kafka 的__consumer_offsets目录过大清理
分布式·kafka·开源
MicrosoftReactor1 小时前
技术速递|.NET MAUI 欢迎 Syncfusion 开源贡献
开源·.net
_xaboy4 小时前
开源项目低代码表单设计器FcDesigner扩展自定义的容器组件.例如col
vue.js·低代码·开源·动态表单·formcreate·低代码表单·可视化表单设计器
_xaboy4 小时前
开源项目低代码表单设计器FcDesigner扩展自定义组件
vue.js·低代码·开源·动态表单·formcreate·可视化表单设计器
SafePloy安策14 小时前
ES信息防泄漏:策略与实践
大数据·elasticsearch·开源
学编程的小程15 小时前
【安全通信】告别信息泄露:搭建你的开源视频聊天系统briefing
安全·开源·音视频
问道飞鱼15 小时前
【微服务知识】开源RPC框架Dubbo入门介绍
微服务·rpc·开源·dubbo
customer0820 小时前
【开源免费】基于SpringBoot+Vue.JS课程答疑系统(JAVA毕业设计)
java·jvm·vue.js·spring boot·spring cloud·kafka·开源