开放源码有利软件质量提高

原创 2002年04月10日 10:20:00

开放源码有利软件质量提高

姚郑 (转载自eNet)
 

  近年来,一种新的思潮在国际上受到越来越多的关注,已经取得丰硕成果,而且将对整个软件产业格局产生重大深远影响,这就是所谓开放源码思想。

  开放源码的基本思想很简单,最初由于计算机硬件造价昂贵,许多公司认为计算机软件不值钱,将其仅看作是整个计算机的附属产品。因此,当时网络上的程序员可以任意阅读、重新分布和修改软件的源码,也正因为此才使得软件业得以飞速的发展。

  然而,随着计算机硬件成本的不断下降,软件在整个计算机系统的成本中占有越来越高的比例,如何提高软件开发生产率、降低成本、提高质量是整个计算机软件行业的重大课题。按照传统封闭的开发模式,只有很少一部分程序员能够看到源代码,其他任何人只能使用不透明的二进制软件,这使得程序源码中的大量潜在错误难以被及时发现和消除,造成巨大的维护费用。

  开放源码主要目标就是提高软件质量,其方法就是通过开放源代码以获得广泛的对等评审及用户测试效应。与传统的封闭开发模式相对,传统模式采取严密组织的开发队伍(如同构筑大教堂的组织模式),开放源码则是由分散的发烧友通过Internet组成的开发队伍进行组织(如同市集的组织模式),这就是开放源码社区领袖Eric Raymond在其著名的《大教堂与市集》一文中提出的论点,Linux的开发就是“市集模式”的成功典范,也从实践上说明“市集模式”能够开发出可用性优于“大教堂模式”的软件。

  然而,“市集模式”也并非万能,Eric Raymond指出了市集模式成功运用的先决条件,包括包括开放源码项目工程领导人的资格问题和在把项目公开和开始建造一个协作开发人员的社团的时候代码的状态。可以认为,不能以一个市集模式从头开发一个软件,可以通过市集模式进行测试、调试和改进,但是以市集模式从头开始一个项目将是非常困难的,初期的开发人员的社团应该有一个可以运行和测试的东西来玩,尽管它可以很粗糙、很笨拙、不完整和缺少文档,但不能忽略的东西是要吸引哪些人卷入一个整洁的项目。同时,“市集模式”的成功依赖Internet和控制版本进化的领导者(例如Richard Stallman,Linus Torvalds)。作为项目领导者而言,能够提出卓越的原始设计思想不是最关键的,最关键的是要能把从他人那里得到的好的设计重新组织起来,同时必须有良好的人际和交流能力,必须能够吸引他人共同建造一个开发社团。

  与开放源码紧密相关的是所谓自由软件运动,后者的主要目标是使得开发的软件是Free(是自由,freedom,不是免费的意思)的,它们之间最简单的区别是各自的优先权不同,在此不对二者区别进行更深入的哲学讨论。在开放源码/自由软件思想下已经积累了相当一批财富,包括操作系统级、平台软件级、甚至应用级的源程序已经被放在网站上,供软件爱好者自由使用。尽管目前软件业的主要商业模式是以出售拷贝为基本商业基点的,但这种商用软件的思路目前正逐渐被开放源码、以服务和培训为商业获取利润的思想所取代。而且,开放源码软件可以把很多人的智力集聚到一起,尤其既有利于基础软件教育事业,又可以加快高质量的共性软件发展。因此,开放源码思想已经受到来自政府、企业、科研教育机构的高度关注,随着大量人力物力的不断投入,开放源码软件正在逐步走向工业化。

  但是,开放源码也带来了一些新的问题,由于完全本着自愿的原则,任何人都可以自由参与开源软件的开发,也可以将自己编制的软件放到网上让别人共享,因而软件版本如何管理、质量如何保证、软件错误如何跟踪和修正等都摆在人们的面前。同时,开放源码的测试、整理与推广也是一个比较重要的任务。可以认为,将开放源码思想与传统的软件工程进行有机结合将对未来软件业的发展产生深远影响,也将为软件质量提高工作探索新的途径。

如何开发高质量的软件 - 通过测试集中型的软件开发方法来提高软件质量

“构建技术系统所要做的工作是非常繁重的,同时还需要专业知识:语言和协议,编码与调试,测试与重构。”——James Garrett 概述 每年各个企业都在努力实现企业的主要目标。通常,这都是...
  • Trinity_Techologies
  • Trinity_Techologies
  • 2016年08月03日 16:56
  • 895

提高软件可靠性的方法和技术

提高软件可靠性的方法和技术            1.建立以可靠性为核心的质量标准     在软件项目规划和需求分析阶段就要建立以可靠性为核心的质量标准。这个质量标准包括实现的功能、可...
  • vbloveshllm
  • vbloveshllm
  • 2013年07月17日 09:24
  • 3052

【代码评审】【畅言】提高软件产品质量的有效方法——同行评审

在《浪潮之巅》这本书中,吴军老师描述了在Google早期的工作方式,其中有一段是这么写的:我一般会在吃完晚饭后把代码修改的清单发给克雷格做代码审核,他一般晚上10点左右会回复我,给我修改意见,详细到某...
  • xuqiang918
  • xuqiang918
  • 2014年09月23日 09:25
  • 982

如何编写高质量的程序

从正确性,可读性,可维护性等方面讲述了对编写高质量程序的理解,并给出了一些措施。...
  • on_1y
  • on_1y
  • 2014年01月13日 23:12
  • 2966

提升软件质量获取经营效益

2009年下半年的经济形势给保险行业所带来的巨大压力要求保险公司通过拓展业务来提高利润。新的业务压力增加了IT应用系统的复杂性,致使核心应用的性能、稳定性和安全性更易出现问题,而这些应用程序对于实现这...
  • zhangmm317
  • zhangmm317
  • 2017年12月07日 17:21
  • 199

改善程序代码质量的一些技巧

有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你...
  • neilson123456
  • neilson123456
  • 2013年11月07日 14:12
  • 1408

程序员如何提升自己的代码质量?

本文转载至:http://www.zhoudev.com/?p=19 文章只针对有一定语言基础的人。 写本文的原因,其实很简单:团队的代码质量实在是太差了,而我又是一个在代码方面有很强洁癖的人,所...
  • robertsong2004
  • robertsong2004
  • 2015年01月21日 22:42
  • 4194

如何提升测试质量??

测试的重要性我们就不在这里多说了,因为要说测试重要的文章太多了。这里我只想从一个测试员的角度,提出如何提升测试的质量。 一份详细的测试用例提高测试质量,一份详细的测试用例完全覆盖了代码的所有路径。...
  • Scalzdp
  • Scalzdp
  • 2014年09月05日 10:46
  • 4748

如何提高代码质量

1.1 如何提高代码质量 我们抛开任何具体的技术,来谈谈如何提高代码质量。如何提高代码质量,相信不仅是在座所有人苦恼的事情,也是所有软件项目苦恼的事情。如何提高代码质量呢,我认为我们首先要理解什么是...
  • chenlycly
  • chenlycly
  • 2013年03月10日 16:49
  • 1754

团队代码质量提升之我见

一、项目代码问题现状 二、代码问题原因分析 三、何为代码质量 四、质量提升之策 五、部门实施之路 六、代码保障的辅助工具 一、代码问题: 1、没有代码注释; ...
  • skyczw2005
  • skyczw2005
  • 2014年12月13日 09:04
  • 929
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开放源码有利软件质量提高
举报原因:
原因补充:

(最多只允许输入30个字)