开源软件
- 格式:docx
- 大小:16.19 KB
- 文档页数:2
开源软件的起源及发展:
开源软件通常是指除可执行文件外,源代码也可以为公众使用的计算机程序(包括操作系统、开发工具或应用程序)。其中,用户可以根据需要对原代码进行修改,来改变其计算机程序的设计或功能。
开源软件一般是团队开发的成果,通常借助所谓的“开源项目”来进行开发。其中,通过协同工作的方式,程序员进行功能增加、缺陷修复等代码改进工作,并在开源社区内共享这些软件更新。最有名的开源项目是成立于1983年的GNU项目,该项目基于Unix开发了一个源代码自由共享的操作系统。
与私有软件类型,开源软件也是依据某个软件许可协议规定的特定条款来进行分发。开源软件许可协议通常具有以下的一些条款:
自由再分发:如果一方将某些开源软件作为组件包含在自己的软件项目中,则其可以自由地将该软件分发给他方,而无需向开源软件的原始开发方支付许可费用。
源代码:开源软件必须连同其源代码一起进行分发。
派生作品:开源软件许可协议必须允许用户对该软件进行修改和改进,并可对最终结果作品进行自由再分发。
技术中立:开源软件的许可协议不能规定该软件只能用于某种特定的技术条件。如一个开源的操作系统不能只限于使用在某种特定的硬件平台上。
需要注意的是,开源软件并不意味着必须免费。软件公司以往大多采用专有模型,只提供二进制形式的软件。为了获得对该软件的进一步完善或支持,用户必须支付相应的维护和支持费用。近年来,越来越多的软件公司开始采用开源模式,其软件许可协议在满足上述的条款后,再附加某种如订阅收费模式作为软件许可费用。
Red Hat是一个很好的例子:按照开源许可协议对自由版本的Linux操作系统进行分发,但用户必须通过订阅来支付许可费用。通过订阅使得用户可获得升级,并得到Red Hat的支持。但这不是唯一的选择,如果用户不愿支付订阅费用,可以使用CentOS等版本的Linux。因为按照开源许可协议的内在要求,尽管CentOS通常要比Red Hat发布快,但Red Hat的分发版本和CentOs的分发版本在功能上最终是相同的。
近年来,开源软件的企业版本开始出现。这些企业版软件经过了高强度的测试过程,加上高质量的支持服务,因此与私有软件比较起来,即便对于交易所的关键业务平台来说,也是一种成本效益极高的选择。例如,Red Hat Linux Enterprise
MRG就为实时交易平台提供了一种稳固及可信性高的操作系统方案。即使是私有软件供应商Oracle,也通过并购开源数据库公司MySQL加入了开源的大部队。
主要优势:
TCO远低于其私有软件阵营的对手。
开源社区的概念。一个特定的开源软件项目有为数众多的人在为其做贡献,新的功能特性和改进方法也因此会很快地提出。通过选择适合的开源软件,其知识库通常比任何的私有软件更广泛流行,可用作支持软件的资源也因此更为便捷和便宜。
不到十年前,基于Unix的系统或其它四有系统如Tandem在金融服务行业占主导地位。然后,金融服务行业现在的大多数新系统实际上都是基于Linux的系统,而私有系统近乎绝迹。原因如下:
开源系统的品质和支持服务已经不差于私有系统; 可靠性已经达到关键任务应用的要求;
低廉的TCO对金融服务行业来说极具吸引力;
近年来,快速增长的因特网似的开源社区可以在世界各地更有效地协同工作。这极大地方便了开源项目的快速跟进,从而使新软件的开发更快速;
只要许可协议事宜得到了正确处置,就可在主要的开发项目中使用开源技术,从而减少所需的开发工作量,实现开发周期更快、成本更低的商业目标;
开源软件允许被自由地再分发,因此使用开源技术构建的商用软件可以自由地分发,无需重新获得原始开发方的许可。
存在的局限:
鉴于开源软件的开发在本质上采用了一种集体协作的方式,软件的质量可能较差,难以达到商用的标准,出现软件缺陷或不稳定的现象比较普遍。事实上,只有很小一部分的开源软件可以被成功地应用与商业环境中,对交易所的关键业务应用来说则更少。因此,在开发项目中,需要慎重地考虑使用开源软件所带来的“真实”成本。修复开源软件缺陷可能会引入大量的工作量。解决该问题的一种方法是,选用那些可以提供适当支持服务的“旗舰版”开源软件。
开源项目的发起目的常常是为了避免向类似的私有软件支付许可费用。因此,开源社区常常会将现有的私有软件进行反向工程,从而导致开源软件不具备创新型。
传统地,私有软件供应商会向端用户提供关于其产品的详细路线图。这使得端用户可以根据软件供应商的发布计划来规划系统的升级方案。然后,开源软件没有明晰的路线图。对于交易所的应用来说,这会带来潜在风险:如果不能等到新功能的发布,就不得不自行对软件进行改进。