南宁职业技术学院信息工程学院 邓志龙 曹 侃
开源软件(Open source software简称OSS)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。经过二十多年的发展,开源软件,在操作系统、编译工具链、数据库、WEB服务器、移动操作系统等各个方面已经成为主流。已经成为一股推进计算机及相关行业不停进步的巨大力量。开源软件已经渗透到了我们日常生活的方方面面。
开源软件的起源于上世纪70年代的黑客文化。因为黑客文化的信仰:最大化的使计算机的运用和信息的获取成为免费的和公开的理念与开源软件的思想一致。美国国家工程院院士Richardstallman在1984年建立一个类似于UNIX的操作系统GUN(全称是“GNU’s Not Unix!”),这个系统致力于供一个如Unix的完全由“自由软件”组成的操作系统,并通过GPL协议来保障这些软件能够永久被人们所免费享用和自由地修改发布。自此揭开了开源运动的序幕。之后,Stallman用一年的时间完成了GNU软件--GNU EMACS,其为一个编辑器,类似于一种集成开发环境。EMACS具有强大的功能,且允许自由的分发复制,EMACS迅速传播,并且一些人开台对EMACS添加新功能、修补错误。这样EMACS日益完善,其得到了巨大的成功。
1985年,Stallman成立了一个基金会:FSF(Free Software Foundation,自由软件基金会)为开发GNU项目筹集资金。
1985年9月,著名的GNU宣言发表,在宣言中Stallman对于GNU计划作了更详细的阐述。
1989年,Stallman组织起草了GNU通用公共协议证书,创造性地提出了”反版权”或”版权属左”,copyleft的概念。同时,GNU项目中的GNU的C编译器,以其优越的性能和自由的特点,获得了巨大的成功。
1991年,芬兰大学生Linus Benedict Torvalds在GNU GPL条例下发布了他自己创作的操作系统内核,该操作系统内核被命名为GNU/Linux或简称Linux。从此自由软件运动声明远扬。
1997年,美国电脑黑客Eric Steven Raymond在《大教堂与市集》(The Cathedral and the Bazaar)一文中首先提出了开放源代码软件这个概念,并用了一系列的论文加以描述和讨论。
1998年1月,Netscape公司宣布将它的Netscape浏览器开放源代码。
1998年2月,Raymond成立了开放源代码促进会,提供开放源代码的定义与认证。
1998年8月微软意识到要应对开放源代码运动对自己的冲击,使其工程师编写了著名的万圣节文档。而后,这份文档被泄漏并公开。该文档描述了微软对付Linux和其他开放源码计划的卑鄙手段和险恶用心,整个世界一片哗然。
1999年,Sun、HP、IBM、SAP等公司宣布开始使用或销售Linux。大公司开始加入到Oss运动中。开放源代码软件运动开始兴起,并在近十几年内得到了巨大的发展。
国内开源软件的发展起始于1997年前后。在当时,,清华大学在中国第一个(局部)互联网(CERNET)刚刚诞生不久,建立了著名水木清华BBS,其就是开源软件。自那之后,Linux内核以及GNU项目中的成百上千个开源软件突然展现在国人的面前。
中国最初由国人开发的开源软件,主要解决的是Linux系统的汉化问题,流传最为广泛的应该是可以显示和输入中文的伪终端应用程序CCE。
1998年之后出现了三个具有影响力的开源软件:
1)LVS(Linux Virtual Server),被Linux内核收录,成为使用Linux操作系统搭建集群服务器的重要核心软件组件。
2)Smart Boot Manager,是一种引导管理器,类似现在流行的GRUB,主要解决引导多种操作系统的问题。苏哲后来主持开发的SCIM系统,被各种流行的Linux发行版收录,成为了Linux操作系统上提供多语种输入法支持的标准框架。
3)MiniGUI,在功能手机、数码相框、工业控制系统和工业仪表中得到了广泛应用。
但2000年后,一段时间内,国内开源软件的发展长期处于停滞状态,这和左右DotCOM泡沫的破裂有一定的关系。
开源软件思想文化没有因为Linux发行版厂商的商业化遇阻而停止发展,Linux内核、GNU项目、GNOME和KDE等等软件继续向前发展。同时,2005年后,又出现了如下在当前IT领域有着举足轻重影响力的几款开源软件:
1)Mozilla基金会以及FireFox浏览器。Mozilla公司通过FireFox浏览器获得了来自谷歌等公司的大量合作收入,从而实践了没有赞助也能自负盈亏的商业模式。
2)WebKit浏览器引擎。WebKit浏览器是苹果Safari浏览器、谷歌Chrome浏览器使用的浏览器核心引擎。WebKit其实是由苹果公司发起的开源项目,在早期KDE系统的KHTML和KJS两个子系统基础上发展而来。
3)谷歌的A n d r o i d操作系统。Android操作系统的上层虽然是虚拟机和Java应用,但底层却使用了大量开源软件,如Linux内核、SQLite内嵌式数据库、FreeType矢量字体渲染库等等。
从2005年起,开源软件的发展从一个低谷重新引来了发展的高潮。这次的发展以大型IT企业为主导。在此期间,国内也出现了为数不多的一些开源软件项目,其中以清华大学陈渝副教授主持的SkyEye最具代表性。RedHat以及国内的红旗等公司,也开始通过提供针对服务器的Linux定制版本而获得可观收入,之后,Ubuntu这一在桌面系统上广泛应用的Linux发行版也实践了其成功的商业模式,占据了绝大部分Linux桌面发行版的市场份额。
2008年金融危机后,传统企业为了降低IT的总拥有成本逐步使用Linux和开源软件,尤其是金融企业,世界上主要证券交易所如纽约交易所、NASDAQ、东京交易所、伦敦交易所等先后迁移到Linux。这标志着开源软件进入了不可逆转的发展通道。
开源软件由于具有创新能力分享、风险均摊,强大的统一性、可以保证软件信用、软件质量、透明度与安全性等特点得到了迅速的推广与发展。如在开源操作系统方面:Redhad、Linux、Ubuntu、Slackware、SUSE、BSD、NetBSD、FreeBSD、OpenBSD、BSD+System V、OpenSolaris、Symbian OS等;在协议基础方面:TCP/IP Suite、CORBA、DCOM、RMI、XSTP、OSI等;
开源软件语言如HTML、CSS、XML、C/C++、XSL、TCL、PHP、JavaScript、Perl、Python、Java等。
目前开源软件在服务器端,Linux已成为事实上的主流操作系统,Linux在金融、电信及石油勘探等高端市场的核心业务得到了大规模的应用。在全球金融危机背景下,开源软件将获得更多的市场机会。2008年末在全球经济衰退的形势下,以美国为首的各国政府纷纷推出开源政策,降低成本减少开支。OSS解决方案成为各国政府所有电子政务的主流和趋势。在美国,是风险投资驱动开源软件业务的发展。美国已有一个很大的、成功的私有软件业务,美国的目标是建立下一代的软件公司。在欧洲以建立本地的软件产业愿望的促进下,为开源软件提供了更多的动力和机会。在中国,政府希望建立本地的软件产业,这不仅是发展经济的要求,而且更是保障信息安全的要求,所以,中国比欧洲有更大的动力发展软件产业,这是中国采纳开源软件的主要动力。
目前开源软件的运用,正逐渐在移动应用软件的发展开源的智能手机操作系统平台取得主导地位。这处发展对第三方开发者、手机制造商和用户强烈具有强大的吸引力,并引起了强烈的关注。开发者可以开发并修改应用程序,很方便测试自己的软件,这样有利于壮大开发力量,发展开源生态系统和扩大用户群。开放源代码的使用将是极大的提高软件开发效率的关键。在现如今的软件开发环境中,很少有程序员是完全从头开始一个项目。现有开源组件、方法、类和算法不胜枚举。开源程序及项目多达30万种,可以站进行下载,这些开源软件组件,能够有效降低软件开发成本,避免资源浪费。但更重要的是,开源软件具有很高的灵活性和敏捷性。
随着云计算及服务的发展,开源软件也将得到了推广和发展。云计算将是让面向开源软件的企业实现盈利的最佳方式。开源软件向客户提供了一种方便的绿色通道,帮助他们低成本。对于那些认为开源软件风险太大的客户来说,云计算可以打消他们的顾虑。云计算也是开始高效且低成本方式。开源企业的发展之道将在于客户端部署开源软件和云计算的结合上,这可能会被证明是一种强有力的融合。
开源的真谛为自由、开放。这种开源的思想之下,开源在也影响了IT之外的其它领域,并也从中得到了发展。
维基百科与国内百度的百度百科是两个重要的开源的杰出之作。特别是维基百科已经享誉全球,甚至很多人在撰写自己的文章时,都把它作为一个真正的官方百科全书来使用。它调动了最广大的网民的群体智慧来参与词条的编写这本内容超级丰富的百科全书,所有人都可以对其进行编辑,评论,并且在一整套完整的科学的规范系统的保障下,使得百科全书的编缉井井有条,内容的质量也得到了相当的保障。
译言网现在已经成为中国翻译界最好的网站之一。它的成功也是秉承社会化协作精神,掀起了翻译热潮,极大的激发出浏览和翻译外国文化的兴趣。在积累了极大的阅读用户以及翻译用户的基础上,译文网很成功的将这种社会化协作模式向商业靠拢,显示了具大的商业前景。
开源技术在IT业界风声水起蔚然成长,包括Microsoft、SUN、IBM都加入到开源技术的阵营。在探讨自动化的发展时,大家讨论到标准之争,然而从IT和通信业的发展来看,开放才能赢得未来,这已经是不争的事实。自动化业相对于IT和通信业来说比较封闭,各家为了自身的利益而不愿意开放,使得最为开放的Ethernet技术取得了先机,Ethernet技术正在蓬勃发展,来自各咨询机构的调研显示,Ethernet技术正在以接近50%的占有率领先于各种总线技术,而CAN,Mudbugs之所以能够取得发展完全得益于其开放性。目前开源技术(OpensourceTechnology)正在蓬勃发展,包括Opensource的RT-Linux可以应用于DCS、数控系统、嵌入式运动控制器、PLC、专用型控制系统,作为其开发与操作平台,开源的实时通信技术POWERLINK、开源的诊断软件、测试软件、甚至开源的PLC软件平台,这些开源软件都可以提供构建整个控制系统产品包括HMI、PLC、Motion、I/O、Communication的产品运行和应用平台,经过适当的裁剪来构成系统。
开源的思想延伸到了各个行业,现在已不在是软件的事情。只要能够理解开源的核心理念,并加以适应的变化,就能将它发扬光大到行行业来。有一个例子,在网上有一个“开源汽车”的项目。他依照着软件中的开源方式,在网络上集合世界各地的人参与其中,来制造一辆“无国界”的便宜易用的汽车。这个项目虽然还没有相关实现的报道。但网上已经集结了几百万篇相关的内容。开源应用范围其实很广,包括一些电子产品的开源,如MP3、手机、电脑主板等。还如日常生活中的时钟、唱片机、创意家具、玩具等。
从未来的发展来看,开源之势已不可阻档!关键是如何利用开源技术,这是一个值得探讨的话题.开源技术能够给各领域带来很多有益的尝试,在获得自主知识产权产品的角度来看,开源技术无疑能够给予国内厂商一个尝试的碛口,使得由此获得新的发展,这不仅需要政府在整合资源方面做出一些努力,也需要企业之间能够以面向未来的开放态度去接纳,并且有厂商愿意在此方向做出尝试和努力,至少进行一些适度的探讨也是极为必要的。
[1]倪光南.开源软件在我国推广的机遇,挑战及其使命[J].中国信息导报,2006,09.
[2]Shen,X.,Developing Country Perspectives on Software:Intellectual Property and Open Source-A Case Study of Microsoft and Linux in China[J].Journal of IT Standards & Standardization Research,3(1),21-43,Jan-March 2005.
[3]Bonaccorsi,A.,Rossi,C.,Why Open Source software can succeed[J].Research Policy 32(2003):1243-1258.