开源技术发展介绍PPT课件
3 一、开源定义与区别
1、定义
Open Source(即开放源代码)的定义由Bruce Perens(曾是Debian的创始人 之一)定义如下:
●自由再散布(Free Distribution):获得源代码的人可自由再将此源代码散布。
●源代码(Source Code):程式的可执行档在散布时,必需随附完整 源代码或 是可让人方便的事后取得源代码。
GPL许可协议具有强Copyleft,有“病毒效应”,意味着用户如果要对GPL许 可的软件或基于GPL许可的软件的作品做再发行即Redistribution(例如作为用户 的产品的一部分发行),那么必须以不强于GPL许可证限制的条款发行,即必须 也是开源和免费,这就是所谓的“传染性”。
GPL许可协议是目前最流行的开源许可证,被诸多有名的开源软件使用,例 如Linux内核、MySQL数据库等。
●授权条款不得限制其他软件(License Must Not Restrict Other Software) :当某一开放源代码软件与其他非开放源代码软件一起散布时(例如放在同一 光碟片),不得限制其他软件的授权条件也要遵照开放源代码的授权。
●授权条款必须技术中立(License Must Be Technology-Neutral):意即授权 条款不得限制为电子格式才有效,若是纸本的授权条款也应视为有效。
许可证将特定的权利赋予用户,但同 时也会规定用户必须遵守的约束。开源 软件通常使用开源许可证。所有的开源 许可证由开放源代码促进会标准组织( Opensource Initiative,OSI)认证。
8 二、开源许可证的介绍与分类
2、开源许可证的分类
按照使用条件的不同,开源软件许可证可以分为三类(严苛程度递减)
4 一、开源定义与区别
●对程式在任何领域内的利用不得有差别待遇(No Discrimination Against Fields of Endeavor):意即不得限制商业使用。
●散布授权条款(Distribution of License):若软件再散布,必需以同一条款 散布之。
●授权条款不得专属于特定产品(License Must Not Be Specific to a Product ):若多个程式组合成一套软件,则当某一开放源代码的程式单独散布时,也 必需要符合开放源代码的条件。
6
目录1 开源定义与区别 2 开许可证介绍与分类3 开源的发展趋势 4 开源软件发展历程 5 开源软件快速发展并广泛应用的原因
6 国内开源软件的发展及社区现状 7 开源软件如何盈利 8 开源中国开源世界
7 二、开源许可证的介绍与分类
1、开源许可证介绍
开放源代码定义给出了开放源代码软 件的基本性质。不幸的是,术语"开放源 代码"遭到了滥用,并且由于它的描述性 ,它不能作为一个商标被保护。由于社 团需要一种可靠的方式以确定一份软件 是否真正是开放源代码软件。OSI为此目 的而注册了一个认证标志,OSI Certified。如果在一份软件上看到了该 标志,那么该软件就是必定是按照遵从 开放源代码定义的许可证发布的,否则 ,该发行人就是在滥用该标志而且违反 了法律。
(1). 使用该开源软件的代码再散布(redistribute)时,源码也必须以相同 许可证公开。 代表许可类型:GPL,AGPL GNU通用公共许可协议(英语:GNU General Public License,简称GNU GPL 或GPL),是一个广泛被使用的自由软件许可证条款,最初由理查德·斯托曼为 GNU计划而撰写。GPL是自由软件基金会的主打许可证,常用的是1991年的第2 版和2007年的第3版。 GPL授予程序接受人以下权利: 一、以任何目的运行此程序的自由; 二、再发行复制件的自由; 三、改进此程序,并公开发布改进的自由(前提是能得到源代码)。
LGPL是GPL的宽松版,它对产品所保留的权利比GPL 少,总的来说,LGPL 适合那些用于非GPL 或非开源产品的开源类库或框架。因为GPL 要求,使用了 GPL 代码的产品必须也使用GPL 协议,开发者不允许将GPL 代码用于商业产品。 LGPL 绕过了这一限制。
9 二、开源许可证的介绍与分类
(2). 使用该开源软件的代码并且对开源代码有所修改后再散布时,源码必须 以相同许可证公开。 代表许可类型:LGPL, CPL,CDDL, CPL,MPL等 例:LGPL GNU宽通用公共许可协议(英语:GNULibrary General Public License,简称 LGPL),又名GNU库通用公共许可证,同样出自自由软件基金会,有1999年的 2.1版和2007年的3.0版。
5 一、开源定义与区别
2、区别
开源软件与自由软件的区别
许多人将开放源代码与自由软件(Free Software)视为相同,其实不然。以 定义条件而言,自由软件仅是开放源代码的一种,也就是说自由软件的定义较 开放源代码更为严格。 并非开放源代码的软件就可称为自由软件,要视该软件的授权条件是否合乎自由 软件基金会对自由软件所下的定义。
●衍生著作(Derived Works):让人可依此源代码修改后,在依照同一授权条 款的情形下再散布。
●原创作者程式源代码的完整性(Integrity of The Author’s Source Code): 意即修改后的版本,需以不同的版本号码以与原始的程式码做分别,保障原始 的程式码完整性。
●不得对任何人或团体有差别待遇(No Discrimination Against Persons or Groups):开放源代码软件不得因性别、团体、国家、族群等设定限制,但若 是因为法律规定的情形则为例外(如:美国政府限制高加密软件的出口)。
1
开源技术发展介绍
Inspur group 2020/9/24
2013-12-24
2
目录
1 开源定义与区别 2 开源许可证介绍与分类 3 开源的发展趋势 4 开源软件发展历程 5 开源软件快速发展并广泛应用的原因
6 国内开源软件的发展及社区现状 7 开源软件如何盈利 8 开源中国开源世界
Inspur group 2020/9/24