跳转至

ASoC 新人参与指南

背景

本文忠实地记录了我参与的整个过程。希望能给大家带来启发。可以通过下面的方法联系到我。

GitHub: situ2001

临近大二期末,想在暑假以实现 feature 的形式参与至开源社区,但当时 GSoC 报名都结束了,便把目光转向国内的 ASoC。

本次参与的社区是 OpenSumi。(web 前端垂直领域项目)

编程之夏简介

这里。顺带一提,2019 年、2020 年都举办过,2021 年不知什么原因停办了一年,2022 年又有了。

如何申请

官网标准的流程大致是这样:

  1. 从各种渠道(比如阿里开源等公众号)了解到要举办 ASoC。
  2. 留意官网的时间线。一般会有一个月的时间让大伙挑选适合自己的技术栈和方向的项目。
  3. 开始调研和书写 proposal。然后提交自己的简历和 proposal,等待筛选结果。可以交两份不同题目的 proposal,如果你的 proposal 都被选中,你只能选择一个项目参与。

不过,标准是死的,人是活的,我们调研和书写 proposal 的同时,也可以做点其他事情。

首先是用户,然后是贡献者。

开源项目都摆在你面前了,你可以让它你的电脑上跑起来。然后使用上一段时间。我记得当时在 Windows 上费了九牛二虎之力才跑起来(项目的人都在用 macOS)。以及,在使用体验期间碰上了不少 bug,为此没少开 issues 和 PR。

跟社区的人混个脸熟。

这个其实没太大的难度,我们也不需要刻意混脸熟。因为平时在社区贡献 bugfix,回 issues,在讨论组里参与讨论,活跃起来,自然就会被核心团队注意到,这已经算是混脸熟了。

主动与导师联系。

调研和书写 proposal 的时间是一个月,在这个月内,可以不定时地将当前的想法汇总起来,加上自己的思考,写邮件跟导师交流一下,并根据交流的结果不断修改完善你的 proposal。你甚至还可以根据题目,做一个最小 demo 给导师看看。注意不要把邮件当成即时聊天工具使用。BTW,邮件一般附在 ASoC 题目对应的 issue 里。

参与过程

开发的时候,有问题可以多问问导师。但是,每个人的时间都是宝贵的,问题最好得是你思考过且查询过但没有成功解决的。

中期和后期都会有视频答辩,答辩的方式取决于社区。其实,只要用心了去参与,答辩的过程还是挺愉悦畅快的。

结项的时候,也给导师提供了一些必要的说明文档以及后续发展可能要做的工作,算是做到有始有终吧。

收获

这是我第一次参与至复杂前端项目,也是我第一次较为正经地密集地参与至开源社区。在这个过程中,我学到了很多。

  • 充分的准备与调研是很重要的
  • 如何在复杂的项目中遨游
  • 如何为大型项目开发功能模块
  • 要学会拆解问题
  • 学到了不少设计模式
  • 完备的项目不仅只有代码实现,还有测试、CI/CD、文档、社区、生态等等
  • 了解到大型项目的 workflow
  • 要有扎实的栈内基础以及计算机基础
  • 要有对未知领域的快速学习能力
  • 人与人之间的沟通也是非常重要的

今年由于疫情原因不能去线下参观,还是有点小遗憾,据说 19 年那一次结项后的线下活动很香。

官网虽然写着有实习内推机会,但至少要研究生起步(举办方的一位老哥/老姐说的)。双非本默默流下了眼泪。不过,换个角度来看,本次参与该社区的其他两个题目的同学都是 985 或 211 的研究生。说明参与开源社区能让你看见更大的世界,结识优秀的人。

不过,即使没有内推&线下参观这些机会,我觉得本次项目的经验对于个人成长还是很有用的。以至于后来可以像呼吸一样自然地为其他开源社区做贡献,代码能力也有了不少提高。

此外,还收到了一笔奖金,税前 1w,奖金会扣除 20% 的税,为偶然所得税。如果参加过其他比赛,应该也会有所了解。(1w 扣 20% 的税还不算啥,微信小程序赛 2w 奖金扣 20% 是真的难绷)

这是我的经历与收获,ASoC 对我来说,已经是半年前的事情了,有一些细节记得不是很清楚。

希望对你有所帮助。重点还是行动起来,光看不做只会败北。如果你想要拥有属于自己的那独一无二的成长经历,那就快快行动起来吧。


最后更新: January 6, 2023

评论