基于开源软件的高校协作初探——以Sakai为例

2015-12-02 03:00
关键词:复旦大学开源协作

高 珺

(1.复旦大学校园信息化办公室,上海 200433;2.复旦大学计算机科学技术学院,上海 200433)

1 背 景

1.1 业务需求

随着信息技术的发展,以及高校对于信息化工作的逐步重视.目前,许多高校都在进行大规模的信息化建设.对于部分起步较早的高校而言,以及开始进入开发、维护、升级并举的阶段.

在进行相关工作时,在软件层面,开发的模式无非分为自主开发和采购这两种基本形式,其中自主开发又包括完全自主开发和基于开源软件的二次开发;采购又分为直接采购产品和定制开发.

就高校的需求而言,可以发现,有不少业务的需求是大相似、小不同.例如网络教学平台,绝大多数的功能(例如发布课件、布置作业、进行在线考试等)是几乎所有高校都需要的功能,而与校内其它系统(如统一身份认证、学工系统、人事系统、教务系统等)的集成,则是每个学校都会有各自的需求.在这种情况下,自主开发需要耗费大量的人力;直接采购产品不能完全满足特殊的需求;定制开发则需要耗费大量的信息化经费.

因此,在建设高校具有普遍需求的业务系统时,我们希望探索出一套以高校协作为基础、以开源软件为依托的开发模式.

1.2 解决方案

开源软件经过几十年的发展,已经成为信息技术的重要组成部分,并且在众多关键领域发挥着不可替代的作用.基于开源软件的免费与开放性,开发者可以根据自己的需求以非常低的成本进行相应的定制开发.

本文中,将以网络教学平台作为实际案例,以Sakai作为具体的协作开发的基础.通过进行国内、国际的协作,在减少了高校人力、财力投入的基础上,提供完善、先进的网络教学平台.

2 复旦大学的探索

2.1 早期自主开发

复旦大学自2003年开始自主开发了网络教学平台VCampus,至2011年上半年,累计开设了3 000门次课程,累计使用人数超过5万人,储存了550G课程数据.在此期间,复旦大学信息办组织了大量人力对VCampus进行了4次较大规模的升级[1].但随着信息技术发展以及升级难度提高,越来越难以应对教师、学生日益增长的需求.于是,在2010年复旦大学开始寻求基于开源软件的解决方案.

2.2 部署Sakai

在经过了细致广泛的调研,以及对兄弟院校的走访,复旦大学最终确定选用开源软件Sakai作为下一代网络教学平台eLearning的基础.

Sakai是由印第安纳大学、麻省理工学院、斯坦福大学、密西根大学于2004年在Mellon基金会的赞助下共同开发的网络教学平台,目前在世界范围内被广泛使用,在一流高校中的应用尤为普遍.

经过一个暑假的集中开发,复旦大学完成了eLearning与校内系统的集成,并根据中国的实际情况,对系统进行了相应的调整.通过一个学期的试运行,于2011年春季学期正式取代VCampus系统.截至2014年春季学期,在没有任何奖惩措施的情况下,累计超过5 000个教学班使用eLearning作为教学辅助手段;在最近一年中,超过20%的班级使用了eLearning,并且这个数据还在持续增长中;每个学期中的访问人次超过100万人次,约有80%的本科生至少使用过一次.

eLearning系统对于师生的网络教学平台的需求提供了有力的支持,并获得了师生的良好反馈[2].

表1 复旦大学eLearning系统课程开设情况

2.3 发布共享版

复旦大学在部署、使用Sakai的过程中,积累了大量的经验,并且结合中国的实际情况,进行了大量的改进,完成了大量的翻译工作.

Sakai官方版使用Subversion进行版本控制.作为一种集中式的版本控制系统,Subversion并不能完全满足高校结合自身情况进行自定义开发的需要.尤其是在官方版升级时,如何处理自身的修改和官方版升级的问题,将会给部署高校带来很大困难.为解决这个问题,复旦大学使用分布式版本控制软件Mercurial进行管理,较好地解决了这个问题.

在复旦大学部署Sakai之后,有多所高校前来调研相关情况,并表达了部署Sakai的意愿.为了避免其它高校重复复旦大学已经完成的工作,复旦大学于2012年,在把与自身业务系统紧密相关的代码剥离后,将相关工作进行开源,发布了Sakai共享版[http://sakai.fudan.edu.cn],供其它高校使用,来降低其它高校的部署难度[3].

3 国内协作

3.1 Sakai在中国的早期应用

Sakai官方版最早发布于2004年,而在不晚于2005年,国内高校已经开始关注Sakai系统.其中,华中师范大学曾经在2008年于武汉组织了首届Sakai中国日活动.此外,中国科学院研究生院、北京邮电大学、华东师范大学、上海交通大学密西根学院都不同程度使用了Sakai系统,但影响力有限.

在这些早期尝试Sakai的高校中,主要存在以下几个问题:

(1)各自为政,缺乏交流,导致许多原本可以协作的工作被重复进行.

(2)将Sakai作为一个教育技术学的研究对象,而不是作为一个日常辅助教学的工具.

(3)没有处理好本地修订和官方升级之间的代码关系,导致版本陈旧.

(4)与国际社区缺乏交流,即使对Sakai进行了相应的修订,也很少反馈国际社区.

在2014年举行的Open Apereo年会(原Sakai年会)中,Apereo基金会主席Ian Dolphin在报告中提到Sakai中国社区近期发展的同时,也提到在2012年以前,几乎没有注意到Sakai中国社区的存在.

这种高校独立工作的模式,导致Sakai在中国高校中的应用推广非常缓慢,也加重了部署高校的工作量.

3.2 四校高教学会信息化分会课题

为了汇集更多高校的力量来完成共同的目标,2012年,复旦大学、重庆大学、西南大学、大连海事大学开始了中国高等教育学会教育信息化分会的课题《基于开源软件的网络教学平台开发与推广》.

四所高校通过各种交流方式,在版本控制、业务推广、协调开发、文档翻译、故障修复等方面进行了紧密的合作.通过协作,减少了各个高校的工作量、提升了工作效果.本课题目前已解题,并顺利通过验收.

3.3 更广泛的合作

在复旦大学发布了Sakai共享版之后,尤其是四校协作正式开始以后,越来越多的高校加入到了合作的队伍中.以Sakai共享版网站为基础,结合QQ群等社交工具,目前有近40所高校参与了Sakai相关的讨论,超过20所部署了Sakai,近10所参与了共享版的相关工作.

在合作的方式方面,各高校都有自身的特点,并不要求所有高校都加入到具体的开发工作中来.各高校可以根据自己的实际情况参与到协作中来,这些参与活动包括:

(1)首先就是部署并使用,增加Sakai的影响力和用户群;

(2)在使用过程中,将遇到的问题汇报出来;

(3)解决使用过程中发现的问题;

(4)改进Sakai中的页面文字或者帮助文档;

(5)分享在师生中的推广策略、培训文档等.

在线下交流方面,在各地累计进行了十几次研讨会、讨论会,分享各自学校在开发、部署、推广方面的经验.其中以《2013 Sakai应用与开发研讨会》和《2014年高校信息化开源软件开发与应用研讨会》参与人数最多,影响最大.

通过协作,原先很难通过一所高校开展的工作现在得以展开.例如,在最新版本的Sakai 10中,用户帮助文档的设计、发布模式发生根本性改变.直接导致官方版的Sakai 10.0在发布时,只有英文版的帮助文档.目前,国内社区正通过分工合作,已有近10所高校参与到翻译工作中来.现在,简体中文是唯一的非英语帮助文档语种.

3.4 共享版的影响

经过各高校的协力合作,共享版在国内Sakai社区的影响力越来越大.由于其在翻译完整性、及时性,对中国特有应用场景更好的支持,在国内的部署中已经超过了Sakai官方版的影响力.主要表现在以下方面:

(1)对于独立新部署Sakai的高校,多数直接采用共享版进行部署;

(2)对于通过商业公司进行新部署的Sakai高校,几乎全部使用共享版进行部署;

(3)部分此前由商业公司支持部署的Sakai高校,许多已经开始向共享版进行迁移.

4 国际协作

4.1 与Sakai国际社区协作

在复旦大学的早期实践中,每当官方版本升级后,本地部署的Sakai应用就会面临大量的代码合并操作.虽然,通过采用分布式版本控制软件Mercurial减轻了很多工作量,但随着本地修改的内容日益增多,代码合并工作所消耗的人力也成比例增加.要解决这个问题,就需要融入国际社区,将本地修改汇总到官方版的代码中,如此才能减少合并中的代码冲突.

共享版在协作的过程中,将具有普适性的补丁以及相应的翻译积极反馈给国际社区,目前已提交了超过200个补丁,为Sakai的发展做出了中国社区的贡献.其中,简体中文翻译的覆盖度目前处于Sakai支持的十几种语言的前列.相关的关系如下图所示:

图1 复旦大学与Sakai社区的关系

在2014年的Apereo年会中,Sakai中国社区共有3所高校代表参会,并结合中国的情况,做了2个报告,让国际社区了解中国社区的发展历程和现状.在与会期间,积极与来自世界各地的同行进行交流,取长补短.

Sakai社区在每周四有一次Team Call,用于讨论近期发现的一些问题以及近期的工作目标.复旦大学也开始积极参加此活动,增强Sakai中国社区在国际社区中的声音.

在Sakai的官方文档库中,业已开设了Sakai中国社区的主题.其中的内容正在不断完善,便于今后中国区Sakai新用户参考、部署.

基于复旦大学对Sakai社区的积极贡献,Sakai社区将复旦大学列入最新版的Sakai 10的致谢名单中,肯定了我们的工作.

4.2 与其它Sakai地区社区协作

除了以英语国家为主导的国际社区外,Sakai在世界范围内还存在一些类似中国社区这样的地区性社区.这些社区在Sakai方面的工作有不少值得我们学习的地方,例如国际化支持、第三方系统集成等等.尤其是在国际化支持方面,相对国际社区,与地区社区的交流能够产生更多共鸣.

与Sakai西班牙社区协作.Sakai西班牙社区的高校与商业公司协作,为Sakai贡献了西班牙语、加泰罗尼亚语、巴斯克语3个语种的翻译.西班牙社区在与国际社区的互动中,发现以英语国家为主导的国际社区在解决国际化相关问题时响应缓慢,在这点上与中国社区的感受类似.目前,中国社区和西班牙社区在每周例行的Sakai Team Call中互相支持,增强对于国际化支持的声音.

与Sakai日本社区协作.由于同处于东亚文化圈、都在应用中大量使用汉字,中国社区和日本社区共同面临很多特有问题,而且这些问题往往是欧美国家开发者不曾考虑过的问题.例如:对于姓名显示顺序问题,只有东亚地区是以先姓后名的方式排列,其它地区都是以先名后姓的方式排列.对于这样的问题,可能也只有东亚用户可以发现并提出解决方案.在交流中,京都大学的同行甚至提出了合作推出Sakai东亚版的想法.

5 存在的问题

虽然国内高校在Sakai上的协作已经取得了不少成果,但依旧存在一些亟待解决的问题.如果对这些问题视而不见,将会对Sakai今后在中国的发展造成很大影响.包括:

5.1 乐于索取,惰于贡献

很多高校对于部署Sakai的意愿很高,但是在完成Sakai部署后,却很少将自己的一些经验、改进贡献出来.其中固然有存在担心自己的补丁质量不高的情况,但分享之后才有可能用更好代码替代自己实现的可能.

对于商业公司,这一点尤为突出.目前,由公司使用共享版部署的Sakai应用已经不少,但还没有任何商业公司向共享版反馈过补丁.相对于国际社区中高校与公司协作开发的模式,国内公司在这方面的共赢意识依旧不足.

5.2 管理方面的矛盾

自2013年以来,MOOC概念席卷中国,许多学校在不同平台上都开设了自己的MOOC课程.相较于动辄每门几十万上百万的MOOC课程,鲜有高校领导愿意投入相应的资源到开源网络教学平台.即使MOOC课程对于学校课程的覆盖面不超过1%,而网络教学平台可以服务于其它99%以上的额课程.

对于网络教学平台这样的系统,从部门分工角度来看,最为理想的情况应该是由教务部门和信息化部门合作进行.而实际情况来看,这样的合作非常鲜见.教务部门缺乏相关技术知识,可能没有意识到相关系统对于辅助教学的重要性.有些学校迫于各方压力,在没有校内网络教学平台的情况下就急于推出MOOC课程,由此可见一斑.而信息化部门在没有教务部门的配合下,也很难有效地推广系统的使用.

另外还有人员问题,由于目前高校信息化工作人员的待遇与校外同行差距很大,一定程度上导致人员逆淘汰,难以留住高技术人才;而对于Sakai这样的开源软件,往往要求开发人员拥有很强的自学能力、编程能力.而参与协作,需要工作人员付出更多的时间和精力,这也影响了一些工作人员的参与积极性.

6 结束语

通过在Sakai系统上的协作,以复旦大学为首的国内高校对基于开源软件的高校协作进行了初步尝试.从实践上证明这种模式可以提高系统部署速度,提升软件性能、降低成本.在协作的过程中也遇到了一些困难,希望能够通过继续努力,逐步解决困难,继续推动开源软件在国内高校中的使用,以协作的方式提升使用开源软件的效能.

[1] 高珺,张计龙,高峰,等,高校信息系统建设中的兼容性和可移植性策略研究[J].中山大学学报,2009,S1:104-107.

[2] 高珺.以Sakai设计网络教学平台[J].中国教育网络,2013(5):62-64.

[3] 高珺,宓詠.基于开源软件的高校网络教学平台建设与推广[J].武汉大学学报,2012,S1:271-276.

猜你喜欢
复旦大学开源协作
团结协作成功易
五毛钱能买多少头牛
2019开源杰出贡献奖
监督桥 沟通桥 协作桥
狼|团结协作的草原之王
复旦大学附属中山医院整形外科简介
复旦大学附属中山医院整形外科简介
协作
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0