Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
闲聊
转一个Google Summer of Code简介
发布于 2010-12-03 17:18:58 浏览:4939
订阅该版
Google Summer of Code (Google编程之夏)2010开锣,中国学生招募中 作者:诸葛建伟博士,副研究员 北京大学计算机科学技术研究所 The Honeynet Project Chinese Chapter [zhugejw@gmail.com](mailto:zhugejw@gmail.com) Google编程之夏(Google Summer of Code,简称GSoC),是由Google公司所主办的年度学生程序设计与开发活动计划,旨在鼓励学生参与开放源代码的程序设计和开发活动。 “Summer of Code”之名取自1967年的“夏日之爱”(Summer of Love)风潮,为热爱Coding的优秀学生提供一次能够和国际知名开源团队亲密接触的绝佳机会。GSoC第一届从2005年开始,目前已成功举办5 届,GSoC 2010也已经正式开锣,正在招募开源团队和参与学生,但GSoC在中国大陆并未得到广泛关注和参与,这与中国大陆优秀且数量庞大的IT专业大学生和研究生资源并不相称。笔者希望通过本文,让中国大陆热爱Coding、热爱开源的优秀学生能够认识到Google编程之夏这个绝佳的步入开源社区的机会,深入了解个人所感兴趣的开源项目,并积极参与到GSoC 2010中来。 GSoC计划简介 Google Summer of Code计划是Google公司设立的为学生参与开源程序设计与开发提供资助的全球性项目,通过与世界上最著名的开放源代码技术团队合作,为学生提供在三个月暑期内受资助的开源程序设计和开发机会。GSoC计划自2005年创办以来,已成功举办5届,共计资助了来自98个不同国家的近2500名成功参与的学生和2500位开源团队指导老师,带着共同的对编程和技术的热爱。在GSoC项目中,每位被接受的学生申请者将和一位或多位来自著名开源团队的指导老师紧密合作,从而获得参与开源软件开发场景的真实体验,以及在他们学术和技术追求的相关领域中获得可能的工作机会。最为回报,参与的开源团队能够更容易地甄别并吸收新的开发者和贡献者,并帮助开源团队推进他们的程序研发和发布进展,使得大众能够从中获益。从2005年至2009年,GSoC为每位接受学生提供4,500美元资助,为指导老师提供500美元资助,而GSoC 2010为学生提供的资助将提高到5,000美元。 GSoC计划目的 ? 鼓励年轻的开发者投身于开源项目开发 ? 为计算机科学和相关领域的学生提供在暑期里进行和学术和技术追求相关的工作机会 ? 给学生更多熟悉和参与实际开源软件开发场景的机会(如分布式开发模式、开源软件授权、邮件列表礼仪等) ? 帮助开源团队推进他们的程序研发和发布进展,使得大众能够从中获益 ? 帮助开源团队更容易地甄别并吸收新的开发者和贡献者 GSoC如何开展 学生选择感兴趣的开源团队和项目主题,撰写项目设计与开发申请书(英文),阐述自己对该项目主题的理解和设计开发思路,并说明个人基本情况、技术背景、相关研究和开发经验以及参与GSoC项目的时间进度安排,通过GSoC申请网站向开源团队提交。 获GSoC接受的开源团队组织资深成员作为指导老师,对学生提交的申请书,以及随后交流沟通过程中对申请者的了解情况,对申请者做出综合评价,依据 Google为该开源团队分配的名额数量,选择优秀的申请者参与GSoC项目,并为其分配指导老师,指导其开展开源软件的设计与开发工作。 在GSoC中期和结束后,参与学生需接受开源团队的进度和完成情况考核,以保证受资助的开源项目能够成功推进和完成。 GSoC 2010时间线(GMT时间) 3月8日-12日:Google接受开源团队申请; 3月13日-17日:Google的GSoC项目管理团队对开源团队申请进行评估; 3月18日:被接受的开源团队组织列表在GSoC官方网站socghop.appspot.com上公布; 3月29日-4月9日:接收学生申请阶段; 3月18日-4月9日:该阶段学生申请者可和感兴趣的开源团队组织进行积极联系沟通, 以确定选题项目,讨论项目思路。 4月26日:开源团队确定接受的学生申请,并在官方网站上公布; 4月26日-5月24日:该阶段学生应积极和指导老师进行交流沟通,以确定项目目标, 技术方案和进度安排。 5月24日:参与学生开始GSoC项目程序编码; 6月16日:中期评估考核提交deadline; 8月20日:项目结项评估提交deadline; 9月份:学生向Google提交所要求的代码。 GSoC 2010资助方案 Google将向每个接受的GSoC项目提供共计5,500美元的资助,其中5,000美元提供给学生,500美元提供给开源团队组织。接受学生将在项目启动后不久将获得首批资助500美元,通过中期评估考核后获得2,250美元,在最后通过项目结项评估,并提交项目评估报告后获得剩余的2,250美元;提供指导的开源团队组织在最后结项评估后获得500美元。 GSoC计划领域宽泛的参与团队 GSoC计划邀请了世界上最为知名的开源团队参与,涉及的技术领域非常宽泛,以GSoC 2009为例,包括以下技术领域和从中列举的著名开源团队: ? 操作系统:Linux基金会、Debian、Fodera、Gentoo、MINIX、FreeBSD、NetBSD、OpenSuse、… ? 系统与网络安全:The Honeynet Project、Nmap、… ? Web技术:Mozilla、PHP、Apache、… ? 数据内容管理:MySQL、WordPress、wikimedia、SVN、… ? 编程语言与集成开发环境:Python、Perl、Ruby、Eclipse基金会、GCC、LLVM、… ? 桌面与文本编辑:Gnome、KDE、Go OpenOffice、… ? 模拟、建模与神经网络:NS3、… ? 分析科学:R Foundation、… ? 生物学与生命科学:National Evolutionary Synthesis Center、… ? 网络:NTP、OpenSSH、Samba、… ? 图形、3D、CAD和自动化:gimp、OpenStreetMap、… ? 游戏开发:Battle for Wesnoth、… ? 电子邮件、电话和即时通信:SIP、… ? 多媒体、音频和音乐:VideoLAN、Audacity、… 为什么要参与? GSoC计划在之前的五年里已经获得了无与伦比的成功,无论Google还是参与开源团队和学生,都从中得到了巨大的收获;该计划能够吸引热爱 Coding的学生进行一些高水平的研究和开发,参与学生非常热情忘我地在他们的项目(事实上很多项目主题就是他们自己提出的Idea)上进行勤奋工作,为开源社区做出了重要贡献;GSoC计划让学生参与感受开源社区成功的远程交互合作模式。 如何参与? 首先需要评估个人编程、快速接受新知识的能力,以及对开源项目及社区文化的了解程度,如果你仅仅还是刚涉足计算机专业、抑或尚未有较多编程开发经验的新手,或者你对开源项目、开源社区没有任何概念的话,还是建议你先立足于其他学习途径提升个人能力和专业素养,并关注和深入了解感兴趣的开源项目和团队,来年再来掺合。 如果你对自己的编程、自学、英文沟通交流等一系列能力都拥有充分的自信,同时也能够确保暑期全部时间的忘我投入(一般每周至少40小时),那你就可以尝试申请GSoC 2010,关键步骤包括: 1) 根据你自己的专业知识背景、个人兴趣和对开源项目的了解,从受资助的开源团队列表中选择出两三个申请目标团队,并通过浏览团队网站、试用开源工具、关注历年GSoC项目主题和完成情况等多种方式深入了解目标团队;(注:3月18日正式公布前可参考去年受资助的团队列表,3月12日之后今年申请的团队网站上就会发布项目主题信息) 2) 对关注开源团队给出的项目主题进行背景调查和学习,对所涉及的开源项目版本进行细致分析,并积极与开源团队指导老师进行交流沟通,尝试理解该主题的含义和开发目标,并选定1个或2个项目主题(虽然GSoC允许1个学生提交多份申请,但总共只有3周时间,还是建议集中时间写好1份申请),此外你也可以提出与开源团队研究开发领域相关的自主选题,只要你的申请能够征服开源团队的多数指导老师,你就可以做真正属于你自己的项目; 3) 在理解选定项目主题含义的基础上,通过主动思考提出自己的技术方案,并积极寻求指导老师对你所考虑技术方案的意见和建议,如果能够有概念验证性的一些代码实现将会大大提升你的竞争力; 4) 根据开源团队提供的申请书结构模版,撰写英文申请书,应着重突出个人对项目主体目标和关键技术挑战的理解,以及给出合理可行的技术方案; 5) 按期提交你的申请书,定稿之前也可以寻求开源团队指导老师对你初稿的看法,如果指导老师非常看好你,将有可能帮助你争取接受的机会(由于名额的限制,很多时间会由指导老师在团队中竞争有限的资助经费),或者如果指导老师认为他提的项目主题已经有合适人选而你的机会已经微乎其微,Nice的话会让你赶快另谋他路; 6) 等待结果,当然足够聪明的申请者在这段时间不会只在祈祷或积攒人品,进一步了解感兴趣的开源团队和项目,即使这次不成功也能混个脸熟,大不了明年再来呗?。 7) 4月26日(北京时间4月27日),刷官方网站,获知你的GSoC 2010命运,如果中了,发个博客文章庆祝一下,鼓足精神好好干,不要丢了中国学生的脸面;如果没中,不要气馁,继续学习继续关注开源社区,明年再来。 如何完成GSoC项目? 如果你已经在考虑这个问题的话,恭喜你,至少你对自己成功申请到GSoC具有一定的自信,同时也说明你是个思维和计划缜密的好学生。 首先,你要了解到GSoC并不是比赛性质的活动,在完成阶段并没有PK和竞争,更多是对个人的挑战和提升,你要充分珍视这次来自不易的机会,投入充分的时间精力,真正理解开源社区分布式交流和开发的场景模式,确保和指导老师的充分沟通,让你的项目处在不断进展的状态,这将有助于项目最终顺利通过结项评估; 其次,最为关键的是加强沟通和对外展示,主动向指导老师寻求意见,反馈进展,讨论技术难点与解决方案,以及沟通进一步计划,GSoC项目的三个月说短不短,说长也不长,要清晰的定义好项目的目标与范围,既要能够达成开源团队和指导老师的期望,又不能让自己陷入局部的技术陷阱中,从而使得整体项目目标未能达成。对外展示也是一个重要因素,应该通过你的blog、开源团队的邮件列表等各种途径对你项目的阶段性进展进行展示,这有助于提升团队成员对你的项目成果的认可。 最后,一定要记住完成GSoC并不是你的目标,对于真正热爱编程、热爱开源的人,他仅仅是提供了一个绝佳的机会,一个让你真正步入开源社区的渠道。因此,不要让GSoC成为一锤子买卖,珍视你在GSoC项目中初步建立起的开源社区“信誉”,继续贡献你的“付出”,也继续从中获取真正属于你的技术和人缘“收益”。 当然,每个不同的开源团队、每个不同的指导老师都有各自不同的风格,不同的要求,真正如何完成你的GSoC项目,或许只有你真正参与进去,才能慢慢总结和体会。或许当你在某个静静的黑夜中完成一段代码,调试通过成功解决掉困扰你几天的技术挑战后,美美的趴在桌上睡觉时,才能够体会到GSoC真正的魅力。 GSoC-THP 2009情况介绍与GSoC-THP 2010 笔者作为信息安全领域国际知名开源团队The Honeynet Project的正式成员,以及Chinese Chapter的负责人,参与了GSoC-THP 2009从开源团队申请和立项、学生申请和立项、项目执行的全过程,动员了北京大学的3位学生参与申请,并作为3个项目的co-mentor进行全程指导,获得了100%的申请成功率和项目成功率。 The Honeynet Project( [www.honeynet.org](http://www.honeynet.org) )在2007年首次申请GSoC失利后,2009年第二次申请获得成功成为GSoC开源指导团队,并设置了8个项目主题。由于出色的组织以及项目主题的吸引力,THP接收到了55份申请书,其中包括10余份自主选题,THP也因此从Google获得了9个项目资助名额。在THP十多位指导老师的仔细筛选和斟酌之后,从中选出了9位学生参与GSoC,而对于另3位同样出色不仍割舍的学生,THP自己出资补充设置了3个THP-SoC项目对他们进行资助。笔者所在的北京大学有3位学生参加了GSoC-THP的申请,博士研究生、硕士研究生和本科生各1位,其中 2位之前已经加入THP Chinese Chapter,开始相关的研究和开源开发,另1位是在笔者开设的《网络攻防技术与实践》课程实践作业中接触THP的开源项目PHoneyC,在课程实践中深入分析了其实现机理,并对实现中的debug和不足之处进行了改进,为申请GSoC中的PHoneyC改进项目主题积累了较好的基础。在申请获得成功后,GSoC-THP09所有的12位接受学生在指导老师的帮助下均顺利完成了项目。Chinese Chapter的三位学生也分别有国外的资深开源人士作为其指导老师,而笔者作为co-mentor,安排了每周的周末讨论,通过团队的力量对项目过程中的难点、具体技术方案和进展计划进行讨论、建议和规划,从而确保了这三个项目的圆满完成。 GSoC 2010已经开跑,THP也将继续申请作为指导团队加入今年的计划,目前正在征集项目主题和指导老师过程中。笔者作为其中的一员,对THP继续获得 Google的认可抱有极大的信心,也希望国内对系统安全、网络攻防技术感兴趣的学生积极参与GSoC-THP的申请,同时笔者所在的北大计算机所信安中心/THP Chinese Chapter也欢迎具有潜力的本科学生/研究生申请加入,并提供保研、实习、毕业设计、加盟等多种途径,可通过zhugejw@gmail.com与笔者联系。
查看更多
1
个回答
默认排序
按发布时间排序
撰写答案
登录
注册新账号
关注者
0
被浏览
4.9k
关于作者
bernard
这家伙很懒,什么也没写!
提问
414
回答
5940
被采纳
76
关注TA
发私信
相关问题
1
嵌入式系统工程师行业认证
2
Google于9月2日推出出Chrome浏览器
3
开源家用类人机器人
4
今天发现CLF的IT人生版没了
5
面对多核芯片冲击,通信处理器何去何从?
6
三五个人十来条枪 如何走出软件作坊成为开发正规军[ZT]
7
老美在看什么?
8
油白菜2008来报道
9
刘军洛:中国应对世界金融危机的第二步
10
人民币兑美元大幅下跌,因中间价传出汇率政策调整信号
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
2
RT-Thread EtherKit开源以太网硬件正式发布
3
如何在master上的BSP中添加配置yml文件
4
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
5
RT-Thread 发布 EtherKit开源以太网硬件!
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
16
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部