如何参与开源项目

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

相关推荐
樊小肆2 小时前
Vue3 在线 PDF 编辑 2.0 缩放拖拽、渲染优化功能解析
前端·vue.js·开源
星哥说事18 小时前
使用开源免费雷池WAF防火墙,接入保护你的网站
web安全·开源
机器视觉知识推荐、就业指导18 小时前
开源QML控件:进度条滑动控件(含源码下载链接)
前端·qt·开源·qml
DolphinScheduler社区18 小时前
白鲸开源WhaleStudio与崖山数据库管理系统YashanDB完成产品兼容互认证
数据库·开源·认证·崖山数据库·白鲸开源
心随_风动20 小时前
RHEL与CentOS:从同源到分流的开源操作系统演进
linux·开源·centos
DolphinScheduler社区20 小时前
白鲸开源与亚马逊云科技携手推动AI-Ready数据架构创新
人工智能·科技·开源·aws·白鲸开源·whalestudio
自由鬼1 天前
开源AI开发工具:OpenAI Codex CLI
人工智能·ai·开源·软件构建·开源软件·个人开发
韩仔搭建1 天前
美乐迪电玩大厅加载机制与 RoomList 配置结构分析
游戏·小程序·开源·lua
灏瀚星空1 天前
用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践
经验分享·笔记·开源
爱的叹息1 天前
开源作业调度框架Quartz框架详细使用说明
开源