show your passion, in whatever proper ways!真正有热情的导师、学生的光是会溢出来的,这不仅仅会帮助到 peer 的一位导师、学生,而是会在整个过程中帮助、点燃很多其他的人,我鼓励通过各种形式的准备工作表现出自己的热情。
---- Wey Gu 古思为
开源之夏每年会上线数百个个项目,怎样挑选一个精彩的项目,避开其中潜在的风险。在选定一个好的项目后又如何与导师有效沟通,如何写好一份精彩的项目申请书申请到项目,在众多申请者中怎样才能够脱颖而出。这篇文章会给你答案。
开源之夏有数百个项目上线,选择一个项目可以先考虑一下几个方面
- 托管在知名基金会下的项目,如 Apache、CNCF 下托管的项目,这样的项目社区会更成熟。
- 自己喜欢的领域中常用的项目,例如研究机器学习的同学会用到的飞桨(PaddlePaddle),或者是 Rust 社区非常活跃的 databend
- 之前使用过的项目或者提交过 PR 的社区,例如笔者曾参与过 TDengine 的相关讲座。
如果想要更详细的了解一个项目, ossinsight 是一个可以查询 GitHub 项目的网站。同学们也可以在上面查询一个项目的 star 历史、star者的分布、代码的增删、issue/PR 的相应速度等等指标来判断社区的活跃程度。通常越活跃的社区,就能在这些社区得到更多的帮助。
同时,这些特征的项目或社区可能存在一些潜在风险,请注意:
- 完全或几乎没有英文文档支持,关于代码架构的文 档非常少。
- 导师很少回复邮件,社区也不提供类似微信群这样的交流渠道(很多社区会在微信公众号放出相关群聊,请关注)。
- GitHub 仓库中积累了大量没有回复的 issue 。
还有一个笔者自己的经验是(可能比较片面),如果对自己不是很有信心的同学,可以尝试一下稍微冷门一些语言的项目。例如 Go、Java 这样的流行语言是年轻人的最爱,2022年曾经有10+学生卷一个Go 的项目。C++/Rust 的项目有许多的真正有极客精神的大佬,而且多以基础架构开发为多,非科班的选手请谨慎选择。类似于 JavaScript 或者是 C# 这样的语言,已经不算潮流但仍然应用广泛的语言会很不错。
特别特别,与导师的有效交流沟通是决定了能否申请到项目最重要的事情之一。切忌切忌闭门造车。
不会提问的同学可以先阅读一下《提问的智慧》, 有效的沟通非常重要。
还要说明的是,大部分导师的本职仍然是还在写代码的程序员。大部分导师都是有热情而且善良的人,通常的技术上沟通提问都会被耐心的回答。除了下面列举的不礼貌的沟通行为,总体来说没有禁止即可为。
这些行为是不太礼貌的,严重的甚至可能会被社区拉黑,请在沟通时避免这些行为。
- 对项目没有任何了解的邮件或私信(特别是群发的类型)
没有对项目的调研就发邮件是很冒昧的行为,缺乏最基本的诚意。群发则是在这个不礼貌上更上一层楼。严重时甚至可能会被误解,例如:
- 百度或chatGPT 可以解决的通用问题
在进行任何沟通前,请确保你的问题是有价值的。请不要提问太过于通用的问题,不要指望导师会解答类似“如何配置环境变量”这样的问题。
- 项目是否已经被“内定”了人选
确实有些社区会提前确定一些之前就有的积极参与者,不过这并非就意味着你没有了努力的机会。负责任的导师也不会在最终日期之前确定人选。
(不过,每个社区都会有负责社区运营的相关人员,一般不是程序员,是专门负责社区活动的。他们可能会很乐意帮忙打听一下项目申请情况,例如申请的人数,这是被允许的)
先放一张图:
❗在写项目申请书时,请首先确保你已经阅读了官方指南和申请书模板。
往年的项目申请书可以在下面查到:
年份 | 地址 |
---|---|
2022年项目申请书 | https://summer-ospp.ac.cn/2022/#/org/projectlist |
上面已经反复提到过了,请多多与导师沟通你的项目申请书。
大部分同学习惯了做一个死线战士,临近截止日期前再提交项目申请书,其实这是非常不好的(笔者参加的2022开源之夏,60%+的项目申请书是在最后3天里提交的)。如果能提前发给导师并交流修改一下,你的项目申请书将会有很大的提升。
这段 QA 整理自视频 【【开源之夏】还在发愁项目申请书怎么写?开源之夏的老 mentor 来回答你的8大难题】 https://www.bilibili.com/video/BV1sP411X7uw/?share_source=copy_web&vd_source=246db5c7c24737106a37188f3c977b57
- 导师不回复的我的邮件怎么办?
类似的导师可能是不熟悉开源相关的工作方式,请适当降低对这个项目的权重,务必多多考虑一下。
- 个人简历和项目申请书谁更重要?
项目申请书是特化到某一个具体的项目的,也更能够体现对这个项目的了解和诚意,也说明了在这个项目上花费的时间。相对来说简历更加通用,只是一个参考。
- 项目申请书要写多少页,有的人卷了十几页呢
就像是看电影一样,并不是时长越长的电影就越好看。有些电影像是泰坦尼克号那么长是因为它真的需要那么久去讲好一个故事。《喜剧之王》只有90分钟,《小时代》有120分钟。最好还是要言之有物,否则申请书只会看起来超折磨。