开放源代码软件恰恰相反。源代码随已编译的版本一起提供,而且事实上鼓励人们修改或定制。支持开放源代码概念的软件开发人员相信,通过允许感兴趣的人修改源代码,应用程序将会更加完善,并且在很长时间内不会出现错误。
软件开发行业所定义的开放源代码软件必须满足一定的条件:
程序必须免费发布(但可以是出售的软件包中的一部分,例如在下面的例子中,Red Hat对Linux就是这样做的)。 必须提供源代码。 必须允许任何人修改源代码。 可以重新发布修改后的版本。 许可证不得要求排除其他软件或干预其他软件的运行。下面让我们看一个开放源代码软件的真实例子。1991年,芬兰赫尔辛基大学的学生李纳斯·托沃兹(Linus Torvalds)基于Unix的衍生版本Minix开发了一个新的操作系统,并称之为Linux。托沃兹使用GNU通用公共许可证(它为开放源代码软件提供了很好的法律定义)发布了0.02版本的Linux。全球各地的人下载并开始使用Linux。其中,许多用户是独立的程序员,他们对托沃兹提供的源代码进行了修改。在接下来的3年中,托沃兹从其他程序员那里收到了这些修改后的版本,并将许多改动结合到基础版本中,于1994年发布了Linux的1.0版。
那些想要使用开放源代码软件的最终用户的一个共同顾虑,是这些软件缺乏质量担保和技术支持。因为该软件的许可证鼓励修改和定制,所以几乎无法提供支持。这正是1994年成立的Red Hat Software创建“Official Red Hat Linux”并销售这一通常是“免费”的软件的原因。Red Hat向软件包添加的主要价值是质量担保和技术支持。对于大多数企业而言,技术支持承诺成为促使其购买Linux而不是免费下载它的一个关键因素。除了Red Hat以外,还有其他几家公司将Linux打包(通常带有其他软件)以进行转售。
除了Linux以外,Mozilla(Netscape浏览器核心)、Apache(Web服务器)、PERL(Web脚本语言)和 PNG(图形文件格式)都是非常受欢迎的基于开放源代码的软件。
[责任编辑:小敏]