什么是开源软件?

2014-09-19 09:54:15       2176    原创
摘要:发布者:OSS Watch  日期:2005-05-01  最近更新:2012-05-14 对 OSS Watch 来说,开源软件指的是在开放源代码促进会(OSI)认证的许可协议下发布的软件。OSS Watch 使用 OSI 核准清单,避免对开源定义的解释以及哪些许可协议符合要求产生争议。承认 OSI为该问题的最终权威机构,可以避免很多困惑。

OSI 核准的每项许可协议都符合开源定义的条件。该定义包含 10 项标准。其中最重要的是软件可以自由再发行,直接访问源代码,以及允许对软件与演绎作品进行修改并在相同的许可条件下发行。


不同类型的许可协议都可以符合这些标准,从GNU 通用公共许可协议(GPL)到在长度和目的上与 GPL 差异很大的 MIT 许可协议。实际上,约有 70 项许可协议已通过审批流程。为帮助浏览这些许可协议,OSS Watch 已撰写了一系列文档,用简明的英文描述部分关键的许可协议。

对于寻求许可其代码的个人或项目来说,使用 OSI 核准的许可协议可以简化这一流程。实际上,除非软件是在 OSI 核准的许可协议下发布的,否则很多人(包括 OSS Watch)并不把软件看作是开源的。对于希望从事开源的潜在参与者和用户来说,它提供了一个查看代码是否开源并由大型社区接纳的快捷办法,。


开源“仅仅”指许可吗?

开源这种表述有着广泛的用途。对于 OSI 来说,它还指许多开源软件项目所使用的独特的软件开发方法。OSI 主页的开头这样写道:“开源是一种软件开发方法,用于集结分散于同行之间的代码审阅以及对于开发流程的透明化。”但是,OSI 在开源定义中不再定义这种方法,而只关心用来保护软件开发方式的许可要求。

开放开发方法所遵循的原则,可能并不是学术界通常所探讨的软件开发原则。严格上来讲,开源软件的开发并非必须使用开放开发方法。选择使用哪种开发方法,取决于项目所选择的可持续性线路。


开源还有其他含义吗?

“开源”这个词汇起源于新闻和情报领域,指的是可以公开获取的信息来源。OSI 的创建者深蕴其道,并认为它是“一种特点,而非缺点“。

有时,开源的概念会与开放内容或自由内容混合使用。开放内容指的是读者可以自由编辑、修改、添加的内容。一个很好的例子就是以在线开放内容百科全书著称的维基百科。如今,开源可以在不同的情境下使用,远不止在软件领域。但是需要重申的是,对于 OSS Watch 来说,开源软件始终指的是 OSI 认证许可下发布的软件。


开源软件等同于“自由软件”吗?

自由软件自由软件基金会使用的一种表述。“自由软件”这个词汇要早于“开源软件”,其重点在于与软件相关的几种自由,因此总是在道德层面上审视这个问题。有些人更倾向于“自由软件”,不希望与“开源”有任何关联。自由软件不可与“免费软件”混淆,后者指的是可免费获取的软件,但无法获取其源代码(不开源)。

当 OSS Watch 成员在未特别限制的情况下使用“开源软件”这个词汇时,它通常同时包含自由和开源软件。这个软件集合的常用缩略语为 FOSS


延伸阅读

链接

•开源定义(注释版)[http://www.opensource.org/docs/definition.html]

•自由软件基金会 [http://www.fsf.org/]

•自由软件定义 [http://www.gnu.org/philosophy/free-sw.html]


本文由 OSS Watch 原创并经由Creative Commons Attribution-ShareAlike 2.0 England & Wales license许可证发布。


沪ICP备15046442号
蝉知1.6