注:写这篇文章时我并未參加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开源夏令营终于是为开源做活动,不要单纯的成了公司的广告公关会或人才招聘会。

值得赞扬的尝试与进步——CSDN开源夏令营第一印象的更多相关文章

  1. csdn开源夏令营-ospaf中期报告

    1.背景         随着将中期的代码托管到CSDN的平台上,ospaf(开源项目成熟度分析工具)已经有了小小的雏形.当然还远远不够.       首先还是要感谢这次活动组织方CSDN,感觉挺有G ...

  2. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之compiz特效插件介绍及特效实现

    compiz自带的特效插件不够多,也不够强大.为了更好的体验compiz的特效,我们能够安装特效插件,在终端输入命令:sudo apt-get install compiz-plugins就能够下载特 ...

  3. CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析

    ECharts问题描写叙述: 问题就是折线图上的点是显示的,有人问能不能一開始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示? 例如以下图所看到的: 分析:让折线上的点不显示能够 ...

  4. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之编译compiz源代码

    在開始介绍之前先吐个嘈:上周我们暑期ACM集训開始了.平均下来基本上是一天一赛.有时还不止.又是多校联赛,又是CodeForces,又是TopCoder.又是BestCoder,又是AcDream.还 ...

  5. CSDN开源夏令营 百度数据可视化实践 ECharts(8)

    (1)前言 首先谢谢林峰老师,继续接着第七篇提到的内容.CSS布局确实非常累,感觉不好看了就的调整,总的看起来的高大上嘛.好了废话不再多说.今天主要就先解说一个页面的内容,对于CSS布局后面讲会具体的 ...

  6. CSDN开源夏令营 百度数据可视化实践 ECharts(4)

    ECharts知识点总结: 在应用过程中总会遇到一些难以理解的概念和属性,这里就总结了一下比較难的知识点,方便理解概念.进而更好的掌握ECharts. (1)1.  一个完整的option包括什么?能 ...

  7. CSDN开源夏令营 基于Compiz的switcher插件设计与实现之前期准备 git的简单使用

    因为项目的代码须要上传到git上.就须要学习一下git的使用了. 我初步接触了一下git,准备用此帖来记录git的学习,此帖会随着我对git了解的深入动态更新. 一.GIT的介绍 1.概述:git是一 ...

  8. Android开发UI之开源项目第一篇——个性化控件(View)篇

    原文:http://blog.csdn.net/java886o/article/details/24355907 本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍A ...

  9. Android开源项目第一篇——个性化控件(View)篇

    本文为那些不错的Android开源项目第一篇——个性化控件(View)篇,主要介绍Android上那些不错个性化的View,包括ListView.ActionBar.Menu.ViewPager.Ga ...

随机推荐

  1. AWS之EC2远程登录

    网上有丰富的免费资源,Amazon的云主机就是开发者和学习者很好的选择. 但你得有一张信用卡,注册个AWS(Amazon web service)账号,就可以有自己公网ip的服务器了!!! 最近在折腾 ...

  2. Oracle EBS-SQL (BOM-8):检查物料属性(无采购员).sql

    select       msi.segment1                                  物料编码,       msi.DESCRIPTION               ...

  3. Android开发:自定义GridView/ListView数据源

    http://mobile.51cto.com/android-259861.htm 在开发中,我们常常会遇到比较复杂的GridView/ListView的布局,重新实现BaseAdapter不但能帮 ...

  4. linux系统的性能问题排除分析

    需要结合sar和top进行检查. top下关注load,%wa,%idle等 sar -u -o cpureport 10 3 每10秒采集3次 放在同目录下的文件cpureport 里 检查io s ...

  5. Android基础之CountDownTimer 倒计时类

    app常用的60s倒计时计时功能: private static final int TIME_LIMIT = 60; private void initView() { // 相关控件 mResen ...

  6. getopt()函数

    在讨论这个函数之前我们先理解两个概念:选项及其参数 gcc -o program program.c 在上述命令中 -o 就是其选项 program就是参数. getopt(): 头文件: #incl ...

  7. 关于new 和delete

    这是百度知道上的答案,感觉讲的很生动形象,接下来要搞清楚的是new是关键字还是函数,new可以重载吗? 你想弄懂这个问题,首先你要弄清楚数据的3种存储方式. 1.静态区: 全局变量. 2.堆: 程序执 ...

  8. Java学习之道:Java项目打包发布

    Java项目打包发布 如果只想发布为一个可执行的jar包,使用eclipse的Export功能就可以了 使用eclipse的Export功能,将项目中的所有package打包为一个pet.jar文件, ...

  9. Android checkBox

    checkBox      状态:选中(true),未选中(false)      属性:           checked="true/false"; private Chec ...

  10. nginx的配置说明

    #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_processes 8; #全局错误日志定义类型,[ debug | in ...