阅读更多

2顶
0踩

互联网

转载新闻 开源界的 5 大开源许可协议

2010-03-31 12:21 by 副主编 just_cool 评论(1) 有3526人浏览

越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。

Opensourceubuntu in A Short Guide To Open-Source And Similar  Licenses

什么是许可协议?

什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。

不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。

开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。

GNU GPL

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:

  • 可自由复制
    你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
  • 可自由分发
    在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
  • 可以用来盈利
    你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
  • 可自由修改
    如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。

需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。

GNU LGPL

GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

BSD

BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。

新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

MIT

MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:

该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。

这意味着:

  • 你可以自由使用,复制,修改,可以用于自己的项目。
  • 可以免费分发或用来盈利。
  • 唯一的限制是必须包含许可声明。

MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有一篇文章阐述这个问题)。

Apache 协议还有以下需要说明的地方:

  • 永久权利
    一旦被授权,永久拥有。
  • 全球范围的权利
    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
  • 授权免费,且无版税
    前期,后期均无任何费用。
  • 授权无排他性
    任何人都可以获得授权
  • 授权不可撤消
    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。

分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

Creative Commons

Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:

  • 署名权
    必须为原始作者署名,然后才可以修改,分发,复制。
  • 保持一致
    作品同样可以在 CC 协议基础上修改,分发,复制。
  • 非商业
    作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网站,也有人认为非商业的意思是非盈利。
  • 不能衍生新作品
    你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。

这些许可形式可以结合起来用,其中最严厉的组合是“署名,非商用,不能衍生新作品”,意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是“署名”,意味着,只要为原始作者署名了,就可以自由处置。

延伸资源

本文国际来源:Smashing Magazine A Short Guide To Open-Source And Similar Licenses

 

中文编译来源:锐商企业CMS 网站内容管理系统 官方网站

来自: comsharp
2
0
评论 共 1 条 请登录后发表评论
1 楼 liuming 2010-04-06 13:12
shl270070 写道
这个贴有用,N多技术公司都该好好学学,关注的人少,说实话,挺悲哀。


国内这方面确实要加强,个人还好说,很多公司都跟本不知道这是什么。还有的把源码给人家看看也说自己是开源。
0 楼 shl270070 2010-04-01 09:18
这个贴有用,N多技术公司都该好好学学,关注的人少,说实话,挺悲哀。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 国内一些比较大型的IT软件外包公司名单

    这种形式经常需要开发团队各个地方各种公司到处跑,等项目完成后将开发成果交付给项目的开发团队,便可回到所在的公司继续开展项目。**在开发期间把员工不当...根据网上的资料,整理出来的一份国内软件外包公司的名单。

  • 2018中国软件和信息技术服务综合竞争力百强企业名单

    2018中国软件和信息技术服务综合竞争力百强企业名单排名 企业名称1 华为技术有限公司2 腾讯科技(深圳)有限公司3 北京百度网讯科技有限公司4 中兴通讯股份有限公司5 浪潮集团有限公司6 中国通信服务股份有限公司7 ...

  • 软件公司有哪些

    sap、oracle、赛捷(sage)、用友、金蝶、鼎捷、神州数码、浪潮、新中大、东软、中软、宝信软件、博科、天元国信、微软、正航软件、管家婆、金算盘、管易、智邦国际、德米萨、通易、精效ERP、万里牛懒人ERP、来钱快速...

  • 2018年(第17届)中国软件业务收入前百家企业名单

    2018年(第17届)中国软件业务收入前百家企业名单 发布时间:2018-11-07 来源:运行监测协调局    序号 企业名称 1 华为技术有限公司 2 中兴通讯...

  • 2018中国软件和信息技术服务综合竞争力百强企业

    2018中国软件和信息技术服务综合竞争力百强企业名单日前发布,华为、腾讯、百度名列前三名。本届百强企业是由企业自主申报和相关协会、单位推荐相结合,经专家评估、审核、确定。 本届百强企业2017年软件业务收入...

  • 2010年国家规划布局内重点软件企业认定名单

    2010年国家规划布局内重点软件企业认定名单

  • 软件公司名单库

    软件公司名单

  • 软件公司

    sap、oracle、赛捷(sage)、用友、金蝶、鼎捷、神州数码、浪潮、新中大、东软、中软、宝信软件、博科、天元国信、微软、正航软件、管家婆、金算盘、管易、智邦国际、德米萨、通易、精效ERP、万里牛懒人ERP、来钱快速...

  • 工信部发布2015年中国软件业务收入"百强"发展报告(zz)

    二、本届软件百家企业特点 面对2014年错综复杂的国际环境和不断加大的国内经济下行压力,本届软件百家企业坚持改革创新,努力开拓国内外市场,实现稳中向好的发展局面,有力促进了社会信息化发展水平提高和两化深度...

  • 2012中国软件业务收入百强企业发布 (zz.IS2120)

    2012年(第十一届)中国软件业务收入前百家企业名单 //z 2012-10-03 20:27:13 IS2120@BG57IV3.T1002468230.K 单位:万元 序号 企业名称 软件业务收入 序号 企业名称 ...

  • 2013我国软件业务收入百强企业揭晓 华为夺冠 (zz)

    新华网5月14日消息2013年(第十二届)软件前百家企业业务收入达3667亿元,华为、海尔、浪潮分列前三名 在国家统计局服务业统计司、工业和信息化部运行监测协调局的指导下,中国电子报发布了2013年(第十二届)中国...

  • 中国企业信息化30年发展简史

    我们回顾历史,事情都是成对出现的:如国产企业软件和快速开发工具、外企ERP进入和本土管理咨询公司崛起、行业软件和系统集成解决方案商,都是成对出现的。就是这个时期出现SaaS特别尴尬,前不着村后不着店,孤。 ...

  • 国家重点软件企业

    1 北京用友政务软件有限公司2 北京赛迪时代信息产业股份有限公司3 高德软件有限公司 4 二六三网络通信股份有限公司 5 北京超图软件股份有限公司6 北京握奇数据系统有限公司7 建研科技股份有限公司 8 北京富士通系统...

  • 2016年(第15届)中国软件业务收入前百家企业名单(zz)

    2016年(第15届)中国软件业务收入前百家企业名单 单位:万元 //z 2017-04-28 09:45:43 L.247'51257 BG57IV3 T3971688799.K.F1517592577[T12,L3421,R101,V7361] 序号 企业名称 软件业务收入 1 华为...

  • 基于JAVA的幼儿园管理系统

    基于JAVA实现的幼儿园管理系统,实际操作方法详见登录说明,可以实现基本的人员、菜谱、课程等管理,适合JAVA入门参考,或可基于这个系统的简易框架完成更复杂的变更。初学者练手,若有疏漏或缺陷,欢迎留言,前人栽树功德无量。

  • SCons:一款Python语言的软件构建工具

    SCons是一个开源的软件构建工具,利用Python脚本语言进行项目的构建和管理。与传统的构建工具相比,SCons提供了更可靠、灵活且高效的构建流程。它通过Python脚本定义构建规则,使开发者能够使用强大的编程语言特性来解决复杂的构建问题。 特点 Python脚本配置:SCons使用Python脚本作为配置文件,提供了编程语言的灵活性和功能性。 自动依赖分析:内置可靠的自动依赖分析,无需手动管理依赖关系。 多语言支持:支持多种编程语言和工具,如C、C++、D、Java、Fortran、Yacc、Lex、Qt和SWIG等。 跨平台支持:设计为跨平台构建工具,支持Linux、Windows、macOS等操作系统。 并行构建:支持并行构建功能,能够同时执行多个构建任务,提高构建效率。 集成Autoconf功能:内置类似Autoconf的功能,自动查找包含文件、库、函数和typedefs。 构建缓存:支持构建缓存功能,加速多次构建过程。

  • Rust语言教程&案例

    Rust语言教程案例简介: 本案例提供了一个使用Rust语言编写的简单程序,目的是展示如何在控制台输出"Hello, World!"。这个程序是一个入门级的示例,适合初学者用来了解Rust的基本语法和运行机制。 - **语言特性**: Rust是一种注重安全性、并发性和性能的系统编程语言。 - **程序结构**: 程序包括了Rust的基本组成部分,如`main`函数和`println!`宏。 - **输出**: 使用`println!`宏输出"Hello, World!"到控制台,这是Rust中的标准输出宏。 - **编译运行**: 程序需要通过Rust编译器编译。Rust提供了`cargo`,一个强大的包管理和构建工具,用于构建和运行Rust项目。 - **适用人群**: 适合对Rust感兴趣的初学者,以及希望快速了解Rust编程基础的开发者。 - **学习价值**: 通过这个案例,学习者可以学习到Rust的基本语法、程序结构、控制台输出,以及如何编译和运行一个简单的Rust程序。 这个案例是进入Rust编程世界的第一步,为进一步探索Rust的高级特性如所有权模型、借

  • pyzmq-23.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

  • 华为OD机试真题pdf

    题日描述:系统需要提供人民币(CNY)、美元(U5D)、英镑IGBP)、港币(HKD)价值转换功能。为了简单处理,题日的说明和考生调试可以用下面的默认汇率: 1CNY-2HKD 1USD-8CNY 1GBP=2USD 请按团汇率实现货币最大兑换和最小兑换功能。例如:最大兑换,即尽量往价值高的货币兑换:Currency(1200,CN)75 GBP Currency(127,HKD)=3 GBP 1U5D 7CNY 1HKD 最小兑换,即尽量往价值低的货币兑换,直接转换为多少HKD即可。Currency(20,CNY)40 HKD 汇率是实时变化的,但是短期内大致符合当前价值规律,即相同数值的货币,价值满足GBP>USD>CNDHKD,每组输入数据都会有不同的输入汇率,需要按设置的汇率进行换。 解答要求时间限制:1000ms,内存限制:64MB输入

  • widgetsnbextension-3.0.0b4-py2.py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics