开源软件和自由软件定义初探

对不了解软件的朋友来说,“开源软件”和“自由软件”都可能造成理解上的偏差,如认为“只要公开了源代码的软件就是开源软件”(Open Source Software),如把“自由软件”误作“免费软件”(Free Software)。下面粗略的翻看一些资料,了解了一下二者一些定义的要点。

开源软件要符合十大定义(参见:http://www.opensource.org/docs/osd ),并不是看得到源代码的软件就是开源软件。例如,某些软件的版权协议上规定,“个人非盈利免费、商业应用收费”、“禁止在其整体或任何部分基础上以发展任何派生版本、修改版本或第三方版本用于重新分发”,虽然这些软件自称“开源软件”,但是此“开源”(公开源代码)并非彼“开源”(Open Source)。那些看得到源码但是不能衍生等的软件在维基百科上叫作“source-available”( 参见:http://en.wikipedia.org/wiki/Open-source_software )。中文的意思是“可得到源代码的”,暂时没发现权威的中文译名。

另据维基百科资料( http://en.wikipedia.org/wiki/Open_Source_Initiative ),OSI 这个非盈利组织并没有取得“Open Source”的注册商标。据一份声明 (http://opensource2.usrbinruby.net/pressreleases/certified-open-source.html|title=OSI), 驳回的理由是“too descriptive”(太具描述性的?形容词?),正式的注册商标是“OSI, Open Source Initiative, and OSI logo ("OSI Logo")”(http://www.opensource.org/trademark)。这份声明指出“Open Source”这个概念是“OSI”这个组织带入主流的,却反而因为这个术语融入了主流而成为不能注册成为商标的原因之一(准确的意思请查看原文)。所以,即使是原生的英文术语尚且不被美国当局认可与保护,就更别说中文翻译过来的“开源”这个词在国内是否被合理使用了。所以,那些不符合 OSI 关于“开源软件”的严格定义却用“开源”标记自身的软件大量存在也就不足为怪了。

但是,OSI 还是在其商标指南( http://www.opensource.org/trademark-guidelines )中要求只有那些使用了其认证的协议的软件才能标记为“Open Source”。据维基百科讲( http://en.wikipedia.org/wiki/Open-source_software#Open_source_vs._source-available ),现任 OSI 主席 Tiemann 的支持者们使用来自 OSI、客户、社区成员的公共舆论压力促使那些误用“Open Source”的组织改变他们的授权或使用别的术语。

尽管这种可得到源代码的非开源软件的开放性还达不到“开源软件”的标准,但是它们还是具有开源软件的一些优点的,比如:用户可以修改代码以适应他们自身的需要,一些第三方专业人员也可以帮助用户修改代码以获利,软件商停止技术支持后其软件仍可由自己或第三方人员提供支持,等等。相对于开源软件也有一些缺点:用户一般应该不会加入这个软件的开发,不会出现基于这个软件的第三方版本(比如:Debian有基于其的衍生版本一百多个,可谓人丁兴旺,不过这对于商业软件自身来说是缺点还是优点呢?),等等。

自由软件要符合四大定义( http://www.gnu.org/philosophy/free-sw.html )。自由软件必然是开源软件,但开源软件却不一定是自由软件。参见:( http://en.wikipedia.org/wiki/Free_software )。开源软件主要是从提高软件产品质量出发来说的,是一种软件开发方法;而自由软件则主要是从一种道德准则来说的,是一种社会运动。不过,也不能说“开源”是一种纯粹的技术术语,这可以从其网站首页的使命的最后一句看出来”..., and an end to predatory vendor lock-in“(终结软件壁垒?)

自由软件和开源软件都有丰富的内涵,短期完全理解决非易事。仅为一点学习心得小结。欢迎交流,批评和指正。

2 thoughts on “开源软件和自由软件定义初探”

Comments are closed.