欢迎来到天天文库
浏览记录
ID:42532658
大小:66.50 KB
页数:12页
时间:2019-09-17
《开源软件及国内发展现状》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、开源软件及国内发展现状1开源是大势所趋随着计算机技术的发展,尤其是互联网技术和相关企业的兴起,开源软件在操作系统、编译工具链、数据库、WEB服务器、移动操作系统等各个方面已经成为主流。而且许多企业利用开源软件形成了独特的商业模式。比如谷歌的Android操作系统,从2007年开源发布第一个版本起,到今天己经发展到4.1版本,占据了智能手机操作系统一半以上的市场份额,谷歌也通过Android操作系统在移动互联网这一新兴行业中占据了领先和主导地位。再比如在服务器端广泛使用的关系型数据库MySQL,在以开
2、源软件和商业许可并行的模式下,得到了快速发展,并在2008年作价10亿美金由Sun收购(后者又在2009年被Oracle公司以74亿美金的高价收购)。相反,以前一直和开源软件做斗争的微软公司,却因为无法快速推出适应市场的WindowsPhone操作系统,在移动互联网竞争中处于下风。为顺应潮流,微软也开始拥抱开源,比如向Samba项Fl贡献代码,放弃自己研发多年的大数据项目而选择Hadoop为其大数据的核心等。显然,纵观IT行业这二十多年的发展,开源软件从黑客的理想Z国,已经形成了一股推进计算机及相关
3、行业不停进步的巨大力量。很多人可能尚未意识到,我们使用的电脑屮运行有开源软件,手机屮运行有开源软件,家里的电视也运行有开源软件,甚至小小的数码产品(如电子相框)屮也运行有开源软件,尤其是互联网服务器端软件,几乎全部是开源软件。毫不夸张地说,开源软件已经渗透到了我们口常生活的方方面面。那么,开源软件到底什么,开源软件尤其是国内的开源软件及社区的现状如何,发展面临哪些困难和问题?2开源软件的基本概念在讲述国内开源软件的发展情况之前,我们先就开源软件的一些基本概念做一些普及。2.1为什么会有开源软件?广义
4、上讲,开源软件指所有公开源代码的软件,包括某些商业软件也可能是开源的。但我们通常所说的开源软件,是狭义上的,指任何人可以通过极低的成本(如仅仅访问互联网而无需其他额外费用)获得该软件源代码的软件,也就是其源代码向公众开放。和狭义上的开源软件相对应的,就是那些不向公众公开源代码的软件,通常就是商业软件。实质上,在计算机出现的最初年代,几乎所有的软件都是开源的。那时的计算机企业,主要是以销售硬件产品为主,软件几乎都是附送的,加上那时的软件规模都不大,以源代码形式提供给用户还可以缓解一定的技术支持压力一一
5、有问题由用户自己修改解决。所以,最初的软件几乎都是以开源的方式提供的。因此,对着迷于计算机编程的工程师来讲,获得软件的源代码几乎是天经地义的事情。这样,当以微软为代表的企业开始实践纯软件产品的商业模式(核心思想是提供二进制可执行程序的使用许可,而不提供源代码),就引起了许多计算机编程爱好者的不满:给我一堆二进制程序,我如何才能按我自己的想法改进程序?在这种背景下,真正意义上的开源软件就自然而然地产生To2.2开源软件的发展历程开源软件的发展,和互联网的发展密不可分。真正有规模的开源软件,应该是从上个
6、世纪90年代开始进入公众视线,也就是互联网开始兴起的年代。我们大致可以将开源软件的发展分为如下三个阶段:L.萌芽阶段(上世纪九十年代之前)。这个阶段主要以个人和大学为主,因为发布条件受限,大多数开源软件无法得到有效传播,而仅仅流传于互相熟悉的程序员和老师、学生之间。这个阶段的典型开源软件为BSD操作系统。2・以非盈利组织为主的阶段。这个阶段应从上个世纪九十年代算起,说起这个阶段,我们不得不提到RichardStallman发起的自由软件基金会,还有Apache基金会等。前者发起的GNU项目(1983
7、年发起,九十年代后随Linux普及),成就了Linux操作系统;后者维护的ApacheWEB服务器,在互联网上几乎占据了统治地位。3・以大型IT企业为主的阶段。这个阶段出现于2005年之后,以谷歌为代表的大型互联网企业,开始以各种方式发布开源软件,最为著名的是Chrome浏览器以及Android操作系统;当然还有Intel、Nokia等企业主导的Moblin、MeeGo等基于Linux的智能手机操作系统。2.3开源软件许可证笔者看来,软件作者选择向公众开放源代码,其理由无外乎如下三种:第一,那些认为
8、所有软件都应该以源代码方式发布的。如RichardStallman,他认为所有的软件都应该是开放源代码的,甚至为了建造一个理想中的全开源软件世界,创立了自由软件基金会,发明了GPL许可证,发起了GNU项目。第二,通过开源软件展示自己的软件设计、算法和编码水平,并期望获得他人认可的。大部分小型软件或者程序的作者,或者由大学主持和维护的开源软件,出于这种目的向公众开放源代码。第三,通过开源软件谋求获得广泛推广,并通过提供增值的产品或者服务来获得商业收益的。这通常是商业企业
此文档下载收益归作者所有