请输入您要查询的百科知识:

 

词条 开源软件
释义

§ 简介

开源软件

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

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

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

§ 定义

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

§ 符合条件

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

1、自由再散布(Free Distribution):允许获得源代码的人可自由再将此源代码散布。

2、源代码(Source Code):程序的可执行文件在散布时,必需以随附完整源代码或是可让人方便的事后取得源代码。

3、派生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条款的情形下再散布。

4、原创作者程序源代码的完整性(Integrity of The Author’s Source Code):意即修改后的版本,需以不同的版本号码以与原始的代码做分别,保障原始的代码完整性。

5、不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设置限制,但若是因为6、法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。

7、对程序在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。

8、散布授权条款(Distribution of License):若软件再散布,必需以同一条款散布之。

9、授权条款不得专属于特定产品(License Must Not Be Specific to a Product):若多个程序组合成一套软件,则当某一开放源代码的程序单独散布时,也必需要符合开放源代码的条件。

10、授权条款不得限制其他软件(License Must Not Restrict Other Software):当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一光盘),不得限制其他软件的授权条件也要遵照开放源代码的授权。

11、授权条款必须技术中立(License Must Be Technology-Neutral):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。[3][4]

§ 区别自由软件

许多人将开放源代码与自由软件(free Software)视为相同,但若以定义条件而言,自由软件仅是开放源代码的一种,也就是自由软件的定义较开放源代码更为严格,并非开放源代码的软件就可称为自由软件。

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

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

§ 重要人物

Richard Stallman——自由软件运动的精神领袖。

林纳斯·托瓦兹——Linux核心的创造者。

Eric Steven Raymond——开放源代码运动理论家,Fetchmail软件的创造者,《大教堂与市集》的作者。

§ 代表软件

eMule

eMule是一个基于eDonkey2000网络的文件共享客户端,但是它提供的功能比标准的客户端多得多。它是sourceforge.net上下载次数最多的软件。

Audacity

Audacity是一个免费的跨平台数字音频编辑器。由于Audacity具有广泛的实用性、多平台支持、并且免费,它在音频世界非常流行。

Creative Commons

Creative Commons (CC)是一个非盈利组织,它致力于扩充创造性加工的范围,供其他人合法地在上面建立和共享程序。

Ogg

Ogg是一个免费的、完全开放的多媒体位流(bitstream)容器格式,用于高效率进行流操作和文件压缩。"ogg"这个术语通常指音频文件格式Ogg Vorbis,即Ogg容器中的Vorbis编码音频。Ogg的其它一些著名组件还有视频编码器Theora、人类语言音频压缩格式Speex。

PHP

PHP

PHP是一个开放源代码的、经过深入思考的编程语言。PHP最初是被设计用于开发动态web内容的高级工具,主要在服务器端应用程序中使用。

Wiki

Wiki软件是一个典型的网站,它让用户非常快速和简单地增加、删除或编辑修改所有内容,有时候甚至于无需注册。Wiki的这种简单的交互和操作使它成为一种用于协同写作的高效率工具。

Azureus

Azureus是一个基于Java的BitTorrent客户端。目前它支持Windows、Mac OS X、Linux和Unix。它是最流行的bit-torrent客户端之一。

OpenOffice.org

OpenOffice.org是一个免费的、开放源代码的办公套件,包含字处理、电子表格、介绍、矢量绘图和数据库组件。它可以用于多种不同的平台,包括微软Windows、带有X Windows系统的类似Unix的系统(包括GNU/Linux、BSD、Solaris 和Mac OS X)。它与微软Office兼容,并且形成了竞争。它支持用于数据交换的OpenDocument标准,可以免费地使用。

Linux

Linux

Linux(著名的GNU/Linux)是一种计算机操作系统。它是开放源代码开发和免费软件的杰出代表;它与Windows或Mac OS等专利操作系统不同,它的所有下层源代码都是开放的,可供所有人免费使用、修改和重新发布。它的一些流行的重新发布版本有Ubuntu、Mandriva、Red Hat和Suse。

Mozilla Firefox

Mozilla Firefox是一种免费的、开放源代码的、跨平台的、图形化的web浏览器,由Mozilla公司和数百名志愿者开发。Firefox包含了集成的弹出窗口阻拦程序、多页浏览、活动书签,支持开放标准和用于添加功能的扩展机制。尽管其它的浏览器页支持这些特性,Firefox还是成为了第一款包含了所有这些特性的浏览器。PCWorld评论认为Firefox是2005年的最佳产品。 [5]

随便看

 

百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/9/21 18:57:42