当前位置: 首页 >> 开源文章 >> 健康发展需要找到适合发展的正确开源模式
 

健康发展需要找到适合发展的正确开源模式

作者:      来源:zz     发表时间:2006-08-10     浏览次数:      字号:    

开源模式包括开发模式和商业模式,要讨论开源和参与开源,就必须认清楚这两者所包含的意义及相互关系。寻找到到适合发展的正确开源模式,才能有健康的发展。

开放源码软件是所谓纯粹程序员们追求的理想化的精神境界追求,在这种境界下所有程序员的代码相互共享并且大部分程序员愿意为开源软件的不断发展而努力。互联网的发展为开源软件的发展提供了沃土,并形成了以网络为主要媒介的开发模式和商业模式。

开发模式千差万别

关于开放源码软件开发模式,著名开源人士埃里克.雷蒙德所著的《大教堂与集市》是对开源软件和商用软件开发模式最为生动和形象的描述。开源的开发模式根据开发人员人数、开发团队管理模式等几方面说明如下:

·小型开源开发模式

典型实例:Linux Virtual Server Projectwww.linuxvirtualserver.org

这类项目在sourceforge中是最多的,其特点为项目的核心开发人员很少,一般为12名。

核心开发人员承担主要的开发工作和维护相应的网站,用户会提出错误报告和提供少量的错误修正。 一般很少采用CVS来进行代码管理,而是定期发布新版本。一般没有明确的 开发计划和日程安排,其软件更新速度和质量取决于核心开发人员的投入程度和水平。

目前采用这种开发模式的GNU软件最多。而SourceForge.net的出现又简化了这部分开发人员的重复工作。

·中型开源软件开发模式

典型实例:GTKwww.gtk.org

其特点为拥有35名核心维护人员,参与开发的人员10人~40人之间,采用CVS进行代码管理,通过maillist/irc进行开发交流,有明确的开发计划和日程。用户提出的错误报告和修正数量很多,并且有一些分支产生。

·大型开源软件的开发模式

典型实例:XFree86www.xfree86.org

其特点为拥有数十名核心开发人员(一般不超过100名),其中包括35位核心开发人员,只有这些核心开发人员有权提交代码,代码使用CVS管理,但是对外界不开放只有在发布新版本时外界才可以得到。

开发计划和日程明确,发布日期一般准确,但是软件版本升级速度一般比较缓慢。这样开发的好处是代码质量比较平均,所受干扰小,缺点是由于用户不能积极参与开发过程中的测试工作,增加新功能后稳定期较长。

·完全封闭的商业开源软件

典型实例:奇趣QTwww.trolltech.com

其特点为软件完全由商业公司内部开发,用户一般只能提供错误报告,不提供修复补丁,公司定期发布新版本的源代码。其好处是软件质量水平较高,其缺点是如果公司开发力量不足,软件发展容易停滞不前。

· 由商业软件转化的大型开源软件开发

典型实例:OpenOfficewww.openoffice.orgMozillawww.mozilla.org

其特点为其软件计划开始时是基于一个被 开源的商业软件,一般都受到原商业公司的控制,一般都不采用GPL/BSD形式的许可证,一般都采用类似于MPLMozilla Public License)的版权。其特点是公司可以享有使用这些源代码的权利,他们的开发工作一般由公司的员工为核心开发人员和领导者,通过CVSBugzilla进行代码和错误管理。拥有正式的QA体系,这种模式一般都进展不是很快。

·“独断式的大型开源软件的开发

典型实例:Kernelwww.kernel.org

其特点为软件开发人员非常多,一般都在百人以上,任何自由程序员都可以提交自己的修改工作,但是只有领导者(在Linux核心上是LinusAlan Cox)才能够合并这些工作到正式的核心发布版本中。

而且他们一般不采用CVS,只是通过maillist来进行项目管理,交流,错误报告。经常发布新的版本,其好处是软件更新速度和发展速度很快,计划的开放性好,由于最终裁决人只有少数非常有经验的程序员,正式发布的代码质量非常优秀,由于用户数目非常庞大,最终发布版的错误一般都非常稀少。

这种方式的缺点是计划的发展方向主要由核心开发人员决定,体现他们的设计思想。

·“民主式的大型开源软件的开发.

典型实例:Gnome www.gnome.org KDE www.kde.org

其特点为核心开发人员数目较多,子软件计划非常多,利用CVS进行代码管理,核心开发小组一般在百人以上,分成若干个小组,每个小组有1-2个领导者,权限比较分明,有明确的开发进度管理和日程安排,有严密的AlphaBetaRC1RC2测试阶段。主要开发者定期召开开发者大会,讨论开发中的问题和新版本的设计。拥有自己的开发文档库和编码/ 测试标准。

同商业软件公司一样,一般每隔半年左右推出一个正式版本。这种方式是目前效率最高的一种方式,也只有这种开发模式能够承担利用Internet协作开发DE/Gnome这种超大型套装软件的开发工作。

尽管,在开源方式下能够开发的软件专用商业软件开发方式也能够实现,但开源更强调的是一个遵循科学发展原理的协作过程。

找寻合适的商业模式

软件作为一个以人的智慧结晶为主要成本的数字产物,主要通过销售将源代码编译、打包、包装过的软件包获得商业价值。程序源代码作为软件的基础材料,具有可察看、可复制、可复用等特点。开放源代码是使软件开发者散失了获得劳动回报的主要途径,因此程序员必须在这种新的开发模式下通过其他商业模式获得回报。

从上世纪八十年代开始,从事和关心开源运动的人们就不断探索能够为开源程序员获取回报的开源商业模式。随着时间的推移,开源运动在发展过程中逐步形成了一些较为可行的商业模式,这些商业模式主要包括:

·双授权

典型实例:mysql

通过针对个人/商用进行不同授权或不同版本(基本版本、企业版本)进行不同授权。

· 咨询顾问

典型实例:jboss

提供技术文档、培训服务、咨询服务、系统规划实施等技术服务;

·应用服务

提供基于开源软件的网络应用服务(ASP;

硬件捆绑

捆绑赞助商或开源软件开发商硬件,如Widget Frosting:一个主要生产硬件的公司(其中的某一部分软件不作为主要利润来源)会选择开源软件来提供更好的产品,比如新同事的笔记本就预装了 Turbolinux操作系统;

·卖附属品

包括书籍、T恤衫、咖啡杯,以及 Linux企鹅玩具……

·提供服务

虽然送出产品,但是卖的是品牌,卖的是服务,Redhat一直在这样做;

·市场策略

通过提供开源软件使自己占有市场,Netscape曾经因此决定公布Navigator的源代码。

开源软件的优势

开源软件的优势是和封闭软件相对而言的,主要从开发模式优势、商业模式优势和应用优势三个方面进行对比说明。

首先,从开发模式上看成功的开源软件具有早发布、多发布、参与者多、用户多、项目活力强等特点。从Linux成功经验看,开源软件开发模式与封闭软件开发相比,其优势包括:

在制定好项目计划并有一个可运行的系统雏形后,更多的开发者参与使软件开发保持更高速度发展;

在众多用户面前,早发布多发布的开源软件所存在的功能问题、性能问题以及安全问题等能够很快得到解决;

当项目发起人对项目不再感兴趣情况下,社区其它开发者能够使项目能够持续发展(如果公司倒闭,其封闭开发的软件将停滞);

由于参与开发者、软件使用者众多,通过沟通交流能够确保产品的先进性。

其次,随着开源软件越来越成熟,其功能、性能已经与商用软件相媲美,开源软件的商业模式优势也逐步凸现。尽管Richard StallmanLinus Torvalds等人创建开源软件开发模式时并没有为后来者提供可行开源商业模式,但开源软件现在已经形成了多种开源商业模式。开源商业模式与商业软件商业模式相比,其具有以下优势:

传播快速、广泛,容易使企业很快产生行业知名度与知名品牌,从SugarCRM案例看,开放源代码的却是打破常规、并迅速让产品获广大使用者接纳的最好方式;

符合软件行业向服务业转化的发展进化趋势,能够使开源企业提前抢占服务市场;

开源软件开发者可以在市场占有率较好情况下选择双授权或封闭获取利润;

凭借大用户群的优势,可以获取与所从事开源技术相关软硬件厂商赞助和投资,如英特尔投资Jboss;

软件免费、服务收费、形成标准,测试认证收费,这也是很多开源公司的商业策略;

对于个人而言,通过开发成功的开源软件提升自己在黑客领域的名望获得精神上的满足以及未来的高薪职位,如BitTorrent作者Cohen获得Valve高薪职位。

诚然,商业软件商业模式也可以通过免费或其他促销手段达到开源软件快速普及推广等效果,但从未来软件产业发展趋势看更符合软件行业服务化的开源软件商业模式将与商业软件商业模式长期并存。

最后,从用户角度看开源软件显然比商业软件具有更加诱人的优势。开源软件对于最终用户而言,具有价格低、可靠性好、较灵活、安全性好、代码透明、互操作性好等特点。对于我国政府而言,其优势远远不止这些,还包括:

·推动本国软件产业发展

由于历史原因,中国软件产业过去没有抓住操作系统、数据库发展的机会,甚至到现在中国软件企业在中间件、通用软件、娱乐软件等方面仍然落后于美欧、日本、印度等国家。开源运动给了中国软件产业发展操作系统、数据库以及通用软件等核心软件技术的机遇,在遵循开源授权前提下、从开源社区、产业政策、应用市场几方面推进中国开源运动可极大促进中国软件产业的发展。

·保障国家信息安全

互联网已经触及社会的各个层面,并且很多互联网技术靠软件来实现。国家信息安全在网络时代面临的巨大挑战,其实正是软件所带来的挑战。开放源代码可自由查看、安全隐患容易暴露在众多用户使用过程中、用户可以根据本身的需求自我定制,从客观上杜绝了部分安全隐患。

·防止被某一软件商锁定

当某一机构使用某种软件时间越长、使用的人数越多时,越容易被软件锁定,尤其是软件代码不透明、接口不公开时。这就意味着软件供应商可能向该机构索取更高的支持、升级、维护费用。各国政府已充分认识到这一点。英国、南非推动开源软件的战略中,均把此列为重要因素。

·缓解各国电子政务建设的财政压力

目前各国政府的电子政务建设如火如荼,电子政务中软件支出巨大。因为各国电子政务的巨额财政支出来自纳税人,纳税人当然有权要求政府使用成本更低的开源软件。俄勒冈州的HB 2892议案明确要求州政府使用新软件时必须是开源软件。法国参议员Pierre Laffitte推荐的 Proposition de Loi 495议案要求所有的政府部门采用开源软件。意大利绿党参议员提议,意大利公民服务应该使用开源软件,这个提议已获得反对党支持。这个提议同时建议国家管理部门应当采用免费的开源软件,不论开源软件比商业软件性能优异与否。

·作为降低商业软件价格的砝码

用户一旦被某种软件锁定,当用户转移到另一种软件时,意味着高昂的转移成本。然而,并不是所有的应用转移到开源软件都更合算,也并不是所有的应用都有相应的开源软件。因此如何增强对商业软件供应商的谈判能力,降低购买价格,也成为政府重点考虑的对象。

政府一向是软件购买的大客户,也是政策的制定者。商业软件供应商如果放弃了政府的订单,意味着巨大损失。英国政府就是利用将要使用开源软件的策略,逼迫微软降低软件价格。这也是政府支持开源,所能够获得的利益。

责任编辑 webmaster

 
 
 
 
 
评论更多>>
 
 
 
发表
 
姓名: QQ:
性别: MSN:
E-mail: 主页:
评分: 1 2 3 4 5
评论内容:
验证码:
  
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  •