2008年4月6日星期日

OpenSource & OpenSource Software

"OpenSource"已经不断的被更多的人认识,接受, 很多人就会自然的产生这样一个概念
" OpenSource = OpenSource Software".

在几个星期前与ObjectWeb的Christophe Ney(Executive Director)的交流中,我留意到这样一句话"OpenSource is a process, OpenSource is not a product".

Eric Raymond在他的<<大教堂和市集>>中将这种开源的开发模式称之为"集市开发模式", 就是在
这种集市式的开发模式下,造就了今天著名的Linux操作系统. Linus Torvalds 使用这种开发风格
(尽早尽多的发布,委托所有可以委托的事,对所有的改动和融合开放),把Linux投入到社区中,
在各种不同的建议,方法,和问题的充实喜爱,一个一致而稳定的系统就奇迹般的从这个集市中产生.

1. 教堂式的开发和集市式的开发有些什么不同呢?

教堂开发: 在开发开始前,非常好的理解设计和功能. 架构,设计,开发,集成和测试的完成计划都非常明确和编入文档.在开发阶段中发布循环是很少的. 仅在Alpha和Beta测试循环中才能够看到外部的反馈.


集市开发: 维护者发布具有某些用途的功能,但是软件包公功能并不齐全, 有时也能发现缺陷. 频繁的进行版本的发布(有时候以天计算). 问题的反馈能够尽早的被公布出来并被很容易被大家看到.任何人都要有好的思想都可以贡献出来, 或增有意义的新功能.维护者在确定一切就绪时就宣布发布一个新的版本.


集市开发模式的优点:

. 快速的开发: 开放源码的开发人员是富有激情的,他们通过积极的合作,能够以快速,不断的推出新的版本

. 分布式的开发: 开源社区的开发人员都位于全球的各个不同地方,他们最大限度的利用Internet, 来进行沟通协作, 分布式的开发同时也充分利用了时区的优势, 每天24小时有会有人在开发,每天24小时都可以得到来自全世界各地开发人员的支持.

. 最佳的人才: 开放源代码社区是不能容忍劣质的贡献者的. 如果你想加入某一个开源项目开发,你必须持续的作出某种贡献,如文档, 设计,结构,测试等等, 如果你不能做到这些, 社区也不会吸纳你. 人才是现在公司竞争的焦点, 开源社区里激烈的竞争和开放的人才管理使社区总能拥有最佳的人才.

. 发展蓝图: 开放源码软件没有商业化软件上市的时间压力,也没有强制性的蓝图. "经过彻底的测试,准备好后才发布" 这种质量第一的思想,使得开放源码软件的质量远比商品化软件好, 内部隐藏的错误也比较少.

. 有效的人员管理模式: 开放源码社区并不像看上去的那么松散, 好的社区都会有专职的一个管理,协调团队来负责整个社区的发展,规划和协调. 比如ObjectWeb , 首先由一个理事会,在理事会下有一个5人执行团队,专职来负责ObjectWeb所有事务的协调.

上面谈到的这些用一句话简单来说就是: Open Source 是一个过程, Open Source是一种文化, OpenSource是一种人与人之间自由沟通,协作的方式.

2. 什么是开放源码软件(Open Source Software)?

开放源代码软件是一种公开源代码的软件,任何人都可以修改、使用、拷贝、分发软件的源代码。

开放源代码软件有如下特点:

1. 开放源代码软件一般是免费发布的,您可以在Internet上自由下载,用户无需缴纳License费用。


2. 开放源代码软件由一个核心组织领导, 通常由一个很大的社团在Internet上协作开发完成。这种“集市”式的开发模式使得其通常有着比封闭源代码软件更高的质量。


3. 用户可以得到软件的源代码,更容易根据自己的特殊要求,进行定制。


4. 开放源代码软件的生命周期不依附于某个公司,因此有更强的生命力。

740)this.width=740" border="undefined">


开放源代码软件,已经形成了一条完整的商业价值链,有了更加坚实的基础:

1. 开放源代码软件发起公司:启动开放源代码软件项目,他们为项目提供最初的资助,通常提供最基础的代码和开发人员。 发起公司,可凭借其领导地位的企业形象,更容易得到优质的客户,进而省去市场、销售等的巨大投入。 同时他们可以为其他的软件服务公司技术服务。


2. 开放源代码软件非营利核心开发团队:负责组织协调开放源代码软件的开发,建设软件社团。 他们通常由资深的软件专家组成。他们接受发起公司、捐赠人的资助。


3. 开放源代码软件社团:由开放源代码软件的开发人员、用户、志愿者在Internet上共同交流形成的社团。


4. 开放源代码软件服务公司:利用开放源代码软件,为最终用户提供服务。同时他们为软件进行测试, 代表用户提出软件改进意见或者特性请求。他们是开放源代码软件和最终用户之间的桥梁。 任何公司都可以利用开放源代码软件提供服务。


5. 开放源代码软件最终用户:最终用户得到丰厚的回报。 他们无需支付昂贵的license费用;他们选择服务有更大的自由度, 而不必和某个软件供应商锁死; 同时他们可以提出软件改进的新特性。
6. 志愿者:志愿者可从自由软件中学习到众多技能,同时他们参与软件的测试、捐献自己的代码。 广大的志愿者是开放源代码软件长久发展的重要基石。

6. 政府: 政府在整个生态系统中将起到指导性的作用,他将给开源码软件的使用提供有力的政策上的支持。


相信这种新的基于开放源码软件的商业模式将给我们带来很多的发展机会, 特别是对中小型的软件公司, 只有利用这种新的商业模式,打破已有的游戏规则, 才有可能获得发展.

参考:

1. Eric Raymond <<大教堂和市集>>

2. HP Linux文集


没有评论: