使你的 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

上一篇:Java ssh 框架 hibernate 详细理解


下一篇:SU sunmo命令学习