“开放源代码”是什么?
您购买或下载的大多数软件只提供已编译的可运行版本。“已编译”意味着开发人员创建的实际程序代码(称为源代码)已经由一个称为编译器的特殊程序进行过处理,该程序将源代码转换为计算机可以理解的格式(有关编译器的详细信息,请参见C语言入门教程)。修改大多数应用程序的已编译版本都是极其困难的,人们几乎不可能知道开发人员究竟是如何创建程序的各个部分的。大多数商业软件制造商都将这一点视为有利条件,以防止其他公司复制自己的代码并将其用在竞争产品中,同时可以控制其特定产品具有的质量和功能。开放源代码软件恰恰相反。源代码随已编译的版本一起提供,而且事实上鼓励人们修改或定制。支持开放源代码概念的软件开发人员相信,通过允许感兴趣的人修改源代码,应用程序将会更加完善,并且在很长时间内不会出现错误。
软件开发行业所定义的开放源代码软件必须满足一定的条件:
- 程序必须免费发布(但可以是出售的软件包中的一部分,例如在下面的例子中,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(图形文件格式)都是非常受欢迎的基于开放源代码的软件。
[责任编辑:小敏]