和导师沟通是一个非常重要的环节,在沟通过程中,学生能够有以下收获:
- 答疑解惑,对开源项目有一个全面的认识;
- 细化方案,学生可以将自己的解决方案与导师沟通,从中不断吸取经验,提升可行性;
- 展现良好的沟通能力,也将有助于提升学生的中选概率;
项目申请书总体上由两部分组成,即详细的技术方案和细致的时间规划,除此之外,学生还可以在项目申请书中描述选择该项目的理由、过去与项目技术相关的开发经历、课程等,并表达参与该项目并为社区提交贡献的意愿。
- 原则上,技术方案越详细越有利于社区理解和认可;
- 在技术方案中,学生应该展示出自己对目标开源项目的理解程度,可以从以下几点入手:
- 根据自己的理解拆解目标开源项目,并能明确描述各个模块的功能;
- 基于项目拆解,对项目描述中提出的需求进行分析;
- 明确描述自己的方案将对哪些模块中的哪些文件进行修改;
- 或者,自己的方案将会添加哪些模块,以及这些模块如何与现有模块通信;
- 最好能为自己的方案找到依据,以引用的形式在项目申请书中列出,包括但不限于:
- 其他项目的成功经验;
- 论文等提供的理论依据;
- 建议时间规划的粒度不大于1周;
- 为提高规划的可读性,可以先将时间划分为几个大的阶段(如,4周为一个阶段),并总结每个阶段的核心任务;
- 在每个阶段内,以周为单位,描述自己一周内计划完成的任务;
- 简历是为了让社区能够对每一位申请学生的技术能力有更清晰的认识;
- Github/Gitee/Gitlab 等开源代码平台的用户 ID;
- 学生切忌在简历中罗列不相关的信息,每一信息应该尽可能和自己所申请的项目相关,包括但不限于:
- 已经为该开源社区提交过贡献;
- 为类似的开源软件及其社区提交过贡献;
- 虽然未参与相关社区贡献,但是有开源贡献的经验;
- 虽然未参与过开源,但是有类似功能软件的开发经验;
- 若以上经验全无,因着重体现自己对社区使用技术栈的掌握程度,以及展现自己的学习能力;