跳转到内容

开源软件

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是本页的一个历史版本,由WikitanvirBot留言 | 贡献2011年2月11日 (五) 19:11 (r2.7.1) (機器人 新增: bn:মুক্ত সোর্স সফটওয়্যার编辑。这可能和当前版本存在着巨大的差异。

开放源代码促进会(OSI)徽标

开源软件(英语:Open source software,英文缩写:OSS,中文也称:开放源代码软件)是一种原始码可以任意获取的电脑软件,这种软件的著作权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。开源协议通常符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发。开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容(user-generated content)做比较[1]。 开源软件的英文“open-source software”一词出自free software自由软件)的营销活动中[2]

开源软件同时也是一种软件散布模式。一般的软件仅可获取已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。

有些软件的作者只将原始码公开,却不符合“开放源代码”的定义及条件,因为作者可能设置公开原始码的条件限制,诸如限制可阅读原始码的对象、限制派生产品等,此称之为开放源代码软件(例如知名的模拟器软件MAME),因此公开原始码的软件并不一定可称之为开放源代码软件。

开放源代码的定义

开放源代码的定义由Bruce Perens(曾是Debian的创始人之一)定义如下:

  • 自由再散布(Free Distribution):允许获得原始码的人可自由再将此原始码散布。
  • 原始码(Source Code):程序的可执行档在散布时,必需以随附完整原始码或是可让人方便的事后获取原始码。
  • 派生著作(Derived Works):让人可依此原始码修改后,在依照同一授权条款的情形下再散布。
  • 原创作者程序原始码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的代码做分别,保障原始的代码完整性。
  • 不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设置限制,但若是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
  • 对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。
  • 散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。
  • 授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程序组合成一套软件,则当某一开放源代码的程序单独散布时,也必需要符合开放源代码的条件。
  • 授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
  • 授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。

开放源代码与自由软件

许多人将开放源代码与自由软件(free Software)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由软件基金会对自由软件所下的定义:

开放源代码软件就是在GNU通用公共许可证GPL)下发布的软件,以保障软件用户自由使用及接触原始码权利。这同时也保障了用户自行修改、复制以及再分发的权利。简而言之:所有公布软件原始码的程序,都可以称为开放源代码软件。

开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统。开放源代码开放模式的名字及其特点最早是由美国电脑骇客埃里克·斯蒂芬·雷蒙在他的著作《大教堂和市集》(The Cathedral and the Bazaar)等一系列论文集中提出并探讨的。

严格地说来,开放源代码软件与自由软件是两个不同的概念,只要符合开源软件定义的软件就能被称为开放源代码软件(开源软件)。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”。但在现实上,绝大多数开源软件也都符合自由软件的定义。比如,遵守GPLBSD许可的软件都是开放的并且是自由的。

开放源代码软件运动是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓骇客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

重要人物

组织及协作计划

  • Linux——第一个采用开放源代码软件开放模式的软件协作计划
  • Debian——开放源代码开放模式下的Linux包
  • Mozilla Firefox——开放源代码的浏览器
  • OpenOffice.org——开放源代码的办公软件
  • OpenBSDFreeBSDNetBSDOpenSolaris——四个相近的开放源代码4BSD UNIX版本
  • 开源人——以宣传开源人物和开源项目为主的开源社区
  • 开放源代码促进会(Open Source Initiative)——促进开放源代码运动发展的组织
  • OSDN——专门发布与开放源代码运动有关新闻的网站
  • GPAI——一开放源代码方式进行协作的人工智慧开发网站

介入开源运动发展的企业

开源模型的应用

wiki就是开源模型应用的实例之一。其他开源的应用还可以在政策法规方面。

漏洞

虽然开放源代码的堡垒看似严谨,但其实大部分的程序开发员都弄不清各种许可证之间的差别,导致成为了小部分别有用心人士所利用的对象,较著名的例子有DivX,早期DivX雏形是一个LGPL的自由软件,由大部分优秀的软件高手义务地开发,但当软件渐渐成形时,DivX的公司DXN利用LGPL的漏洞对DivX进行了闭源,大部分义工都感到被出卖,所以着手开发了XviD。虽然XviD在软件方面明显比DivX优秀,但市场占有率却不如DivX

开源软件基础

部分开源软件

更详细的列表请参见开放源代码软件列表

参见

参考

  1. ^ Verts, William T. Open source software. World Book Online Reference Center. 2008-01-13. 
  2. ^ Frequently Asked Questions. Open Source Initiative. [2008-09-08]. (原始内容存档于2006-04-23). 

外部链接