星期五, 十月 20, 2006

参与Google Summer Of Code,体验开源乐趣

作者:Lian Liming, 厦门大学软件学院计算机应用技术硕士研究生,lianliming(AT)gmail(DOT)com



2006年 这个夏天对我来说是有着非同寻常的一个夏天,我的项目申请通过Google Summer Of Code 2006的评审,成为了全世界6000多份项目申请中被录取630份之一。经过三个月的开发,现在我的GSoC项目已经结束并成功通过项目验收。在这里我想用文字把参加GSoC的经历和感受同大家分享,也希望明年有更多的中国学生参与到GSoC大家庭中。


IMG_2230

Lian Liming

最早得知 GSoC消息是今年的4月份,我在一个开源项目的邮件列表上看到一个帖子介绍GSoC,通过搜索很容易就找到了GSoC的官方主页。在官方主页上的 Student FAQ 我了解到GSoC是面向全世界的在校大学生在暑假期间所举行的一个活动,其活动内容是Google公司赞助在校大学生参与开放源代码项目开发。在这个活动中,Google公司将同一些比较有名的开源项目组合作来确定项目ideas,申请参加的学生根据这些ideas选出自己感兴趣的一个或者几个,写出完整的项目策划书。同时也鼓励学生根据自己创意来写对某个项目的策划。开源项目组会组织资深的开发者对学生们提交的策划书进行审核,最后经过讨论确定该项目组被录取的学生名单。被录取的学生必须在3个月时间内完成项目。在这期间将会有一个中期测评,如果没有通过,剩下的项目时间将作废,项目自动终止。3个月时间到达后也会有一个项目验收,只有通过最后验收合格的项目才算是成功的GSoC项目。

在项目的补助 上,一旦项目申请被通过评审,这个学生将会得到500美金的赞助费用。通过中期测评另外会有2000美金的赞助费用,如果成功通过最后的项目验收,还会得到2000美金的赞助。每个被录取的学生都会被项目组指定一名资深的开发者作为mentor来指导开发和审查项目进度。在Student FAQ中,我们可以知道,Google公司举办这样的活动举办这样的活动的目的在于鼓励在校的大学生利用暑假期间参与到开放源代码软件项目中,一方面可以帮助开源项目组增加完善软件功能,另外一个方面也为大学生提供一个暑期实践机会。在这个实践期间,学生有机会在世界上顶尖的程序员的指导下,解决实际软件项目中碰到的问题。

GSoC T-Shirt

GSoC T-Shirt


对于我 这样一个开放源代码爱好者来说,GSoC的机会是不容错过的。唯一的难题在于选择要申请哪个项目组上,我之前的有的开源项目开发经验是基于LAMP系统的,曾经是一个PHP开源软件项目的developer。照理来说应该选择PHP相关的项目组。但是我从今年初开始对Mozilla Firefox产生兴趣,接下来花了很多的时间去研究mozilla底层技术。只是由于时间较短,我虽然学习了一些技术但并没有参与到mozilla项目的开发中,因此缺乏经验。最后经过考虑,我决定还是选择Mozilla项目组,希望能借这次GSoC的机会对Mozilla技术有个更深入的理解。



查看了Mozilla项目 提供给GSoC活动的idea list,我对idea "XUL editor plugin for Eclipse" 产生了兴趣。这个idea想利用Eclipse Ajax Toolkit Framework提供的Embedded XULRunner和JS debugger来实现一个的用于开发XUL的Eclipse插件。我选择这个idea的原因在于Eclipse是我比较喜欢的一个IDE开发环境,而且之前对XUL(XML User Interface Language)也有所了解。在写项目策划书之前,我通过搜索发现在sourceforge上已经有一个类似的Eclipse XUL插件项目叫做EclipseXUL。多年的开源项目经验告诉我,开放源代码软件之所以生命力特别顽强,就在于其本身具有的开放性让大家都能够把力量贡献在同一焦点上。如果我为了参加 GSoC,重新去创建新的Eclipse的XUL开发插件,必定会造成重复劳动。基于这种考虑我写了一封邮件联系EclipseXUL的唯一开发者 Lars,在信中阐述了我愿意通过参加GSoC的机会来完善EclipseXUL。他回了封邮件表明非常支持我的想法,并详细列举了目前需要解决的问题和未来需要添加的功能。充分利用这些信息,我完成了项目策划书,,对项目时间安排、最终预期取得的成果进行规划。当然最重要的是, 我在项目概况中以 " 'Starting a new plugin project from scratch' VS 'Extending an existed eclipse XUL plugin project'"作为标题,花了很大的篇幅阐明了我不希望重复劳动而是更愿意扩展一个已经存在的Eclipse XUL插件的想法。



notebook from google

GSoC纪念笔记本

5月24日 ,我接到了从Google公司发过来的一封电子邮件,通知我的项目申请通过了评审.被GSoC录取.在专门为录取学生创建的邮件列表上,我看到了来自世界各地大学生的发言,感到非常荣幸能够成为这个大家庭中的一员。正式的项目启动时间也就是在5月24日,在这一天对我来说也意味着项目从策划阶段转向了实际开发阶段。由于没有参与Mozilla项目的经验,在项目启动之后我主要把心思放在两件事情上面。首先是阅读文挡,之前虽然对Eclipse使用很熟悉,但对其底层架构及插件开发并不是很了解,所以首先要补就是这方面相关知识。另外对Mozilla其他相关的技术的文档也需要大范围阅读。计算机技术的文档一般都比较长,每份文档少则100页,多则上千页,而且其中还有很多例子需要动手去实践去编码,因此阅读文档往往是一件枯燥的又占用大量时间的工作。在花费大量时间精力仔细阅读了众多文档后,我发现效果非常突出。比起策划阶段,我对项目的认识更加全面、更加深入。


在项目启动 之后要做的另外一件事情就是找其他有经验的开发者交流,在开源项目开发过程中,交流始终是最重要的工作之一。闷头做事情往往会走不少弯路,浪费不少时间和精力。我的mentor是来自mozilla项目组xulrunner模块的负责人Benjamin,在和他进行深入交流后,他还推荐我去找Eclispe ATF项目组的Javier和Adam。通过充分的交流,我发现我原来考虑很多想法并不是最优的解决方案。另外我如果对某个技术细节不懂或者有新的想法,会尽量地在相应的邮件列表或者是BugTracker上告诉其他人,寻求机会同别人进行讨论。这样就可以尽可能多的从其他开发者得到反馈。虽然交流和阅读文档一样占用了我大量的时间,但是后来事实证明,我策划阶段制定错误的开发的方向得到矫正,方法也进一步优化,大大节省了后续编码时间。

GSoC Checks



GSoC支票存根

6月份 开始,世界杯拉开了序幕,我是一个铁杆球迷,但是为了能够按计划完成GSoC项目,只能忍痛割爱,只看几场关键的比赛。在这段时间内,我开始阅读EclipseXUL、 Eclipse ATF相关的代码,希望能从底层代码中找到项目的突破口。为了能够记录项目进展及完成的工作,我为了项目搭建了wiki站点,这样边看代码边把关键信息记录在wiki上。有了wiki,其他开发者也可以从上面了解到我项目的进展状况。到了中期测评的时候,我基本上对已有的代码非常熟悉了。在中期测评报告中,我从技术细节方面阐述了下一步代码实现具体方案。由于之前同其他开发者已经有了深入的交流,我顺利通过了中期测评。



中期测评 后的工作主要就是对已经确定的方案进行代码实现。在开源项目开发中,有个非常重要的原则就是"Release early, release often", 只有这样才能保证程序开发中能够得到尽可能多的测试和反馈,以保证代码的质量。在我的代码实现阶段,我也尽量遵循了这个原则。在7月14日,在完成第一个重要的功能后,我发布了项目的第一个版本。这个版本包括经过编译配置的二进制发布包及原代码。第二个版本的发布是在8月3日,这个版本基本就已经实现了项目策划中的大部分功能。在每个版本发布前都需要对代码进行测试,并书写相关的用户使用及开发文挡。这本身也是个对目前开发思路的一个整理。第二个版本发布后的剩下的时间主要是用于测试和讨论将写好的代码Port到CVS的事情。


GSoC certificate

GSoC项目完成证书

三个月 的GSoC活动的经历确实没有办法用文字完全描述出来,通过三个月的项目,我有幸同Mozilla及Eclipse ATF, Eclipse IDE4Laszlo等项目组的很多技术强人一起交流,收获了宝贵的项目开发经验。我的GSoC项目虽然已经阶段性完成,但是我还会继续开发维护暑假的项目。其实GSoC只是一个小小舞台,开放源代码世界还有更广阔的天地。在这次活动中唯一让我感到有点遗憾的是,参与GSoC 2006的来自中国大陆高校的学生太少。活动负责人Chris Dibona先生在参加OSCON 2006上发布了今年活动的一些统计数据,从中我们可以看到被录取的630位学生中来自中国大陆高校仅仅只有13人。我们中国学生软件开发能力上绝对不会比欧美学生差,我们也完全有能力、有实力参与到GSoC当中来。我的这篇文章一方面是想分享我参与GSoC的经历,更重要的希望有更多爱好开源运动的在校大学生能够参与到GSoC活动中来,用我们的智慧解决实际问题,来创造价值!

最后,感谢Google公司,为我们提供了如此高贵的实践机会。感谢Google总部Open Source office的Chris Dibona和Leslie Hawthorn,他们为协调活动的组织投入了大量时间精力,没有他们辛苦工作就不可能有Google Summer Of Code 2006的顺利完成。


星期二, 十月 17, 2006

我经常使用的Google服务

一、要是以为Google只是用来Search website的,那么你错了……当然,google首页就是用来Search的,哈哈!第一项服务是Google Search
Http://www.google.com

二、接下来Google Analytice----网站访问统计(顾名思义吧,以前有提到过)http://www.google.com/analytics/

三、Google Blogger----Google 的blog服务,已经过完了7岁生日。

虽然功能还有待完善,但还是愿意把一些东西写在blogger!
Http://www.blogger.com

四、Google Calendar----有名的Google日历

这是一个相当好的帮手。我觉得最炫的是可以和别人共享你的Calendar,并且可以有RSS订阅日程内容。
http://www.google.com/calendar

五、Docs&Spreadsheets----传说中G Office的先行者(我喜欢这样叫)

前身分别是Writely在线文档协同编辑和Spreadsheets在线电子表格编辑。
当然,只有简单的功能,远比不上MS Office功能强大,但可以线上协同编辑,所以很喜欢,因为会相当的高效!
http://docs.google.com

六、Gmail----Google的邮箱。第一个G级的邮箱!!!

在我发表这入篇文章的时候,它的容量是2775MB,并且在不断地增长中!
其实它的好处已经多到我不敢去说,它的好处已经多到我不敢去说!当然,目前需要受邀请注册。(要邀请的可以找我)
http://mail.google.com/mail

七、Google Group----Google讨论组

从最初的比较难看、不好用的版本,一直到现在的Beta版,Google group渐趋成熟,功能越来越多!有人批评Gtalk没有群组功能。个人认为Google group可以做到这一点。并且所有的记录将被保存。
beta版里可以添加新的webpage,每个group有100M上传空间……详细内容,懒懒的小天正在CN博客写作中……
http://groups.google.com

八、Google Notebook----为浏览器装上小笔记本

这是06年的新产品,目前还在lab里!
个人感觉很好用,尤其对我这种马大哈来说。现在不用Opera浏览器的Notebook了,在用IE的时候就用Google Notebook...

九、Page Creator----Google个人主页服务

非常傻瓜型、人性化的个人主页编辑,http://username.googlepages.com域名,并且可以自己添加下一级域名。每个帐号有100M上传空间,可以上传图片、文档等(音乐文件我还没试过)。可以试着去炫一下自己~~
http://pages.google.com

十、Personalized Homepage----个性化主页服务

我觉得这个最主要的是可以添加自己喜欢的Gadget、小页面进来。
详细文章请参见“小天的地盘” http://qienkuen.xmublog.org/2006/07/google.html

十一、Personalized Search----个性化搜索

有兴趣的朋友可以试着去找一下自己最近一段时间来的搜索兴趣,呵~相当有意思。

十二、Google Picasa----Picasa相片管理

因为和Google Account结合比较紧密(现在有了专门的Picasa account),所以就开始试用,感觉不错。同时,picasa有推出picasaweb服务。中国用户,每人可以有250M免费上传空间(目前不支持续费),可以直接从picasa客户端上传至空间。美国的用户可以缴费后增加至6G的空间,并且可以上传Video,并直接调用Google Video Player播放。
每位用户的picasaweb将拥有相当炫的域名,有如http://picasaweb.google.com/Gcamp.XMU

遗憾的是,目前漳州校区的免费教育网似乎把picasaweb的IP禁了 : (
http://picasa.google.com
http://picasaweb.google.com

十三、Google Reader----RSS阅读工具

旧版的比较不好用,功能缺少很多,一直没怎么用。9月份推出的新版本已经相当炫,并且可以添加JS到网页中 : ) 和朋友共享你关注的RSS内容
http://www.google.com/reader

十四、Google Talk----Chats客户端

聊天记录自动保存在Gmail里,可以利用Mail search去查找!
以前只有google account才能登陆gtalk,10月的某一天(忘记了),另外的mail帐号只要注册了也可以登陆gtalk(还没试过,我基本不用其他mail)。
这样的注册,和google group的注册很像。记得我没有Gmail的时候,就是用别的邮箱注册的Google group。

十五、Google Toolbar for firefox----Google工具条

Google的工具条,我从来不认为是“流氓软件”,因为它的安装是明显的,而不是不可见的,是可选的!它的卸载也是方便的!功能嘛,当然是集成了google的特色内容,相当快捷。

十六、Google Desktop----桌面搜索工具

当然,它不光可以搜索PC中的东西,还集成了Gmail、Gtalk等一系列google服务,自己定制!

十七、移动Google----用手机登陆Google

这个应该比较easy吧!我那部最烂的手机都可以登陆,大家的应该没问题啦~去移动搞个GPRS包月吧,随手查起来还是蛮方便的!(没有给中国移动做广告的意思哦!)

经常用的也就这些吧!
有些服务可能需要google帐号才能使用,需要google帐号邀请的可以QienKuen.

星期四, 十月 12, 2006

GoogleCamp小道消息

谢谢大家对GoogleCamp开营系列活动的支持!
非常感谢所有工作人员,志愿者,所有参与活动同学的热情与创意,让我们度过了一个难忘的GoogleCamping DAY。

Google公司接下来将会组织一些竞赛活动,与 Google Gadget 有关。
目前还在酝酿阶段,等到所有学校开营跑完,才会进行下一步规划。

所谓Gadget其实是一些基于Google技术,提供互联网服务的小组件。
http://desktop.google.com/plugins/sidebar/?hl=en
这是一些例子。

有兴趣参与的同学,可以先了解一下。

星期三, 十月 11, 2006

厦门大学GoogleCamp盛大开营

1010日晚,在厦门大学热情的Google fans的见证下,随着营员代表王啸从Google大中华区市场总监黄蕙雯女士手中接过Google Camp营旗,厦门大学Google Camp正式开营。

Google Camp 是由Google公司发起,学生自我管理的学生社团组织,是Google精神和理念在大学校园里的延伸。GoogleCamp致力于使每一位 Google Camper 在组织活动的过程中得到学习和锻炼的机会,分享 Google 的平等参与、创新理念和精神,对成才就业产生积极的影响。

在经过了午间Google Camp嘉年华游园活动以及前期“六人搜索”活动的预热后,开营仪式定于晚上7点在克立楼三楼报告厅举行。现场座无虚席,狭长的过道上都坐满了兴致勃勃的同学们。黄蕙雯女士在软件学院党总支杨敬达书记、软件学院姜青山院长、软件学院辅导员王洁松老师、黄涵老师的陪同下走进会场,仪式正式开始。

首先,软件学院姜院长代表厦门大学以及厦门大学国家示范性软件学院致辞,表达了对Google Camp的良好祝愿,寄托了对Google Camp的殷切期望。Google Camp营员代表王啸阐述了Google Camp“用心搜索梦想”的精神和追求。随后,从“六人搜索”活动中脱颖而出的三个小组表演了他们结合各自的关键词编演的小品。生动活泼的表演、幽默搞笑的剧情、别出心裁的形式引来了在场观众的阵阵笑声和掌声。

在热烈的气氛中,仪式进入了高潮。Google大中华区市场总监黄蕙雯女士向厦门大学Google Camp营员代表授予营旗,并发表了内容为“Google发现的十大真理”的演讲,就Google搜索引擎技术、商业运营模式、长期坚持的用户服务理念、公司发展前景和方向、以及员工的工作生活等等情况都进行了生动的论述,在场的听众都饶有兴致地体味着Google公司特色鲜明的企业文化。紧接着进行的现场Q&A环节中,来自不同学院的同学们积极踊跃地从各自专业的角度对Google的未来经营和运作提出了疑问和希望,也有同学提出了自己大胆的构想和创意。同时,讲台上黄女士对答如流的风范也给所有人留下了深刻的印象。

随着开营仪式的结束,新生的厦门大学Google Camp将开始搜索校园创新活力源泉之路、开始搜索社团构建校企共建合作平台之路。相信通过Google Camp,能让更多的同学相应“软件改变生活、创新改变生活”的号召,勇于开拓进取,勇于用心搜索梦想。


星期五, 十月 06, 2006

中秋节快乐


不知不觉,今天已经是中秋了,公历2006年10月6日。先祝大家中秋快乐!

明月+月饼的Google Logo,让人感觉很惬意。----哪位帮忙看下月饼是哪个牌子的!晚上去买几个回来!嘻~~

前两天,按照厦门当地习俗,厦门大学依旧是在军训期间举行了几千人规模的“博饼”,2006级的新生们玩得相当High呀!今天中午,他们终于结束了为期15天的军训,大家都带着各种各样喜悦的心情准备度过中秋。

今年的央视“海峡月·中华情”中秋晚会将在厦门市举办,期待一下吧!

再祝大家中秋快乐!

星期二, 十月 03, 2006

事实证明 我们是高效的团队...

一直要记得在blog上写点什么,或者说事情太多,又或者工作没做好,写上去打击团队的激情.还好,在十一之前终于把六人搜索打了出去,各方面反应不错,虽然有些急,但毕竟这个活动铺开了..
想一想过去开学的2个礼拜,我们的工作分工很乱.凝聚力有些欠缺,也许是因为大家刚刚开学有些忙,对于工作的筹划没有做好.分工没有细化.不记得门票的摸版是什么时候打过来的,只知道我们一直在等.等软件学院的挂靠批条.等公司方的资金到位,等海报设计出炉,似乎大家都还没有注意到我们只有1个礼拜的时间了.到上周日,所有设计及工作日程安排出炉之后,我和陈坤立刻感到了强大的压力.huhao也很着急社团申请.一遍遍的电话...
不过好在礼拜一的时候接到了王洁松老师的电话,社团申请终于在几天之后有了眉目,有了老师向团委的申报.社团审批在团委那边非常顺利,早上交的申请书,中午改动了下章程,下午陈主席告诉我,你们可以做活动了...
接下来是印刷门票,海报,易拉宝.由于临近十一,各个印刷场业务繁忙,在和东杰晓辉跑了两个下午翘了4节课之后,终于保证了在周四发票的可能.柴郁从合肥过来了,或者可以说他的到来调动了我们团队成员的激情,虽然他什么也没有说.但是接下来的事情似乎都很顺利.从起草发票场地申请到团委递交申请,到党宣审批,前后不到1个半小时.俊鹏笑着说:"我们的效率还是满高的嘛!"我只能说:其实这些事情早就该办妥的.
由于海报制作的公司临时插不了单,在时间上耽误了半天,最后的发票在周5进行..三家村--芙蓉餐厅---公寓---芙蓉餐厅 基本比较顺利 场面比较火暴
总体来说,预热周的所有工作基本完成,除了下午场地还没有通过审批,这个是我们工作的一个疏漏.或者也是因为大家对于本部场地审批流程的陌生,可以理解,希望在8号可以把场地拿下来,否则,,,
其实基本上所有的事情都是在这一个礼拜内完成的.虽然有些仓促,可是我们已经在赶了,首先不到一个礼拜的时间完成社团注册,4天的时间海报\门票\易拉宝\场地\网络宣传各个方面全部到位,而我们还要上课,更何况,我们只有几个人..其他学校的情况不说了,大家上网看一下就知道了,我们是8月底,大家还在家的时候接到这个社团,9月678三天完成的资料.接着是搬家,熟悉新环境,迎新.18号才开学...所以大家已经尽力了
预热周的任务完成了,但接下来的事情将会更多,我们已经将任务分配妥当,希望大家尽力,用几天的精力做成这样一个社团,我相信,都会是一段美好的回忆...

事实证明 我们是高效的团队...

星期日, 十月 01, 2006

google reader

不知道大家知不知道google reader这项服务。过去因为用不习惯,所以一直用抓虾去订阅别人的rss。9月28号,google reader突然来了个大变脸,变得比较符合一般人的使用习惯了。



由于没有使用电信,所以国外的很多网页都无法浏览。使用google reader去订阅一下国外知名博客的blogs,便能第一时间了解到国外的新鲜资讯了。希望大家喜欢哦!

厦门大学“校园快讯”登载XMU Google Camp成立

如左图,厦门大学“校园快讯”中登载了题为“我校新增Google CAMP社团”的新闻。

XMU Google Camp在厦门大学的筹备、成立,得到了许多热心同学、校友的关心支持,更是得到软件学院、校团委的支持。从社团审批到活动宣传,都给XMU Google Camp提供了许多方便。

感谢各方对XMU Google Camp成长的关心,我们将继续努力,保持团队优良作风,用越来越多的有意义的活动来丰富厦大学子的生活。

This page is powered by Blogger. Isn't yours?

订阅 博文 [Atom]