开源软件在企业中的十大竞争优势2. 质量

Download Report

Transcript 开源软件在企业中的十大竞争优势2. 质量

王荣章
1
目录
• 开源的介绍
• 开源的优点
• 开源的竞争优势
2
开源的定义
开源(Open Source,开放源码)被非赢利软件组织(美国的Open Source Initiative
协会)注册为认证标记,并对其进行了正式的定义,用于描述那些源码可以被公
众使用的软件,并且此软件的使用、修改和发行也不受许可证的限制。
3
目标人群
4
开源的方式
开放源码软件通常是有版权 (copyright ) 的,实际上,开源软件同时涉及源码本
身和开发过程,涵盖了三个方面的意义:
免费分
发的源
代码
集市式
的开发
模块化的
体系
5
集市式的开发
在这种开发方式中,任何地方的任何人都可以参与最终产品的制造,三个方面互相之间有密切的联系,
集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数量巨大的观众,他
们都是潜在的改错者。另一方面,任何人都可以复用和发行开源软件的代码这一事实又支持了公众利益,
因为创新的观念被整个集市所共享。另外,“open source”这一术语还被延伸到其他智力团体中,指那
些可通过公开手段获得的智力资源,比如报纸、教学课件等。
6
开源软件精神
开放源码的精神在于使用者可以使用、复制、散布、研究、改进软件。最早可
研究
以 回朔到1960年代。当时,售卖大型计算机的厂商如IBM,把一些软件及原始码
一并送给客户,让客户能够因不同需求而自行更改软件。在 1991-1992 年期间,
住在芬兰的 Linus Torvald制造了第一版的 Linux 操作系统。在一群热心的程序人
改进
使用
员努力下,把 Linux 操作系统以及外围的应用程序逐一打造。
散布
复制
7
开源的哲学意义
美国一些进步的评论家指出,在像网络这样的虚拟环境中,驱动系统的底层代
码,尤其是广为人知的那些应用程序之间的通信协议,它们在某种意义上很象
现实社会中的法规。
换句话说,这些代码对网上的行为给出了一些规范,它鼓励某些行为,而限制
其他行为,就像现实社会的法律一样。
因此,开放源码带来了一个更民主的开发方式,在这种方式下,好的主意将被
集体分享,而不是作为智力资本被个人秘藏着。在这种意义上,开放源码实质
上成为一种政治哲学。
8
开源的实例
出名的作品除了趋于成熟的Linux 操作系统外,还有 Apache网页服务器、Perl 程
序语言、MySQL 数据库、Mozilla 浏览器、OpenOffice等等。近来,在政府的推
动及各软件大厂(如 IBM、Redhat、Apple 等)的推动下,预料这股旋风将会掀
起新的软件革命。
9
开源的优点
1、代码开源,可扩展性强;
所有的程序爱好者,都可获得某些功能(或软件)后,根据自己的需要自由的再编写,
以实现各自所需的软件功能。
10
开源的优点
2、网络功能强大,系统稳定;
自由/开源软件因为它们的可靠性和稳定性而闻名。业界已经有许多自由/开源软件服
务器不需维护连续运行数年的故事。但是,定量研究相对而言更加困难。
11
开源的优点
3、便于广大范围内协作开发
集市式的开发过程给开源软件以强大的改错能力,因为它将程序中的错误公开给了数
量巨大的观众,他们都是潜在的改错者,亦可理解为是巨大的观众协作开发的软件平
台。
12
开源的优点
4、便于新手学习
就技术人员来说,学习开源可以极大的提高开发人员的技术水平。现在最新的技术以
及理论都会出现开源的实现,通过对开源的学习,可以最快的速度对很多基本的东西
加以理解。
13
开源的优点
5、对于软件公司来说,开源不仅能提高企业的竞争力,同时也减低了开发成本。
免费的Eclipse、Tomcat、MySQL等。
14
开源的优点
6、同时开源也会对整个软件的技术发展起推动作用。
比如非官方和标准的Struts、Spring、Hibernate成为了java web项目开发的事实标准。
LAMP成为互联网站开发的第一选择等。
15
开源的优点
7、目前开源已经成为了推广和销售模式。
比如Flex借助开源,来占领RIA市场地位。Eclipse最终取代了JBuilder的地位,连微软都
将.net部分开源,以求尽可能多的占领市场。Ext通过开源加上GPL协议来达到最终盈
利的目的。
16
开源软件在企业中的十大竞争优势
由于许多企业和政府机构现在使用Linux等开源软件,越来越清楚的事情是价格并不是开源软
件唯一的优势。如果仅仅是价格的优势,在经济大萧条时采用开源软件的企业在经济状况一
好转肯定会转换到价格昂贵的专有软件。
而事实并非如此,相反,自由开源软件(FOSS)对于企业来说还有许多诱人的优势,其中一些
优势比开源软件较低的价格更有价值。
概括十大优势如下:
17
开源软件在企业中的十大竞争优势
 1. 安全
 它的全部意义就是这些产品对于公众是封闭的,因此,这个公司外部的
任何人都不清楚这些产品包含多少瑕疵。这些公司内部有限的开发人员
和测试人员没有办法像全球各地的社区不断审查自由开源软件那样仔细
地测试自己的产品。
 正如不久前发现的Linux内核安全漏洞一样,开源软件中的瑕疵也会很快
修复。在专有软件领域的情况如何呢?没有这样快。例如,微软一般要用
几个星期(如果不是几个月的话)修复安全漏洞,如最近发现的IE零日攻击
漏洞。同时,祝愿使用这个软件的所有企业都有好运气。
18
开源软件在企业中的十大竞争优势
 2. 质量
 哪一种软件更好:是少数开发人员开发的软件还是由数千个开发人员开
发的软件?就像有数不清的开发人员和用户努力改善开源软件的安全一样,
这些产品将有同样多的创新的功能和增强的功能。
 总的来说,开源软件与用户的需求是最接近的,因为用户能够参与开源
软件的开发。它不是厂商向用户提供它以为用户需要的东西,而是用户
和开发人员创造自己需要的东西,他们会做得更好。至少最近有一篇研
究报告指出,技术优势是企业选择开源软件的一个主要原因。
19
开源软件在企业中的十大竞争优势
 3. 定制化能力
 根据同样的线索,企业用户可以获取一段开源软件并且进行修改以便适
合自己的需求。由于代码是开放的,这个工作仅仅是修改软件并且增加
他们需要的功能。不要使用专有软件做这种事!
 4. 自由
 当企业转向开源软件的时候,企业就会摆脱严重的厂商锁定的束缚。这
种束缚让用户感受到专有软件的痛苦。这种厂商的用户完全听从厂商的
观点、要求、决定、价格、优先次序和时间表。这会限制他们用付费购
买的产品所做的事情。
20
开源软件在企业中的十大竞争优势
 5. 灵活性
 你的企业使用微软的Windows和Office等专有软件的时候,你就踏上了一
个不断地要求你升级软件和硬件的跑步机。而开源软件一般需要较少的
资源。这意味着你在较老的机器上仍然能够很好地运行开源软件。决定
升级的时间完全取决于你,而不是一些厂商。
 6. 互操作性
 开源软件比专有软件更好地遵守开放标准。如果你认为与其它企业、计
算机和用户互操作是有价值的并且不想受到专有数据格式的限制,开源
软件肯定是要选择的道路。
21
开源软件在企业中的十大竞争优势
 7. 可审性
 使用闭源软件,你什么都没有,只有厂商告诉你的他们在保持着软件的
安全和遵守标准的说法。这基本上是一个冒险的行动。然而,开源软件
背后代码的可见性意味着你能够亲自看到这些代码并且有信心。
 8. 技术支持的选择
 开源软件一般是免费的,围绕每一个软件的充满活力的社区提供的技术
支持也是免费的。例如,几乎每一个Linux发布版都有一个在线社区,里
面有极好的说明文档、论坛、邮件列表、forges、维基百科、新闻组、甚
至还有实况聊天。
22
开源软件在企业中的十大竞争优势
 9. 成本
 从采购软件本身的成本到强制规定的极高的病毒防护成本、技术支持费
用、升级开支和与厂商锁定有关的成本,专有软件厂商向企业收取的费
用会超过企业原来的想象。为什么要这么做?你用较低的价格就能得到更
好的质量。
 10. 在购买之前试用
 如果你在考虑使用开源软件,先期试用一般不会有任何成本。这是因为
开源软件是免费的,部分原因是由于有许多Linux发布版的LiveCD盘和Live
优盘。在你确定购买之前不需要承认任何义务。当然,这不是说你的企
业做任何事情都应该使用开源软件。但是,由于开源软件有许多好处,
你不认真考虑它会是一个疏忽。
23
相关名词注解:
•
•
•
•
•
•
•
•
•
•
1、①免费发放源代码:即把源代码免费使用,如在源代码之家网站,可以免费下载各
种ASP源码、PHP源码、·NET源码
②模块化解等:包括模块界面、模块管理、模块控制和一致性等
③集市式的开发:见课件
2、Linux:是在internet网络上由志愿者开发的与unix兼容的完整操作系统,linux可从许
多以电子形式发布的提供者用免费获得。它的软件中包括xwindow系统(x11R6):
TCR/IP网络功能。应用:红旗linux,则是对linux的当良,具有windows的界面、操作方
式与office格式文档对接后,能满足政府办公、上网、教育及娱乐等需求。
3、Apache:取自于a patchy server的读音,意为充满补丁的服务器,因为它是自由软件,
可以有人不断为它开发新的功能、新的特性,修改原来的缺陷,特点是简单、速度快、
性能稳定,从而成为世界上排名第一的We服务器软件。
4、Redhat:认证是由服务器系统领域著名的厂商—Redhat公司推出。红帽认证三个层
次,初级的RHCT,中级的RHCE,高级的RHCA,2005年又推出新的安全领域高级认证:
RHCSS.
RHCSA:是红帽认证系统管理员的简称。
RHCE:是红帽认证工程师的简称。
RHCA:是红帽认证架构师的简称。
RHCSS:是红帽认证安全专家。
相关名词注解:
•
•
•
•
•
•
•
5、Perl程序语言:是由Larry wall设计的,并由他不断更新和维护,用于在unix环境下编程语言。
6、MYSQL数据库:发音为my ess cuell是一种开放源代码的关系型数据库管理系统,使用最常用的数
据库管理语言——结构化查询语言(SQL)进行数据库管理。由于MYSQL是开放源代码的,因此任何
人都可以在General Public License的许可下下载并根据个性化的需求对其进行修改。因其速度、可靠
性和适应性而备受观注。
7、Mozilla Firefox浏览器:是由Mozilla Firefox基金会(谋智网络)与开源团体共同开发的网页浏览器。
Firefox是从mozilla application fuite 派出来的网络浏览器,占全世界浏览器份额超过24.6%,仅次于
Inttrnet Explorer,并单独为中国推出G-forx,火狐中国版,增加一系列特色插件。
8、struts:新一代产品是struts 2,是以Web work为核心,采用拦截器的机制来处理用户的请求的高
度成熟的框架。
9、spring:在英文中是春天、弹簧、跳跃和泉眼的意思。在此表示是一个开源框架,是为了解决企
业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许
使用者选择使用哪一个组件,同时为JZEE应用程序开发提供集成的框架。Spring框架是一个分层架
构,由7个定义良好的模块组成。
10、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使
得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
11、LAMP:原意是灯、照亮等意思。此处用以指代Linux操作系统、Apache网络服务器、MYSQL数
据库和PHP脚本语言的组织。用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,
但因为常被放在一起使用,拥有越来越高的递客度,共同组成了一个很大的web应用程序平台。随
着开源潮流的发展,开放源代码的LAMP已经与JIEE和·NET商业软件形成之三足鼎立之势,从网站流
量来看,70%以上的访问流量是CAMP提供的,LAMP是最强大的网络解决方案。
相关名词注解:
•
12、Eclipse:是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它
只是一个框架和一组服务,用于通过插件组件构建开发环境。
•
13、Tomcat:是Apache基金会的Jakarta 项目中的一个核心项目,是一个轻量?服务器,
在中小型系统和开发访问用户不是很多的场合应用,是开发和调试JSP首选。
•
14、Flex 是一个高效、免费的开放源框架,可用于构建具有表现力的 Web 应用程序,
这些应用程序利用 Adobe Flash Player 和 Adobe AIR, 运行时跨浏览器、桌面和操作系统
实现一致的部署。
•
15、Ext:ExtJS可以用来开发RIA也即富含客户端的AJAX应用,是一个用javacript写的,
主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。因此,可以把
ExtJS用在Net、Java、Php等各种开发语言开发的应用中。
Thanks!
27