罗盛才
开放源码软件(open-source software,简称开源软件)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用、修改和分发也不受许可证的限制。开源软件通常是有copyright的。与之对应的商业软件(commercial software)是指被作为商品进行交易的软件。从这两种软件的差异进行分析,开源软件更适合使用于学校教育中;基于我国高中信息技术教育现状,选择开源软件主要有以下几方面的优势:
● 培养学生的版权意识
中国计算机软件产业发展艰难,很重要的一个原因是中国的软件市场比较混乱。国人缺乏软件版权意识。这在很大程度上导致了中国软件市场的萎靡,软件从业人员出路艰难,也让中国软件产业的发展受到了阻碍。
作为法制教育的前沿阵地,学校应该建立一个没有盗版软件的、洁净的教育环境。从事信息技术教育这么多年,时常会有学生问我:“老师,您安装的软件是正版的吗?”面对学生这样的问题,你会怎样回答?如果身为学生表率的教师都在使用盗版软件,能够保证教育出来的学生,长大后不使用盗版软件吗?为人师表,我们应该率先拒绝盗版软件。
● 营造一个开放的学习环境
目前我们正在使用的学习环境,大多还是基于商业软件的,并且大部分软件都是微软公司的产品,是在Windows平台上的以微软公司产品为主导的学习环境。我们的学生是从Windows平台中长大的,我们通常说学电脑,实际上就是学习Windows,以及一系列以微软产品为主的商业软件的使用。这存在两个问题:
一是商业软件是封源的。我们的学生从商业软件中学到的只是软件的使用方法,学习到软件的功能;学得再好,他们也只是变成了这些软件更忠实的用户,对这些软件“只知其然,不知其所以然”。当然,我们普及教育的目的只是让学生会用电脑,并不是要把学生都培养成计算机专家。但是我们的高中生中,有很多好奇心很强,希望学到更多的东西,喜欢寻根问底。这样,商业软件就满足不了他们的需要。一个典型的例子,游戏外挂市场的存在,很大程度上是因为游戏玩家沉溺于游戏情节本身以后,为了提升自己的角色,通过外挂的方式来实现。如果我们使用的是开源的游戏,游戏软件的源程序都提供给了玩家,这时游戏玩家如果想要提升自己的角色,直接修改游戏本身就可以了,这样不但外挂失去了市场,同时,游戏情节对玩家的吸引力也会削弱很多。对学生来说,开源软件可以将学生对游戏的沉溺转化为学习的动力。如果学生对某个游戏感兴趣,他也可能感兴趣于该游戏的实现技术,这个时候,学生就可以通过游戏提供的源程序进行学习、研究,从而达提高自己程序设计技术的目的。
二是我们的学生离开Windows系统,依旧是电脑盲一个,十多年的信息技术教育将付诸东流。上海师范大学黎加厚教授在《让开源软件走进学校教育》一文中有这样一段话:
“无独有偶,上海一些公司也急需熟悉开源软件的程序设计人员。我问身边一位熟悉C++教学的青年骨干教师会不会使用Linux、能不能使用开源软件如PHP来设计自己的程序、可不可以为Moodle增加一些功能和插件?看到他困惑的表情,我猛然意识到,整整几代中国计算机人才,从中小学到大学,再到研究生教育,都是在MS Office、VB和C++的教育体系下长大的,对于这个体系以外的东西知之甚少。他们的思路自然也就成为这个系统下面的子系统,无论这些青年学子如何勤奋,他们的创意和设计出来的东西,始终跳不出MS系统教给他们的思路。”
我们并不拒绝Windows,只是想让学生多接触一些优秀的操作环境,让我们的教学内容多元化。事实上,很多高中生在初中甚至在小学都已经接触过信息技术这门课。而我们的信息技术教材,各学段都基本上毫无例外地在介绍Windows、MS Office等一系列微软的产品,内容没有多大变化,只是介绍的深度不断增加。这使他们认为信息技术课本上的东西“以前都学过”,从而使信息技术这门课在他们眼里失去了新鲜感。如果我们能够让学生接触开源操作环境,这样既保持了信息技术课在高中学生眼里的新鲜感,扩大了学生的视野,还能让学生将不同的操作环境进行对比,作出客观的评价,选择最适合自己的环境。
● 信息安全的需要
笔者使用开源系统六年多来,虽然没有安装任何杀毒软件,但系统从未感染过病毒,也没有出现过其他安全问题。开源软件为用户提供了更加安全的使用环境。以开源操作系统Linux为例,区别于商业软件的特点,决定了Linux的安全性更高。
1.优越的开放源码构架决定了Linux更安全
开放源代码意味着,任何可能的软件漏洞都将被“无数双眼睛”所看到,并且得到尽可能快的修复;同时,在这里没有任何被隐藏的修复措施。作为用户,只要你有心,就可以找出自己系统所存在的安全问题,并采取相应的防范措施以应对潜在的安全威胁。而商业软件与之不同,当软件公司发现自己的软件存在漏洞时,出于对商业机密的保护,他们是不会将漏洞向外界公布的,他们只会在下一个更新升级包中对发现的漏洞默默地进行修补。这种做法蒙蔽了用户的双眼。由此所导致的结果是,用户很可能会因为不了解系统漏洞而不去进行系统升级。另一方面,Linux作为一个开源操作系统,是由全世界顶级的程序员共同开发和维护的。从技术力量上来看,仅由微软一个公司开发和维护的Windows系统是没办法和它相比的。
2.健全的系统设计思想决定了Linux更安全
首先,Linux和Windows在设计上就存在哲学性的区别。Windows操作系统倾向于将更多的功能集成到系统内部,并将程序与内核相结合;而Linux不同于Windows,它的内核空间与用户空间有着明显的界限。其次,Windows的许多应用程序依靠远程程序调用。远程程序调用是计算机内部通信的一种方式,通信通路的分配是主动的、无法预知的。与限制使用远程程序调用的Linux相比,这种方式将迫使Windows的防火墙没有Linux那样严格。最后,开发人员要创建一种简单易用的软件的愿望也是Windows受到影响的一个原因。Windows易学易用的目的达到了,但是,其代价是牺牲了软件的安全性。设计思想上的差别决定了Linux的安全性更高。
3.卓越的补丁管理工具决定了Linux更安全
在Windows系统中,自动更新程序只会升级微软公司官方提供的组件,并不会对第三方应用程序进行更新。第三方应用程序可能会给系统带来大量的安全隐患。为了保障系统的安全,对于电脑上所有的第三方应用程序,用户都必须定期地对每一款应用程序单独进行更新升级。这种方法非常繁琐,让人心烦,因此,绝大多数用户很容易将这项工作忘到九霄云外。在Linux系统中,当你在自动更新系统的时候,它将同时升级系统中所有的软件。这样的设计,极大地提高了用户实时更新系统的积极性,保障了系统的安全。
4.健壮的系统默认设置决定了Linux更安全
Linux系统天生就被设计成一个多用户的操作系统,因此,即便是某个用户想要进行恶意破坏,底层系统文件依然会受到保护。假如有远程的恶意代码在系统中被执行了,它所带来的危害也将被局限在一个小小的局部之中,系统主体安全不会受到影响。与之形成鲜明对比的是微软的Windows XP系统。在这里,默认状态下用户会以系统管理员的身份登录,而在系统中所发生的任何损害,都会迅速蔓延到整个系统。另外,很多第三方Windows应用程序经常需要管理员权限才能正确运行。通过这些应用程序发起的病毒攻击的破坏性是很大的。Linux应用程序通常都遵守用户安全规则,因此很少被攻击者利用。
微软十年养鱼一朝收网,“黑屏”事件为中国软件产业鸣响了警钟。教育培养开源软件人才事关国家软件产业前途。2007年,我国开放源代码高校推进联盟(LUPA)已经获得教育部批准,成为国内惟一的教育部开源软件实训基地。不久的将来,我国的开源人才将成为维护信息安全的主力军。
● 缓解经费不足的问题
在普及信息技术教育的过程中,很多中学都面临资金投入不足的问题。在发达地区,虽然有些学校在信息化方面确实投入了大量的资金,购置了足够的计算机设备,但都只限于硬件的采购。事实上计算机的成本包含硬件成本和软件成本两个方面。
根据高中信息技术课教学的需要,学生计算机教室需要安装的软件除了操作系统和办公软件外,图像处理、声音处理、视频处理等相关专业软件也是必须的。如果选择Windows XP等商业软件作为教学平台,那么,用于软件的投入将远远高于硬件本身,这笔投入对于很多学校来说是不可承受的。
开源系统发展到今天,各方面的应用软件都已经非常齐全。高中信息技术课现在普遍用到的各种软件在开源环境下都可以找到相应的替代产品,并且都是免费的。如果选择开源环境作为教学平台,那么计算机设备的软件成本将变为零,这样就极大地缓解了很多学校信息技术教育资金投入不足的问题。
七嘴八舌热议进行时:
邱元阳
河南省安阳县职业中专
开源软件并非一个新名词。其最早的历史可以追溯到1968年,即使是这一名词的提出,在1997年也就已经在加利福尼亚的自由软件社团里产生。
为了用一种可靠的方式确定一个软件是否真正是开放源代码软件,OSI为此注册了一个认证标志OSI Certified,用来标志某个软件是否服从开放源代码的定义。
开源软件发展迅猛,并已经有了不少的成功案例。红旗中文的胡才勇在2008年的“开放环境与开源软件生态链”论坛中就曾提到,从应用和技术角度而不是商业角度来看,其实开源软件是成功的,几乎所有的大型软件均采用了开源技术,70%的互联网技术来自于开源社区。Google的出现也是一个典型,它的发展就得益于全盘采用开源技术,以提供服务作为赢利模式,可以说Google全面演绎了开源软件的服务精髓。
软件开放源代码使得软件得以完善和发展,也给了更多人学习的机会,可以说是一种双赢。在开源软件的潮流之下,微软也开始妥协,Office软件的文档格式等技术资料均已全部公开。
需要说明的是,开源软件(Open Source Software)不一定是免费的,自由软件(Free Software)也不一定是免费的。当然,有些软件可能卖的是服务。
从经济条件和运行成本等方面考虑,其实很多时候,我们需要的是免费软件(Freeware),或共享软件(Shareware)。在高中信息技术教学中,注重开源软件的使用是认识上的一个进步,很多时候我们需要跳出现有系统的束缚来进行思考。当移动设备日益普及的时候,将移动APP开发引入高中信息技术中都不为过。
无论是开源软件,共享软件,免费软件,它们都是有版权的,并非可以以各种方式随意使用甚至篡改。在软件开源的趋势下,开源、共享、自由,正成为一种呼声和需求,并推动着技术的进步。
刘树明
广东省深圳市第二实验学校
开源是一种文化,它不单单局限于软件行业,其共享、自由的精神已经渗透到信息、教育、健康等领域,这种人人为我、我为人人、互助协作的精神已经融入了哲学范畴。我们作为一线的教育工作者,应该培养学生具备一种开源意识,起码有义务让他们知道世界上存在开源这样的一种东西。
在信息技术知识与技术的教学方面,我们在教学中应该淡化针对具体的某种软件的依赖。文字处理软件不应该只介绍Word;操作系统因为学生对Windows基本上都比较熟悉,我们可以压根不讲Windows,可以介绍一两种Linux,鼓励学生触类旁通、举一反三;浏览器可以不介绍IE;图形处理软件除了Photoshop还可以介绍一下GIMP。这点在新课改环境下的信息技术教材中也渐渐得到了一定程度的体现。作为教师的我们,就应该让学生体验各种应用软件,各种软件都应当让我们的学生去见识见识,能够驾驭各种平台、软件,这本身也是信息技术素养的一种指标,就像一名合格的司机,他不应该只会开宝马,遇到一辆奔驰就傻眼了。同时在信息技术知识与技能的相关考核方面,也应该跳出特定软件的限制。
如果在实际的教学活动中广泛引入开源软件,首先我们自身对开源软件的运用水平也需要进一步提高。有相当一部分信息技术教师对Linux/Unix等操作系统不甚熟悉,对源代码形式提供的软件也无法编译、安装使用,更不用说对相关代码进行适合自己特定要求的二次开发了。开源软件在国内普及程度不高一定程度上也是受到了我们一线老师的软件应用水平的影响。
教学活动中可以因材施教实行差别化教学。对于水平较高的学生(如有一定编程特长的学生),可以引导他们深入研究一些知名(比如国内的开源PHP建站系统Discuz! X)或者不知名的小型开源项目。知名开源项目的优点是可以在网上找到非常丰富的教程便于学习研究,但缺点是一般这类开源项目都相对比较复杂,初学者难以对它们进行修改和二次开发。小型开源项目的优缺点正好相反。有能力的学生也可以鼓励他们做一些自己的开源项目,培养他们的创新思维和创造能力。著名的开源代码托管平台有谷歌代码(code.google.com),Github(github.com)等。