开放源代码
开放源代码(Open source code)也称为源代码公开,指的是一种软件发布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放源代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。
基本信息
- 中文名
开放源代码
- 外文名
Open source code
- 应用学科
- 又称
源代码公开
- 类型
软件发布模式
- 应用领域
生物技术领域
- 依据
在开放源代码许可证
产生
知识产权模式在很大程度上促进了软件产业的迅猛发展,对软件产品的独占权给许多的软件公司(尤其是规模大的软件公司)带来了丰厚的商业利润,微软就是最好的例证。但是随着软件业的发展,传统的知识产权模式已经越来越显出其不足之处。主要表现以下两个方面:
1、软件成果独占权带来的弊端
基于知识产权保护的独占权,就阻碍了他公司进入此类市场的“商业壁垒”,无相关产品接应,无市场竞争,从而形成了垄断。
2、软件的源代码保密带来的危害
由于知识产权保护,各个公司对软件源代码保密,只有公司内部流通交流,软件技术专家和学者无法进行学习和研究,造成了软件的重复开发和使用,浪费社会劳动力。并且,软件的安全性和改进完善受到了限制。
由于软件行业的垄断,造成了学术界的强烈不满,因此开源运动和自由运动产生了。开放源代码软件源于自由软件运动。1
简介
开放源代码(英语:Open Source)描述了一种在产品的出品和开发中提供最终源材料的做法。一些人将开放源代码认为是一种哲学思想,另一些人则把它当成一种实用主义。在这个词广泛使用前,开发者和生产者使用很多词去描述这个概念;开放源代码在互联网上获得广泛使用,参加者需要大量更新电脑源代码。开放源代码使得生产模块、通信管道、交互社区获得改善。随后,一个新著作权、软件授权条款、域名和消费者提供创建的,一个新词开源软件诞生。12
开源模型概念包括同时间不同时程和方法来生产,相对而言,更加集中式的软体设计模型,例如典型的商业软体公司。一个开源软体开发的主要原则和惯例是易货贸易和合作的同侪生产,经由免费公开的最终产品、原始信息、蓝图和文件。这逐渐应用在其它领域,例如生物技术。2
开放源代码软件就是在开放源代码许可证下发布的软件,以保障软件用户自由使用及接触源代码的权利。这同时也保障了用户自行修改、复制以及再分发的权利。简而言之,所有公布软件源代码的程序都可以称为开放源代码软件。 开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有GNU/Linux操作系统。2
严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPL的软件都是开放的并且是自由的。23
开放源代码软件运动是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。2
定义
开放原始码的定义由Bruce Perens(Debian创始人之一)定义如下:
(1)自由的再散布
符合开放源代码定义的授权,不得限制任何一方销售或让予已成为其中一部份的开放性源代码,即使该聚合性软件中包含多种不同来源的程序。此一授权不得要求权利金或其它费用。
(2)程序源代码
程序散布时必须包括源代码与其所编译的形式。假若程序在散布时并未附加源代码,其必须以一公开方式,在不超过合理的复制成本下,让人得以取得源代码,例如可以在不收取费用的情况下在网络上供入下载。这里所谓的“源代码”,必须是程序设计者最易于修改程序的形式,故意混乱源代码或是以所谓的中间形式,如预处理器、或编译程序所处理后的结果是不被允许的。