首页 > 代码库 > 值得赞扬的尝试与进步——CSDN开源夏令营第一印象

值得赞扬的尝试与进步——CSDN开源夏令营第一印象

注:写这篇文章时我并未参加CSDN开源夏令营,也不确定是否会参加以及能否参加上。

欣闻CSDN举办了“CSDN开源夏令营”活动。第一感觉是CSDN作为活动的组织者是非常值得称赞的。作为参加了Google Summer of Code的人,这里对比下CSDN开源夏令营和Google Summer of Code。纯粹是个人见解,仅供参考。

开源组织

在了解有这个活动后,第一反应是这不就是中国的GSoC吗,先给CSDN大大的一个赞。但冷静一想:国内有合格的开源组织吗?这里不是贬低国内开源活动,而是说国内是否有组织性的开源软件编写、设计、维护的组织。确实,今年来国人写了很多优秀的软件,也有很多人参与了国际的开源组织并做出了杰出的贡献。但由于大环境的原因,国内并没有像样的开源组织。

果不其然,GSoC中入围的组织是真的实打实的开源基金会、开源团体。比如Python基金会、OpenCV、wxWidgets、Julia语言这些,是我了解的。而那些有商业背景的,哪怕是Qt都以LGPL发布了开源版,也不会入围的。反观这个活动,少数不了解,但目前来看。都是商业公司背景或官方背景的。

但万里长征终究有第一步,在中国开源界,CSDN迈出了第一步。希望这几天有更多的组织加入。

日程安排


GSoC的日程安排

先介绍GSoC的流程,这里除去组织筛选的过程,因为我不清楚Google是怎么筛选开源组织的:

第一阶段

20天左右中:学生用来选择项目、课题,并提交申请。这里有个要注意的,那就是仅仅是用这20天想要确保能申请上是有点困难的。夸张一点的,有些学生在前一年年底就开始和开源组织打交道了。晚一点的在春节期间就要开始准备了。而这还是假定参与的学生已经掌握了基本的技术的前提下,想在申请期去学习并掌握相关的技术,然后申请成功的话。不是说不可能,至少是机会非常渺茫。毕竟GSoC中和你竞争的是除了美帝界定的流氓国度之外的所有国家的学士、硕士、和博士。当然,今年来每年申请的也就是7000左右。所以,想侥幸被录用是很渺茫的。另外,最好联系好一个导师,没确定下来哪个导师指导你的项目,申请是绝对没戏的。

第二阶段

近一个月的时间:开源组织和Google进行闭门筛选。这是完全闭门的,虽说在Google的日程安排中,说这个月用来筛选,开源组织会和潜在的学生进行进一步的沟通。但就我目前个人掌握的情况来说,已知的开源组织不会和申请的学生进行任何非技术性的沟通,不会给出任何你可能被录取,或者可能不被录取的暗示。在第一阶段时,邮件列表会非常火爆。但第二阶段时,感觉是从大城市的市中心跑到了沙漠的中心,除了日常信息外,基本看不到任何有关GSoC的内容。

第二阶段在逻辑上有两个小阶段。第一个小阶段,开源组织内部先对收到的课题申请进行排名,选出前X个递交给Google,比如同样一个课题A,有3个人申请,组织会综合考虑,对这3个人排名,将第一名入围到课题列表中。然后是对课题列表进行排名,按照能否完成、课题的重要性进行排序,排在前面的课题入围到X中。每个提交给Google的课题都会配备一个或多个导师,这些导师是开源组织自己指定的。如前所述,没导师的课题,Google是绝对不会批的,所以开源组织也不会提交那些学生自己拟定,但没有导师的课题。

第二阶段的第一阶段大概10天左右,然后Google给出Y个名额。Y <= X。Google给出的Y值是基于X的数量、前一年该组织的GSoC的完成度(如果第一次参加,默认Y为2)。如果前一年该组织有课题中途而废,要看情况的严重性。严重的话,连最初的组织申请都不会被批准,轻的话,今年的名额数会少一点。PS:各大基金会的名额数是非常多的。

当Google分配完名额后,肯定会有学生同时申请不同组织下的课题(同一组织下多个课题的申请冲突会在组织内部排名时消除)。Google列出有重复的申请(申请是在Google 的Malange上完成的,所以Google知道哪些是重复的),在第二个小阶段中,各个组织会一起商讨这些申请。,有些组织会放弃某些重复的学生,这样确保一个学生只会被一个组织录取。至于后面还有几天来筛选重复。感觉基本上没意义。第二阶段一个月的时间,前20天基本结果就能出来了。但不会提前公布。

PS:今年听说一个悲剧的兄弟,从3月份就开始为某个组织贡献代码,天天写,每次commit上去的代码都迅速的被merge了。组织的管理人员也不吭声,反正你提交了代码,合适了我就合并。但最后,23号的时候。该兄弟说,我都写了这么多了,北京时间凌晨3点知道结果,今晚我能提前知道能否入围吗?项目管理人员回了一句:Haha, sorry. 现在看来,这个sorry有两层意思啊。。。(听说的,可能与事实有些出入)。

第三阶段

阅读文档。这有一个月的时间。入围的学生熟悉课题的具体内容,阅读相关代码。和导师进行沟通。这个月是非常重要的,目前来看,CSDN开源夏令营缺少这个阶段。

第四阶段,编码。这个阶段有近两个半月。分两个阶段,其中有个一周的时间用于中期审核。中期审核与CSDN的相同。

最后

8月中旬左右,停笔审核。

更详细精确的日程安排请参考GSoC主页的日程表。

CSDN开源夏令营

CSDN开源夏令营就不细说了,但今年可能是第一年,有点仓促吧。对比一下,6月16日到7月4日,CSDN用这段时间让学生选题并提交开题报告,导师选定学生。但最好腾出一段时间专门用来让学生申请,然后截止申请,让参与的组织闭门选择学生。将这两个阶段放在一起,如果导师看重了某个学生,然后这时候又来了新的学生,且从已有的信息来看,这名新同学更有能力完成这个课题。那导师该怎么选择?

另外,课题冲突怎么解决,多人在不同时间点申请同一个课题怎么解决,同一人申请不同组织下的课题怎么办。和申请截止日期和导师选择学生的截止日期定为同一天基本上是没有意义的。虽然最终,CSDN和组织能解决这些问题,但这些流程都不是很清楚。将阶段细化能解决很多问题。

另外,7月4日学生报名截止,然后7月5日就开始第一阶段的编码了。这是去饭店点菜,点完就要直接吃吗?还是说CSDN对学生有足够的信心?

至于后面的日程安排,都挺合适的。

结语

CSDN作为活动的组织者举办这个活动是非常值得称赞的,希望中国的开源活动能多多进步。也希望国家某一天能大力支持开源活动。另外,小小的一个希望,希望CSDN开源夏令营最终是为开源做活动,不要单纯的成了公司的广告公关会或人才招聘会。