“开放源代码”是什么?您购买或下载的大多数软件只提供已编译的可运行版本。“已编译”意味着开发人员创建的实际程序代码(称为源代码)已经由一个称为编译器的特殊程序进行过处理,该程序将源代码转换为计算机可以理解的格式(有关编译器的详细信息,请参见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(图形文件格式)都是非常受欢迎的基于开放源代码的软件。
国新裕承联手推动数字经济发展和资产管理新机遇
光合作用土壤呼吸综合测定系统【莱恩德LD-GH60+】
西门子Smart200PLC的跑马灯程序解析
离心机的分类、功能及应用
气动切断阀的工作原理及结构特点
“开放源代码”是什么?
比亚迪汉前脸和侧身图公布,全球量产车顶级水平预计2020年上市
云计算的服务模式有哪些_云计算的特点包括哪些
深兰科技发布采用AutoML技术的现代农业开放平台
霍尔传感器的特点及用途
TD-SCDMA直放站对网络性能的影响
海默机器人全新机器人编程系统EngSign 5.0重磅发布
中芯国际上调全年收入增长预期23%-25%
杭州水务热线呼叫中心升级 提高客服处理效率
室内LED灯泡需要更可靠的电路保护
工程机械远程监控运维平台助力作业安全监管
DshanMCU-R128s2 烧写固件
MIC2550应用电路
IGBT智能化驱动板SCALE
Facebook数据泄露丑闻之后风波不断 脸书再遭数据泄露