本文翻译自: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

使你的 Google Summer of Code 建议被接收的5个技巧的更多相关文章

  1. Google Summer of Code 建议被接收的5个技巧

    Google Summer of Code 建议被接收的5个技巧 本文翻译自:http://www.di.ens.fr/~baghdadi/TXT_blog/5_advices_to_get_your ...

  2. What is Pay Me to Learn——Google Summer of Code 2013

    原文链接:http://zhchbin.github.io/2013/10/17/what-is-pay-me-to-learn/ 背景 今天早上才想起来,自己还欠着一件事情没有做完.很久在人人上之前 ...

  3. Google Summer of Code 2017 经验谈

    Google Summer of Code (GSoC) 2018 又要开始了. 如果想实现你心中的开源梦想, 用代码让世界变得更美好. 参加GSoC可能是你进入开源的世界最好途径. GSoC是什么 ...

  4. Google Summer of Code礼包

    这个暑假参加google summer of code, 给Google的分布式容器管理系统kubernates开发新的特性,希望从中学习更多的分布式的技术,锻炼自己的编程技巧. 中午在学校的图书馆吗 ...

  5. 做一名开源社区的扫地僧——从Bug report到Google Summer of Code(GSoC):从200个bug到5000美金

    今年的软件自由日(SFD),我在广州Linux用户组的线下活动上做了一个分享,主题叫做<做一名开源社区的扫地僧(上)>.我把演讲的内容重新整理扩充, 写出了文字版, 希望可以跟更多朋友分享 ...

  6. 倒计时第3天!Google Summer of Code报名即将截止!(Casbin社区还有空缺名额)

    Google Summer of Code 介绍 Google Summer of Code ( GSoC ,即 Google 编程之夏)是 Google (谷歌)组织并提供经费,面对全球在读学生的在 ...

  7. vs code的使用与常用插件和技巧大全总结

    vs code的使用与常用插件和技巧大全总结 Author:3# 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@ 极客小俊,CSDN官方首发 ...

  8. Google开发者大会:你不得不知的Tensorflow小技巧

    Google开发者大会:你不得不知的Tensorflow小技巧 同步滚动:开   Google Development Days China 2018近日在中国召开了.非常遗憾,小编因为不可抗性因素滞 ...

  9. Google Chrome 源码下载地址 (Google Chrome Source Code Download)

    1. Google Chrome 源码 SVN 地址:http://src.chromium.org/svn.包含有 Chrome.Gears.Webkit.GCC 等源码以及编译依赖工具.Chrom ...

随机推荐

  1. HDU 2437 Jerboas (剪枝搜索)

    题意:给定一幅图,图上有两种点T,P.......一只跳鼠在一个T点作为起始点,它想通过图上的路到达某个P点,P点满足如下要求: (1).到达P点的途中路径权值为k的倍数 (2).尽量让路径权值取最小 ...

  2. 用html5的canvas生成图片并保存到本地

    原文:http://www.2cto.com/kf/201209/156169.html 前端的代码: [javascript]  function drawArrow(angle)  {      ...

  3. Server-U与IIS端口占用问题解决

    在新版的ftp软件Server-U(11.X)中,由于其默认设置中监听了80端口,经常会导致IIS不能服务不能正常启用,下面记录如何修改server-u的80端口.     打开Server-U软件, ...

  4. 今天做php经典实例,发现,我是对的,面试官给我说错了

    那是七月中下旬在乐元素公司面试,问了我问什么 $str = "Hellow {$res} world";这么写,我回答说 在字符串中插入复杂变量可以用花括号干起来把? 他告诉我 应 ...

  5. Java学习笔记之方法重载,动态方法调度和抽象类

    一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...

  6. 用NDK编译lua库

    Android.mk是这样的 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := lua LOCAL_SRC_FILE ...

  7. 安装nodejs和grunt以后出现 /usr/bin/env: node: No such file or directory

    安装完成以后需要执行此命令 sudo ln -s /usr/bin/nodejs /usr/bin/node

  8. java学习笔记(5)——内部类

    一.内部类 1,静态内部类 使用static修饰,声明在类体中 静态内部类中可以访问外部类的静态成员 2,成员内部类 声明在类体中,不使用static,具有类的成员特征,也就是,必须有类的实例才能 创 ...

  9. discuz制作

    discuz x1.5模板制作图文教程[1] 在开始前,先了介绍一下discuz!的几个模板文件:1.        header.htm ------------------------------ ...

  10. Android C2DM学习 - 云端推送

    一.基础知识 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震及时通>就需要及时获取服务器上最新的地震信息.要获取服务器上不定时更新的信息一般来说有两种方 ...