菲比斯,开源创造奇迹。

开源软件(英语:open source software,英文缩写:OSS,中文也称:开放源代码软件)是一种源代码可以任意获取的计算机软件,这种软件的版权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、增进提高这款软件的质量。

开源协议通常符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发。开源软件是开放源代码开发的最常见的例子,也经常与用户生成内容(user-generated content)做比较

[1]。 开源软件的英文“open-source software”一词出自free software(自由软件)的营销活动中[2]。

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

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

open_source

开放源代码的定义

开放源代码的定义由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):意即许可协议不得限制为电子格式才有效,若是纸本的许可协议也应视为有效。