使你的 Google Summer of Code 建議被接收的5個技巧

本文講的主要是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    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章