快好知 kuaihz订阅看过栏目

 

指的是一种软件散布模式。一般的软件仅可取得已经过编译的二进制可执行档,通常只有软件的作者或著作权所有者等拥有程序的原始码。有些软件的作者会将原始码公开,此称之为“源代码公开”,但这并不一定符合“开放原代码”的定义及条件,因为作者可能会设定公开原始码的条件限制,例如限制可阅读原始码的对象、限制衍生品等。

简介

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

开放源代码有时不仅仅指开放源代码软件,它同时也是一种软件开放模式的名称。使用开放源代码开放模式的软件代表就有Linux操作系统。开放源代码开放模式的名字及其特点最早是由美国电脑黑客埃里克·斯蒂芬·雷蒙在他的著作《大教堂和市集》(The Cathedral and the Bazaar)等一系列论文集中提出并探讨的。开放源代码是信息通讯技术发展引发信息革命所带来的知识社会条件下面向未来的,以开放创新、共同创新为特点的,以人为本的创新2.0模式在IT行业的典型体现和生动注解。

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

开放源代码软件运动是一个主要由程序工程师及其它电脑用户参与的声势浩大的运动。它是自由软件运动的一个分支,但两者的差别并不明显。一般而言,自由软件运动是基于政治及哲学思想(有时被称为所谓黑客文化)的理想主义运动,而开放源代码运动则主要注重程序本身的质量提升。

开放原始码的定义

开放原始码的定义由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):意即授权条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。

重要人物

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

林纳斯·托瓦兹——Linux操作系统的创造者 Eric Steven Raymond——开放源代码运动理论家,Fetchmail软件的创造者,《大教堂与市集》的作者

组织及协作计划

Linux——第一个采用开放源代码软件开放模式的软件协作计划

Debian——开放源代码开放模式下的Linux套件 Mozilla——开放源代码的浏览器 OpenOffice.org——开放源代码的办公软件 OpenBSDFreeBSDNetBSD——三个不同的开放源代码UNIX版本 开放源代码促进会(Open Source Initiative)——促进开放源代码运动发展的组织 OSDN——专门发布与开放源代码运动有关新闻的网站

介入开源运动发展的企业

红帽公司(Red Hat)——最大的Linux套件发行商

苹果电脑(Apple)——开放了该公司操作系统Mac OS的内核Darwin的源代码

开源软件基础

操作系统

Linux

Redhat

OpenLinuxSuseSlackwareDebianUbuntuBSDNetBSDFreeBSDOpenBSD 协议基础 高层协议 TCP/IPSuite分布式协议 CORBADCOMRMI中间件协议 XSTP 底层协议 OSI模型SNA模型APPN模型 开源软件语言 表现层语言(HTML, CSS, XML) 脚本语言(XSL, TCL, PHP, JavaScript, Perl, Python),不同于前三者,其中Perl, Python偏向系统语言。 系统语言(C/C, Java)

部分开源软件

Eclipse——最强大的软件开发平台,尤其是对 Java 开发

GNUEmacs——非常强大的文本编辑软件 TeX——强大的排版软件 XFree86,X.Org服务器——用于UNIX/Linux系统的图形用户软件 Apache——非常流行的HTTP服务器 GNUGCC——开源的多种语言编译器 Zope——最优秀的应用服务器 Plone——内容管理系统

参见

万圣节文件

内容开放Sourceforge自由软件

外部链接

欧盟关于开放源代码软件使用情况的报告

<<开源软件文集>>英文版 开放源代码促进会 复杂性科学视野下的科技创新 ICT融合与发展视野下的知识社会与创新2.0 “知识社会与创新2.0”第二届中国移动政务研讨会

参考文献

葛林.穆迪(Glyn Moody)著,杜默译,Linux传奇:让比尔盖茨坐立难安的天才,时报文化2001年台北,ISBN 9571333628

开源创新与创新2.0 http://www.mgov.cn/seminar/08chen.pdf

投稿
非常不爽,删了吧! 相关词条:其他 衍生品 软件 用户 源代码 权利 Linux操作系统 黑客 创新2.0 源代码 GPL BSD 自由软件运动 Source Code Richard Stallman Eric Steven Raymond Debian OpenOffice.org OpenBSD FreeBSD NetBSD