Google Summer of Code 建议被接收的5个技巧
Google Summer of Code 建议被接收的5个技巧
本文翻译自:http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html
本文讲的主要是GCC项目,但是这些技巧也适用于其它的项目。
1. 黄金法则:尽早开始。你越早开始研究你的建议,你被接受的可能性就越大。
2. 注重质量:你应该关注较少的项目,如果你关注大量的项目,那么你提出的建议的质量肯定会下降。 以我来说,我清楚地知道我想要做什么,所以我只需要为唯一的建议而工作。 提出一个出众的建议非常重要。
3. 参与到项目中:
3.1 订阅邮件列表,并且提问和回答问题;
3.2 如果项目有每周的电话会议或者IRC频道,那么你最好也参与到其中(这里是GCC/Graphite的每周电话会议链接)。
3.3 阅读项目的介绍文档,熟悉项目的代码和代码规范
3.4 参与到该项目的社区中
3.5 添加简单的功能到该项目中,解决简单的bug,写一些早期的代码
3.6 发送一些补丁并得到反馈,如下两个原因说明这很重要:
3.6.1 如果你之前没有参与过该项目,那么早期的开发工作会帮助你更好的理解一个内部代码,从而帮助你确定每一阶段需要的时间。
3.6.2 通过早期的开发,你看起来在说:”嗨,我可以做,我的补丁就是证明“
3.6.3 你的代码必须符合该项目的代码规范,在你提交第一个补丁之前一定要确定你读过该项目所有的代码标准。Sebastian POP 已经开发了一个脚本,它可以帮助你检查你的代码(如果你是参与的GCC的项目的话)。
4. 讨论你的想法:
4.1 你的想法是否与项目相关?你如何计划完成这项工作?里程碑是什么?
4.2 寻求关于你的想法的反馈,这对于你的程序来说是十分重要的。该项目的开发人员会帮助你调整完成每个里程碑至少需要的时间,以及你是否能在Google Summer of Code期间完成该项目,有时候一些学生非常乐观 :)。
4.3 讨论一些技术细节,例如如何测试你的程序?如何使用项目的测试框架对你的程序进行测试?你是否需要编写自己的测试用例?
4.4 确定优先顺序,在GSoC后期什么应该被推迟,什么是可选的?确定你能完成你的目标。最好是编写一个小巧的,可靠的,容易理解的,文档化的代码,而不是有很多bug,难以理解的代码。质量十分重要。
讨论你的想法是编写建议之前非常重要的步骤。
5. 编写建议书:
5.1 明确地描述你的想法:
5.1.1 想法本身
5.1.2 该项目的益处?它为什么重要?
5.1.3 技术细节:技术细节表明你清楚地你想做的。
5.1.4 描述你可能遇到的问题以及你打算如何去解决?
5.2 包含具体的工作计划:什么时候做什么?
5.3 个人简历章节:
5.3.1 表明你已经参与过一个类似的项目对你的帮助很大。
5.3.2 而且,一个好的简历,很好的展示了你对该项目非常熟悉,而且你已经贡献过一些补丁,你已经准备好来高效地工作了。
6. GCC GSoc 建议示例
这里有一些关于GCC项目已经被接受的建议:
6.1 我的建议书(GSOC'10):PDF
我大概花了1个月来明确我的想法,并且编写建议书。我与Sebastian POP(来自AMD)Tobias Grosser (来自德国Passau大学)和 Albert Cohen (来自INRIA),讨论了很多细节。
6.2 Lee Feng的建议书(GSOC'09):PDF
6.3 Tobias Grosser的建议书(GSOC'08):Web Page(现在是404)
其它关于Nmap项目的示例:
6.4 Djalal Harouni的示例(GSOC'10):PDF(现在是404)
6.5 Djalal Harouni在GSOC'11提出的建议也被接受了,如果想获得他的建议书,请联系他。
6.6 David Fifield的建议书(GSOC'07):Web Page
7. 常用的链接
7.1 http://drupal.org/node/59037
7.2 http://shlang.com/writing/soc2005.html
7.3 http://weblogs.mozillazine.org/gerv/archives/2006/05/how_not_to_apply_for_summer_of.html
7.4 http://summer.cs.pdx.edu/propose
8. 翻译
如果你想将翻译这些技巧来帮助你的国家的学生,请将翻译的页面和你的主页发送给我,我将他们添加到这里。
8.1 阿拉伯语 翻译:链接
8.2 日语 翻译(多谢 Naohiro Aota):链接
8.3 本文的英文镜像:OpenDZ network
8.4 你也想翻译?
9. 致谢
我想要感谢Brendan和Sergej的给我的反馈。
10. 反馈
如果你想要参与Google Summer of Code, 告诉我你的故事,我可以将其添加到成功地示例中。如果你有其他的建议请告诉我。
10.1 Web Page: Riyadh BAGHDADI
10.2 Email: riyadh.baghdadi [AT] inria.fr
作者:loverszhaokai
出处:http://www.cnblogs.com/lovers
Google Summer of Code 建议被接收的5个技巧的更多相关文章
- 使你的 Google Summer of Code 建议被接收的5个技巧
本文翻译自:http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your_proposal_accepted.lyx.html 本文讲的主 ...
- What is Pay Me to Learn——Google Summer of Code 2013
原文链接:http://zhchbin.github.io/2013/10/17/what-is-pay-me-to-learn/ 背景 今天早上才想起来,自己还欠着一件事情没有做完.很久在人人上之前 ...
- Google Summer of Code 2017 经验谈
Google Summer of Code (GSoC) 2018 又要开始了. 如果想实现你心中的开源梦想, 用代码让世界变得更美好. 参加GSoC可能是你进入开源的世界最好途径. GSoC是什么 ...
- Google Summer of Code礼包
这个暑假参加google summer of code, 给Google的分布式容器管理系统kubernates开发新的特性,希望从中学习更多的分布式的技术,锻炼自己的编程技巧. 中午在学校的图书馆吗 ...
- 做一名开源社区的扫地僧——从Bug report到Google Summer of Code(GSoC):从200个bug到5000美金
今年的软件自由日(SFD),我在广州Linux用户组的线下活动上做了一个分享,主题叫做<做一名开源社区的扫地僧(上)>.我把演讲的内容重新整理扩充, 写出了文字版, 希望可以跟更多朋友分享 ...
- 倒计时第3天!Google Summer of Code报名即将截止!(Casbin社区还有空缺名额)
Google Summer of Code 介绍 Google Summer of Code ( GSoC ,即 Google 编程之夏)是 Google (谷歌)组织并提供经费,面对全球在读学生的在 ...
- vs code的使用与常用插件和技巧大全总结
vs code的使用与常用插件和技巧大全总结 Author:3# 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@ 极客小俊,CSDN官方首发 ...
- Google开发者大会:你不得不知的Tensorflow小技巧
Google开发者大会:你不得不知的Tensorflow小技巧 同步滚动:开 Google Development Days China 2018近日在中国召开了.非常遗憾,小编因为不可抗性因素滞 ...
- Google Chrome 源码下载地址 (Google Chrome Source Code Download)
1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrom ...
随机推荐
- MysqL的root用户不允许远程连接
原文:MysqL的root用户不允许远程连接 今天程序报了异常:java.sql.SQLException: Access denied for user 'root'@'RJB-Z' (using ...
- java 添加一个线程、创建响应的用户界面 。 演示示例代码
javajava 添加一个线程.创建响应的用户界面 . 演示示例代码 来自thinking in java 4 21章 部分的代码 夹21.2.11 thinking in java 4免费下载: ...
- Chapter 3 Protecting the Data(3):创建和使用数据库角色
原版的:http://blog.csdn.net/dba_huangzj/article/details/39639365.专题文件夹:http://blog.csdn.net/dba_huangzj ...
- bcp sqlcmd bulkinsert在unicode问题,Unexpected EOF encountered in BCP data-file
senario 进入sqlcmd使用:out xxx产生的数据文件,因为sqlcmd export to file 默认情况下,中国的乱码.因此,使用-u(unicode)开关 @echo off & ...
- Python脚本传參和Python中调用mysqldump
Python脚本传參和Python中调用mysqldump<pre name="code" class="python">#coding=utf-8 ...
- 【Nginx】显示器port管理
监听port属于server虚拟主机,由server{}块内的listen配置项决定. 也就是说,在server{}块配置项内定义了该虚拟主机所要监听的port. 在处理配置文件http块内main级 ...
- PC结束 Spark 二次开发 收到自己主动,并允许好友请求
本次Spark二次开发是为了客服模块的开发, 能让用户一旦点击该客服则直接自己主动加入好友.而客服放则需自己主动加入好友,不同弹出对话框进行允许,这方便的广大客服. 如今废话不多说,直接上代码. pa ...
- WebAPI上传大文件
今天在研究WebAPI的上传与下载,作为Rest的框架,更多是面向资源,就其本身来说,是不会涉及也不应该涉及到大文件的处理,具体多大呢,也就是ASP.NET的限值2G. ASP.NET的pipelin ...
- Scrum总结
Scrum总结一个轻量级的软件开发方法 Scrum是一个敏捷开发框架,是一个增量迭代的开发过程..在这个框架整个开发周期由若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的 ...
- cocos2d-x3.2中map的基本操作和使用
在游戏开发中,我们有时候会用到map,而map的使用方法我简单给大家介绍一下.Map是c++的一个标准容器,她提供了非常好一对一的关系,在一些程序中建立一个map能够起到事半功倍的效果,总结了一些ma ...