6月26日下午3点,OSPP2023 中选结果正式发布,全球共有 1486 人成功申请,最终中选人数为 504 人

鄙人非常荣幸地成为了这 504 个幸运儿的一份子,特撰此文,记录 我与 OSPP 的故事 —— 从听闻到中选

当然,我也希望这篇博客能够吸引更多人参与开源,为开源项目做出自己的贡献

给「杭电助手」打点小广告

IMG_0166

本次开源之夏活动,杭州电子科技大学共中选 13 人,其中 8 人来自杭电助手

杭助本次共参与 11 人,中选率高达 8/11

(另外今年另有 1 人中选 GSoC,1 人 LFX Mentorship )

img

欢迎热爱技术的同学们填报杭州电子科技大学,欢迎同学们选择杭电助手技术部! 查看推文


写在前面

这里是对不了解开源活动的同学进行一点飞速的补充,简短地谈一下我的理解

其实已经有很多文章讲的很好了,这里我推荐一篇杭助成员「爱飞的鸟」的 Before Good First Issue

开源活动是什么

开源活动通常是由开源社区、组织或公司组织的活动,目的在于吸引更多的人(特别是学生)参与开源,帮助构建开源项目,增加开源社区热度,推广开源文化与价值观,为开源事业作出贡献

比较有名的比如 LFX Mentorship、谷歌的 GSoC、国内的 OSPP、GLCC 等

一般的形式是这样的:由活动主办方提供平台与资金,吸引各路开源社区/组织入驻,社区挑选目前要做的一些活作为若干子项目(写清楚具体要做什么事情,最终达成什么目的),并且分配至少一个导师专门负责这个项目(大多数是一个)

学生呢需要给导师写 Proposal(申请书),阐述自己对这个项目的想法(如何实现),并努力让导师相信自己能够很好地完成这个项目

最终每个项目的导师会在所有申请的学生中挑选一个来做这个项目,并进行一对一的指导,帮助学生最终完成任务

这时候你就会发现,这里是存在竞争的,并且是零和博弈,赢者通吃,不过你也可以同时尝试多个项目,这样最终中选的可能就大一些

为什么要参加开源活动

TL;DR,主要有下面几个吸引你的理由

  1. image-20230630下午104907011

    OSPP 文档中关于奖金的说明

    哈哈哈谁会和钱过不去呢?吸引别人参与活动最直接的方法就是物质奖励

    一般来说是 6000 起步(GLCC),OSPP 是 8000 和 12000 两档,而 GSoC 则是 3000 刀起步(国内学生,不同地区奖金不同)

    开源之夏也被叫做 mac 之夏,因为很多人都会去拿钱买 mac

    当然,钱可能是最开始吸引你地方,但是你日后会发现下面的理由是更加吸引你的地方

    甚至会觉得让你觉得倒贴钱你也愿意

  2. 接触顶级项目

    image-20230630下午104203209

    杭助今年中了 GSoC 的 daidr,参加的是 chromium,他被邀请旁听内部会议

    参加开源活动的不乏一些顶级的开源项目,比如说 git,又比如说 chromium,你将有机会给它们贡献自己的代码

    以后,你就可以自豪地和别人说

    • 不会用 git?我可以教你,我也是开发者之一哦
    • 你知道吗,你用的浏览器里面有我的代码哦

    是不是非常的让人刮目相看?

  3. 结交朋友,积累人脉

    image-20230630下午104639571

    我的导师说他看了我的博客,居然主动问我最近是不是对找实习有些焦虑(

    然后给我的简历提意见,跟我聊了很多求职就业的内容

    在社区中参与项目能让你积累很多大牛的人脉,并且参与社区内部事务

    而且甚至导师们可能会主动和你交朋友

    我前天也和 MOSN 里的大佬一起连麦开会,主要内容开完后和我一起聊天,有机会和阿里、蚂蚁、京东的大牛一起聊天,这真的是非常宝贵的经历

  4. 提升个人能力

    正如前文所说,开源活动的目的是吸引更多的人来参与开源

    所以这个活动并不是一个「我给你钱,你给我干活」的雇佣关系,而是「欢迎你来,我培养你」的关系

    导师会为你的开发提供指导,你可以围绕项目向导师与社区提出自己的问题

    在开发过程中,你可以学到很多知识,丰富个人经验,提升个人能力

    (当然,也不是所有的导师和社区都有这么好,这也是我后文会讲的内容)

  5. 丰富简历

    能参与到开源活动中肯定是能写进简历的,以后肯定也能作为与他人的谈资

关于开源之夏(OSPP)

image-20230701下午102543373

今年是 OSPP 的第四个年头,不知道明年会有多少人

OSPP (Open Source Promotion Plan) 应该是中科院对标谷歌的 GSoC 举办的活动,在国内算是含金量最高的了

贴几段比较正式的介绍:

  • “开源之夏(英文简称 OSPP)”是中科院软件所“开源软件供应链点亮计划”指导下的系列暑期活动,由软件所与 openEuler 社区共同主办、中科南京软件技术研究院承办,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设
  • 活动联合各大开源社区,针对重要开源软件的开发与维护提供项目,并向全球高校学生开放报名。学生可自主选择感兴趣的项目进行申请,中选后在项目资深开发者(社区导师)的指导下进行开发。根据项目的难易程度和完成情况,结项者将获取开源之夏活动奖金和结项证书
  • 开源之夏活动已迈入第四个年头。在过去的三年中,开源之夏与众多蓬勃发展的开源社区携手并进,不断推动开源技术在高校学生中的普及和推广,使得越来越多的学生参与到开源项目中来,更多优秀的开源贡献者和开源项目应运而生,为推动开源生态发展提供了有力的支持

整体活动流程同 GSoC,社区报名-官方发布社区入选名单-社区发布项目-学生开始申请-社区发布学生名单-学生开始贡献,每个人可以提交三份申请,只能中选一个项目

难度上感觉比 GSoC 简单不少,GSoC 阿三的确是真的多

image-20230701下午103928213

iyear 对于 OSPP 难度的评价,我感觉挺中肯的


个人经历

开始的开始

在我的印象中,应该是「iyear」和「鸟」最开始在社团里说 OSPP 和 GSoC 这些事情

于是去年我就开始慢慢关注了,但当时 2022 年的都已经快结束了,所以我开始搜集信息,为明年准备

我要找哪些东西呢?

  • 第一个,我要看看过去都是些什么项目
  • 第二个,我要去看 timeline ,熟悉里面几个比较重要的时间节点
  • 最重要的是,我要知道竞争的激烈程度,中选率大概是个什么情况

首先我去了 GSoC 的官网,然后开始翻,然后发现怎么这么多出名的项目哇,什么 VLC,什么 Electron,还有 Chromium,还有 git 、GUN,我怎么配的上这些项目哇(

然后我去翻了翻申请人和中选人数,大概有四分之一的概率中选

感觉还行吧,说不定可以试试,虽然我知道从 22 年开始,GSoC 的申请不再局限学生,人肯定一年比一年多

现在又翻了翻今年的,真的吓人,我只能说今年能中 GSoC 的都是神仙

而且今年的申请人数是什么鬼哇(

然后我去看了 timeline ,关注了几个时间点

GSoC 2023

2 月 22 日

社区、项目名单公布

3 月 20 日

开始接受申请

4 月 4 日

截止申请

看完了 GSoC,我接着去看 OSPP 的项目

虽然项目感觉也都很高大上,但是竞争压力看上去更小

image-20230702下午110331878

OSPP2022,只能说从申请与中选的比率来看,其实还行

然后是 2023 的 timeline

OSPP 2023

4 月 4 日

社区开始上线项目

4 月 29 日

开始接受申请

6 月 4 日

截止申请

最后,我去翻了翻 iyear 2022 年的项目,真的强哇,我大一在干什么,别人大一在干什么

大一参加 OSPP 进阶,我只能说人与人的差距真的比人与狗的差距还大(

我只能说接下来走一步看一步吧

没下手的 GSoC

转眼间到了 GSoC 项目公布的日子,iyear 在群里也提了一嘴

image-20230703上午121444324

群友消息太多了,我就截了几个 iyear 的

然后我就去看有什么项目

看的第一感觉就是:我不配啊!

我去我怎么参加的了这些项目,我真的配不上

更关键的是,Golang 是真的不多

我在 Golang 的项目里兜兜转转,看见了一个 Keploy ,是做 API 测试工具的

image-20230702下午112950192

看了看项目,只感觉这个重构命令行工具的我可能会做

当然,我肯定知道这东西肯定一堆人来抢,我只能说先看看,先研究一下

image-20230702下午113446200

哈哈,你可以看看现在有几个 star,人真的多

image-20230703上午121003545

然后,很快啊,这东西已经寄了

我只能说阿三真的 nb,GSoC 怎么这么多阿三

之后我就真的找不到我有能力参加的项目了~~,游戏也不能一上来就是最终 BOSS 吧,我想(~~

最终的结果是可以预见的,GSoC 2023 我还是没下得去手

克服恐惧

后面很长一段时间,我都是不相信自己的

我真的不见得能有能力参加这种活动,真的这样

即使后面 iyear 专门讲了一节例会,举了好几个例子,我心里也没什么信心

image-20230703上午121828262

例会上的 md,iyear 讲了一个多小时,后面的内容有点隐私就不放出来了

直到那句话,让我振聋发聩

image-20230702下午115636218

要有阿三的自信😎

对哇,为什么印度阿三都能在 GSoC 上主动出击,我一个中国人怎么能一点信心都没有

印度老哥技术上应该也会太强,但是他们自信哇,你至少要相信自己能做到,这样才有希望

然后 OSPP 毕竟我们有主场优势,基本都是国人,我下定决心,不管中没中,至少至少,我要投个项目吧

OSPP 开始

很快 OSPP 就要开始了,已经到了社区开始上线的日子

但是我记得前几天是没什么动静的,后面开始慢慢放出社区,是一点一点放的

所以我每天起来第一件事就是去 https://summer-ospp.ac.cn/org/orglist 上看今天又多了什么社区,有什么项目

当然了,我很早也把去年的项目都看了一遍

讲真每天都去看看是很有效的,就像高中的时候背文言文一样,看上去很长很恐怖,但是同学告诉我,只要每节课一下课就飞快地读一遍,很快就熟了

的确如此,过去我看着这些项目都很不自信

但是现在,我能很平静地说:

“也没什么,这里的每个项目我都看过”

感谢 yeebing !

看了很久的项目,但是感觉还是没找到比较适合我的

其他领域就不说了,我目前比较能拿得出手感觉只有 Golang 后端

而逛了一圈,感觉对前端真的很友好,在看去年项目的时候居然有不少官网设计和文档优化的

相比之下,Golang 的低难度项目很稀缺, 我看着基本都是云原生的,毕竟 Golang 目前最大的用途基本也就是写云原生的基础设施

但是云原生我是真的不会哇,kubernetes 我都不是很熟,那些项目我也看不太懂

只能说再看看会有什么项目了

然后突然有一天,yeebing 突然找到我

image-20230704下午41722930

还得是杭助的人脉哈哈哈

看了一眼,后端我的确没问题,但是有个问题就是我不会前端哇

但是转念一想,来 OSPP 就是要学新东西的,而且杭助这么多前端的佬,我速成一波前端应该也不是不可以

毕竟我目前也找不到比这个更好的项目了,于是我开始冲这个项目

开始迭代

yeebing 帮我占了个沙发,我翻了翻文档,大概知道是个什么东西之后,我就开始冲了

image-20230704下午43727576

前期是很关键的,只要你能在 issue 里跟导师来回说一堆话,那别人也就能知道这个项目已经有人了,至少能让一部分人知难而退

之后就开始迭代了,我们在 issue 下交流,之后是深入的思考,感觉差不多了就开始搓 Proposal 发邮件

导师给我纠正了一些方向上的问题,于是我调研后重新思考设计

没想到出到第二版跟我说可以去提交了(

image-20230704下午44538074

然后突然有一天晚上,导师突然来加我好友

d1a99451107484673017aae5d322e672_0

才想起来我之前翻文档的时候顺手加了个用户群(感觉有点猝不及防

然后我们后面就开始聊,根据我的简历给我提了好多建议

image-20230704下午50425978

对比其他群友,我感觉我这真的是个神仙导师(

OSPP 线下会

图片

线下会杭州站,可以看 cv23843608 ,三咲智子居然也去了

OSPP 当时也在全国各地开线下会,在杭州也有

我的确报名了,也进了群,杭助也有不少人去了

但可惜的是我那天阳了在隔离,想着阳了就别出去祸害别人了,而且精力也不是很好,就没去

image-20230704下午52338719

再贴点找到的当时的照片吧哈哈哈

大受震撼

日子一天天地过去,我还在为好像还没有人和我抢项目而沾沾自喜

突然有一天收到了 GitHub 的邮件,一开始我以为是哪个社团项目谁 PR 了,结果一看居然有人来抢我的 OSPP 项目了 ?!

image-20230704下午55052373

卧槽我直接大受震撼

然后我一看,卧槽,酒吧舞✌️,ACM✌️,然后一看博客,大一华为实习

卧槽这是什么神仙

真的是人与人的差距比人与狗的差距都大(

然后 iyear 就来安慰我,还得是 iyear 够自信

image-20230704下午62305997

其实还不算太慌,毕竟都最后几天了,导师应该也不会再换人了

预知结果

提交截止了,后面的就是等结果

之后突然有一天

image-20230704下午63127228

于是我就去看

6b3cc9b5bf5949f6cba2901034ba9cda

还是羡慕 daidr 的 GSoC 哈哈哈

我感觉基本算是稳了,反正期末考了也干不了什么了,那就等通知吧

正式通知 & 杭助喜报

6 月 26 日,结果下来了,我也收到了邮件

86e87455433bb7b1b9f5e14e3f38f591_0

终于等到你!

然后在杭助里统计了一下,感觉真的挺开心的,杭助的技术氛围真的不错

image-20230704下午93502834

也希望能吸引更多人加入杭电助手技术部的大家庭

继续开发

image-20230704下午95240872

中选之后,导师拉着我参加了内部的会议,对一部分内容提出了修改意见

毕竟我对这个插件市场的定位没有 MOSN 的 maintainers 那么深入,而且我感觉真的挺合理的,想的问题都考虑的非常周到

主要内容讨论完之后,说开的这么好居然没有录下来(

然后又聊到我多大了,我说我 03 年的,就感觉挺年轻吧,一旁有人说现在连研究生都是 00 后了,哈哈哈

我就感觉,哇,我感觉我就是开源的新鲜血液,我的确能「为其他人做一些,有意义的事情」


经验总结

一直拖拖拖,感觉写的有点虎头蛇尾了,下面就分享几点中选的经验吧

滚雪球 现在就开始

别一开始就说做不到,没有人是一口吃成胖子的,都是一个成长的过程

其实很多事情都是「你之前做了一个什么事」,一步步进步的,就像滚一个雪球的过程

比如说我

  • 如果不是初中对计算机感兴趣,开始折腾计算机,高中也不会去 Noip,也不会去玩树莓派
  • 如果高中没有一定的积累,大一也没那么容易进杭电助手,也不会在杭助融入的那么快
  • 如果没进杭电助手, 也就没有后面的事情了,我也没法在字节青训营取得那样的成绩,更不会听说 OSPP 这种东西

所以说不管那么多,先让自己滚起来再说,等于说是有一个正向的循环,能让你不断的进步

而且是越早越好,别明天,现在就开始,像 iyear,初中就在打 oi,比我早了一个阶段,所以大一就参加了 OSPP,今年更是去了 LFX Mentorship

要有阿三的自信

image-20230704下午104441787

另外一个就是要记住 iyear 的话:「要有阿三的自信」

讲的就是一个自信好吧,你不自信,你就已经输了

双向选择

讲真现在有些开源社区也挺离谱的,下面的开源乱象也会说

简单的说就是要记住双向选择,就像面试企业一样,不仅是社区选择你,也是你选择社区

不能白白被别人 PUA,不能被白白养鱼

主动出击 快速占领 前期很重要

如果你已经确定看中了一个项目,那就尽快出击,去交流讨论,同时最好让别人也看见

一般来说,前期是最重要的,如果别人已经先你一步和导师聊了很多,那你中选的几率也不会太高

也就是说别想着自己一直闭门造车,然后在提交截止那天交上去就完了,如果导师有另一个跟他讨论很久的学生,你觉得他会选哪个

让别人能了解自己

要维护自己的个人形象,像 GitHub 头像都没换的,主页一点进去啥都没有的,怎么让别人相信你有能力参与开发

要给导师一些渠道来了解自己,比如能让导师知道你之前有什么什么项目经历,能力强的话之前在哪些开源社区混过

又或者是和我一样有个博客可以让别人看,这也是让导师了解你的很好的方法

总之一句话,你已经看上了别人,那也要让别人看的上你,为此你就需要做一些事情让自己显得专业

就像我这次还特地折腾了个自定义域名的邮箱,以后面试工作也是一样的,别人用个谷歌邮箱去面试,你简历上写个 QQ 邮箱,你觉得呢?

即使你说 gmail 没 QQ 方便,还要翻墙,其实你可以设置自动转发,我就是这么弄的

统一命名空间 别撞车

和社团的其他伙伴一起的时候要注意别撞车了,不然就会是很尴尬的局面🥲

image-20230705上午122240143

像这次就碰见了不少撞车的情况

image-20230705上午123051615

不利形势 及时放弃

如果发现自己希望不大(比如导师好像根本不想理你、委婉拒绝,或者已经有谈的很好的人了),就应该及时放弃,转移阵地

如果你精力够的话还可以尝试多开,叶师傅这次就是这么干的

一点点运气

导师真的得看运气我感觉

讲真我这真的是神仙导师,每次发信息基本都是秒回,我真的太感动了(

image-20230705上午122453142

其他因素

还要很多其他因素,下面的图你就可以看得出来

image-20230705下午93257160

一个是被骑士,另一个是社区排名不够,骑士就不说了,下面说一下社区排名

GSoC 和 OSPP 不同,GSoC 还有一个社区的排名

也就是导师选中你之后,还没有完全结束

一般来说 GSoC 会给每个社区分配项目名额,当你和导师结对之后,要一起参与社区内的排名,只有在名额内的才能算真正的中选

举个例子,你在 GSoC 上看中了一个社区,里面有 10 个项目,你申请了一个,并且导师也选你了

但是 GSoC 给你的社区只有 5 个名额,之后 10 个项目一起参与排名,但是你的项目不幸排在了第 6 名,于是很可惜还是寄了

社区排名会看项目对社区短期内效益大不大,还有你和社区的关系,关系好的直接安排了

还有看导师好不好,导师可能会跟你明说排名估计难,让你换项目,不会浪费你太多时间

这方面还是有些主观能动性的

今年的 OSPP 也出现了类似的情况

8e7fea2cafb89ce17eba2af1296378e5

具体来说就是之前都是社区报几个主办方都出资支持,但是这一届会给社区名额,超出名额的项目资金必须社区自己解决

然后就出现了一些尴尬的情况,iyear 今年就是这么寄的

9d385ce046b1665e3fb931dd5bd35801

导师直接改名有点草(

就是社区一开始不清楚这个规则,报了很多项目,然后后来突然发现只给了两个名额,其他的要自己花钱

于是很多项目就被砍了,你可以看见这个社区只有两个学生最终中选


未来展望

明天早八,好困,明天写

简单写一下吧

开源乱象

有人一直认为国内的开源是个笑话,我感觉也不是完全没有道理

这届 OSPP 出现了一些抽象事件,我在官方群里也感受到了

具体可以看「鸟」写的博客,请还国内开源活动一片净土 (注意看评论区,有事情不好明话说

鉴于目前国内学术圈的某些操作,我感觉未来出现「开源刘禅」也不是不可能

另外可以看看另一位杭助成员的博客:开源之旅——OSPP

要把人留下来

还记得我开头说的,开源活动的目的是吸引更多的人(特别是学生)参与开源

但是现在就感觉,很多人都把利益看的太重了

结果就是,我来了,我完成了项目,我走了,人没留下来

讲真这最后还是没把社区做起来,我只能说,我这次做的这个项目,我以后肯定会一直维护迭代的