开源软件(英文全称:Open source software,英文缩写:OSS,中文全称:开放源代码软件)是一种源代码可以任意获取的计算机软件,这种软件的著作权持有人在软件协议的规定之下保留一部分权利并允许用户学习、修改、修改以及以任何目的向任何人分发该软件。开源协议通常符合开放源代码的定义的要求。一些开源软件被发布到公有领域。开源软件常被公开和合作地开发,开放源代码软件是开源发展的最突出的例子,也经常与用户生成内容(user-generated content)做比较。开源软件的英文“open-source software”一词出自free software(自由软件)的营销活动中。Standish集团一份报告指出,采用开放源代码软件的模式让消费者每年节省60亿美元。
开源并不仅仅意味着对源代码的访问。开放源代码软件的发布条款必须符合下列条件:
-
自由再分发(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)是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。这方面的不受限制正是自由软件最重要的本质,与自由软件相对的是闭源软件(Proprietary Software)非自由软件,也常被称为私有软件、封闭软件(其定义与是否收取费用无关)。自由软件受到选定的“自由软件授权协议”保护而发布(或是放置在公共领域),其发布以源代码为主,二进制文件可有可无。自由软件的许可证类型主要有GPL许可证和BSD许可证两种。另外,自由软件也可以看作开源软件的一个子集。
资料来源:
• Weber, Steve. The success of open source. Harvard University Press, 2004.