了解几种常见的开源软件许可证

常用的开源许可证 MIT、Apache、GPL 常用的开源许可证 MIT License、Apache License 2.0、GNU General Public License (GPL) 阅读详情

因为工作上的原因,需要了解一下几种常见的开源软件许可证。这可以规避一些法律上的麻烦、做到心里有底;对项目、技术选型也会有所帮助。

GPL

GPL授予程序接受人以下权利,或称“自由”:

* 以任何目的运行此程序的自由

* 以学习程序工作机理为目的,对程序进行修改的自由(能得到源代码是前提)

* 再发行复制件的自由

* 改进此程序,并公开发布改进的自由(能得到源代码是前提)

相反地,随版权所有软件的最终用户许可证几乎从不授予用户任何权利(除了使用的权利),甚至可能限制法律允许的行为,比如逆向工程。

GPL与其他一些更“许可的”自由软件许可证(比如BSD许可证)相比,主要区别就在于GPL寻求确保上述自由能在复制件及演绎作品中得到保障。它通过一种由Stallman发明的叫copyleft的法律机制实现,即要求GPL程序的演绎作品也要在GPL之下。相反,BSD式的许可证并不禁止演绎作品变成版权所有软件。

copyleft

GPL不会授予许可证接受人无限的权利。再发行权的授予需要许可证接受人开放软件的源代码,及所有修改。且复制件、修改版本,都必须以GPL为许可证。

这些要求就是copyleft,它的基础就是作品在法律上版权所有。由于它版权所有,许可证接受人就无权进行修改和再发行(除合理使用),除非它有一个copyleft条款。如果某人想行使通常被法律所禁止的权利,只需同意GPL的条款。相反地,如果某人发行软件违反了GPL(比如不开放源代码),他就有可能被原作者起诉。

copyleft利用版权法来达到与其相反的目的:copyleft给人不可剥夺的权利,而不是版权法所规定的诸多限制。这也是GPL被称作“被黑的版权法”的原因。

许多GPL软件发行者都把源代码与可执行程序捆绑起来。另一方式就是以物理介质(比如CD)为载体提供源代码。在实践中,许多GPL软件都是在互联网上发行的,源代码也有许多可以FTP方式得到。

copyleft只在程序再发行时发生效力。对软件的修改可以不公开或开放源代码,只要不发行。注意copyleft只对软件有效力,而对软件的输出并无效力(除非输出的是软件本身)。不过这在GPL版本3中可能会有改动。

LGPL

GNU宽通用公共许可证,简称LGPL(GNU Lesser General Public License),被用于一些(但不是全部)GNU程序库。这个许可证以前被称为GNU库(Library)通用公共许可证。

LGPL是GPL的变种,也是GNU为了得到更多的甚至是商用软件开发商的支持而提出的。与GPL的最大不同是,可以私有使用LGPL授权的自由软件,开发出来的新软件可以是私有的而不需要是自由软件。所以任何公司在使用自由软件之前应该保证在LGPL或其它GPL变种的授权下。

Apache License

Apache License是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件:

* 需要给代码的用户一份Apache License

* 如果你修改了代码,需要再被修改的文件中说明

* 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议、商标、专利声明和其他原来作者规定需要包含的说明

* 如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache License。你可以在Notice中增加自己的许可,但不可以表现为对Apache License构成更改

Apache License也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。

BSD

BSD授权许可证(FreeBSD Copyright Information)具有多种授权许可证。总的来说你可以对软件任意处理,只要你在软件中注明其是来自于那个项目的就可以了。也就是说你具有更大的自由度来处置软件。如果你对软件进行了修改,你可以限制其他使用者得到你修改的软件的自由。

BSD授权许可证没有实现"通透性"自由,也就是其不保证软件源代码开放的连续性。这样如果你希望采用别人开发的BSD软件,进行一些修改,然后作为产品卖,或者仅仅保密自己的做的一些除了软件开发以外的工作,那么你就可以从中得利。

当一个非程序员仅仅理解一个程序的功能,但是不了解程序是如何做的时,即使你没有在开发软件中做任何工作那你就可以通过高超的市场技巧将软件卖给该用户。比如拿最流行的桌面操作系统作为例子,你就能很好的理解一个没有很好的程序技巧的软件公司只要具有高超的市场营销策略同样可以将垃圾卖给客户。如果你不具有很强大的编程能力,但是具有很强的市场能力和能将其他开发者的软件包括到自己的系统,而同时不将自己的修改开放出来将是非常强大的能力。从赚钱为目的的商务角度看来,如果你使用了BSD授权许可证的软件,那么你就可以任意进行。你可以更好地控制你的OS系统,并且防止其他人拷贝你的商业产品。

总结一下

简单的说,就是你使用了GPL许可证的软件,那么你的软件产品就被GPL“传染”了,也必须“自由”!这对国内的商业软件开发商来说是很难接受的。

但是LGPL, Apache License, BSD就不存在这个问题,后两者只要求你对软件原作者的工作进行必要的认可和尊重就行了,所以这是适合商业应用的。

所以在选择应用开源软件时,一定要明白自己的用途,选择合适许可证下的软件。

最后,我们可以参考一下对GPL的评论:

2001年微软的首席执行官Steve Ballmer称Linux为“癌症”,因为GPL的影响。微软的批评指出,微软憎恶GPL的真正原因是因为对微软的“包围、扩展、消灭”策略起了反作用。注意微软已以GPL为许可证发行了SFU(Microsoft Windows Services for UNIX)中所包含的部分组件,例如GCC。

GPL的批评者常常认为GPL是有“传染性”的“病毒”,因为GPL条款规定演绎作品也必须是GPL的。由于“演绎作品”通常被解释为包含GPL代码或动态链接到GPL库(如上)的软件,“病毒说”来源于GPL对于许可证的强制继承的要求。这正是GPL与BSD式许可证的哲学思想上的差异。GPL的支持者确信自由软件应确保其演绎作品同样“自由”,但其他人认为自由软件应给用户最大的自由。

9、开源软件许可证LGPL 2.1、GPL 3及Affero GPL 3详解 本文详细解析了LGPL 2.1、GPL 3以及Affero GPL 3三种开源软件许可证的核心条款和合规要求。重点讨论了LGPL 2.1在专有应用中的使用规则,包括动态链接和静态链接的合规方式、逆向工程限制以及在移动应用中的局限性;比较了GPL 3与GPL 2在衍生作品定义、版权左证触发条件、专利许可和反DRM条款等方面的改进;并介绍了Affero GPL 3针对云服务场景的扩展规则。文章还提供了不同应用场景下的许可证选择建议,帮助企业和开发者更好地理解和遵循开源许可证的合规要求,避免法律风险。 阅读详情

相关推荐

40、《GNU 宽通用公共许可证(LGPL)2.1 版解读》

本文详细解读了GNU宽通用公共许可证(LGPL)2.1版的核心内容,涵盖其适用场景、关键概念定义、许可范围及复制、修改和分发的具体条款。重点分析了LGPL在促进自由库广泛使用、与非自由库竞争以及扩大自由软件生态方面的优势,同时阐述了‘使用库的作品’、组合库、再分发权利、冲突处理等特殊规定。旨在帮助开发者理解并合规使用LGPL许可,推动软件的合法共享与创新。

i8j9k0l1的博客 92

「势说新语」浅谈软件许可证

软件从闭源为主到开源成为主流,经历了几十年的发展。世界范围内,由于知识产权越来越受到重视和法律层面的保护,开源软件许可证也已经被广泛视为一种具有法律效力的合约,它规定了在软件使用和分发过程中的权利和义务。...

Sectrend的博客 1922

中国国家级地面气象站基本气象要素日值数据集(V3.0)

气温数据TEM, 包括站点编号(sid), 纬度(lat), 经度(long), 高程(elev), 年(year), 月(month),日(day), 平均气温(tmean), 最高气温(tmax), 最低气温(tmin)气压数据PRS, 包括站点编号(sid), 纬度(lat), 经度(long), 高程(elev), 年(year), 月(month),日(day), 平均气压(pmean), 最高气压(pmax), 最低气压(pmin)中国国家级地面气象站基本气象要素日值数据集(V3.0)

J_Giser的博客 3766

开源软件许可协议LGPL-2.1简化解释

开源软件许可协议LGPL-2.1简化解释

橙-极纪元-JJYCheng 3310

如何为你的开源项目选择一个合适的开源协议?

今天又看到一个同学发布维权帖子《开源 App 被人抄袭到 iOS App Store 怎么办?》这个帖子转发到技术群的时候引发了很大的讨论,大多数同学都是声援的态度,也有较真的同学在讨论 MIT License ,那么License 是什么,MIT License 又是什么? License就是版权许可证,里面详尽表述了你获得代码后拥有的权利,可以对别人...

weixin_34250434的博客 113

常见开源软件许可证及其应用案例

*开源软件(Open Source Software, OSS)**是指其源代码可以被任何人查看、使用、修改和分发的软件。开源的核心理念是透明度和协作,通过共享源代码,开发者可以共同改进软件,促进技术创新和知识传播。开放源代码促进会(Open Source Initiative-OSI),提出开源需要满足的十个条款Free Redistribution(免费分发)Source Code(源代码)Derived Works(衍生作品)

weixin_43841461的博客 3210

开源软件 | 一文彻底搞懂许可证的定义、起源、分类及八大主流许可证,让你选型不再头疼

开源许可证是一种法律协议,它规定了软件代码可以被如何使用、修改和分发。其中,著作权是指对于软件代码的创作者所拥有的法律权利,包括复制、发布、演绎等权利。分发是指分发指软件作者向他人提供软件源代码或二进制代码或二者的副本。著作权法默认禁止共享,没有许可证的软件就不能免费地使用、修改、共享。在开源许可证中,通常会涉及到著作权许可授权的问题。这些许可协议可以分为两大类:强制性许可证和非强制性许可证。强制性许可证要求使用该软件的用户必须遵守特定的协议,否则将面临诉讼风险。

所有成功的背后,都是痛苦的坚持,所有的痛苦,都是傻瓜般的不放弃! 8263

Apache许可证是一种开源软件许可证,它允许用户自由地使用、复制、修改和分发源代码

最后,将修改后的项目发布到适当的平台上,并遵守许可证的其他规定。这种许可证与BSD和MIT许可证相似,都是宽松的许可证,意味着它们对软件的使用和分发限制较少。选择适合项目的开源软件许可证是一个重要的决策,因为它直接影响到软件的使用、分发和商业化。:类似于MIT许可证,BSD许可证也是一个宽松的许可证允许广泛的使用、修改和分发,包括商业用途,同样没有强制要求公开源代码。:这是专为Eclipse项目设计的许可证,它结合了宽松和严格的元素,允许用户自由使用、修改和分发软件,但要求保留某些版权声明。

[Blog][Domain] programb.blog.csdn.net 1478

开源软件许可证

开源软件许可证 笔者看来,软件作者选择向公众开放源代码,其理由无外乎如下三种: 第一,那些认为所有软件都应该以源代码方式发布的。如 Richard Stallman,他认为所有的软件都应该是开放源代码的,甚至为了建造一个理想中的全开源软件世界,创立了自由软件基金会,发明了 GPL 许可证,发起了 GNU 项目。 第二,通过开源软件展示自己的软件设计、算法和编码水平,并期望获得他人

cafe_bing的专栏 892

开源软件许可协议LGPL 2.1 和GPL 2.0的区别是什么?

开源软件许可协议LGPL 2.1 和GPL 2.0的区别是什么?

橙-极纪元-JJYCheng 3461

LGPL 商用的说明

1. 中文协议 http://www.thebigfly.com/gnu/lgpl/ 2. 英文协议 http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html 3. 详细的分析 http://bbs.csdn.net/topics/330104257

kakakun1的专栏 2008

GNU LGPL协议

GNU LGPL协议2.1版完整协议文本

turing321的博客 2199

安装反射大师具体步骤与使用教程

安装反射大师具体步骤与使用教程 安装Xposed框架 官网下载地址:https://repo.xposed.info/module/de.robv.android.xposed.installer 或者:安装Xposed的apk文件(提取码:kthq) 下载好之后直接拖入模拟器安装即可。然后打开这个App 安装过程会提示需要root权限哦!!!授予就好了! 安装反射大师 反射大师是一个支持一键脱壳的神器,很好用哦! 先下载反射大师 下载地址:https://pan.baidu.com/s/1ALN5n

liuxiaohuai_的博客 1万+

Qt的LGPL协议是否意味着可以自由用QT开发商业软件?

查过很多资料了,将商业软件与Qt LGPL的关系归结如下:1. 必须使用Qt的LGPL许可版本;2. Qt的库必须是动态链接,否则会有不必要的麻烦;3. Qt的库最好不与产品同时发布[QT官方建议Qt软件从Qt官方网站下载Qt库,否则会违反为GLPL协议]。 但你会发现Qt提供的下载地址很难打得开。个人觉得这一条基本可以忽略,仅需遵循第2条即可;或者你可以用2张光盘,一张用来发布,另一张用来提供Qt的共享库。下面是转载的别人的3篇文章,在此感谢他们的知识共享精神。文章1:QT的LGPL与闭源程序【转载

OJOE的专栏 2万+

pygame 教程翻译---- LGPL许可

pygame 教程翻译---- LGPL许可 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 版权所有© 1991,1999自由软件基金会 59 Temple Place, 330 Suite, Boston, MA 02111-1307 USA 每个人都被允许复制和分发一字不差的副本 使用本许可证文件,但不允许更改。 [这是第一个发布版本的Lesser GPL。它还重要 作为GNU库公共许可证版本2的继承者,因此 版本号2.1。]

小小鸟的博客 672

YOLOv11的对比学习预训练改进-(通过SimCLR预训练增强特征提取)

本文介绍了将SimCLR对比学习预训练与YOLOv11目标检测模型相结合的创新方法。文章首先概述了目标检测领域的发展现状和YOLOv11的架构优化,包括主干网络、特征金字塔和检测头的改进设计。其次详细解析了SimCLR对比学习的核心原理,涵盖数据增强、投影头设计和NT-Xent损失函数。最后探讨了如何将对比学习与目标检测有效结合,通过特征空间对齐和渐进式微调策略提升模型性能。该方法显著增强了特征提取能力,提高了检测精度和训练效率,特别是在小目标和遮挡目标的检测上表现突出。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 659

Arduino Mega2560电路原理图和PCB文件

Arduino Mega2560电路原理图和PCB文件注意:本工程文件均为DesignSpark PCB支持格式,用DesignSpark PCB可打开原理图和PCB文件。DesignSpark PCB下载地址:http://www.elecfans.com/topic/designspark/pcb.html

上一篇: 使用jBPM开发企业流程应用之在Tomcat上部署流程引擎及控制台
下一篇: 了解几种常见的开源软件许可证
AlexanderHu
博客等级 码龄22年 511粉丝 81原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值