十问十答 Apache 许可证

Apache 许可证由 Apache Software Foundation(ASF)发行,是一个由强大社区支持的流行的被广泛部署的许可证。Apache 许可证允许你自由地使用、修改和分发任何 Apache 许可的产品,前提是遵循 Apache 许可的条款。

01

Apache 许可证的条款与条件

Apache 许可证是宽松开源软件许可证——你可以根据自己的需要,以任何许可证发布 Apache 产品的衍生品。

你可以自由地使用、修改、分发和销售基于 Apache 许可证的软件,而不必担心基于何目的使用该软件,无论是个人使用、内部使用还是商业用途。

与其他仅适用于版权版权而非专利的许可证不同,Apache 许可证明确授予可以同时应用于版权和专利的用户权利。授予的权利是永久性的、不可撤销的、非排他性的,因此任何人可以使用该产品,无论是你还是别人。

如果使用 Apache 许可的组件重新分发软件,则需要提供许可证的副本,提供明确的 Apache 许可证的归属,并对你所做的修改添加说明。

你可以使用不同的许可证发布修改后的产品或衍生品,但未做修改的那部分必须保留 Apache 许可证,并且不能对修改后的产品(或延伸品)有任何暗示,暗示别人此作品出自 ASF。

另外,你针对使用 Apache 许可证的软件所做的任何修改,都可以自由地声明版权。由于 Apache 许可证不需要你在同一许可证下发布你所修改的代码,因此你可以选择特定的许可证条款和条件,用来说明其他人如何使用、复制或分发你所修改的代码。

02

版本间区别

Apache Group(后来更名为 Apache Software Foundation)在 1995 年发布了第一个版本的许可证,但现在很少被使用了。

2000 年,伯克利接受了自由软件基金会的建议,并从 BSD 许可证中撤销了他们的广告条款,并形成了经修改的 BSD 许可证(Apache 也照做了),并创建了 Apache 许可证 1.1。

删除广告条款也就意味着使用 Apache 许可的产品,它们的衍生品的宣传资料中不需要包括 Apache 许可署名,只需要在包含在文档中即可。

2004 年 ASF 决定彻底摆脱 BSD 模式,通过授予专利权(patents rights)及对「solid definitions」概念的定义,使其变得更清晰有条理,最终形成了 Apache 许可证 2.0。

03

Apache 许可证是否是 Copyleft 的?

Copyleft 许可证要求以相同的许可证发布现有软件的衍生品或修改后的版本,而 Apache 许可证在这方面不做要求。Apache 是宽松的许可证,它允许你使用任意许可证发布你所修改的那部分软件或代码。只不过你需要以相同的许可证(Apache 许可证)发布软件中未作修改的部分。

此外,每一个签发了 Apache 许可的文件中都必须包含原始版权、专利、商标和所有权声明。每个修改后的文件中还必须包含对原始文件所做修改的说明。

04

Apache 许可证 2.0 与 GNU GPL 的区别

GNU GPL 是 Copyleft 许可证。因此使用任何 GPL 许可的组件的软件都必须释出其完整的源代码,以及修改和分发整个代码的所有权利。Apache 许可证 2.0 没有强加任何此类条款,你不需要被迫发布修改后的版本。此外,你也可以选择使用其他许可证来发布修改后的的版本(但你需要为代码的未修改部分保留 Apache 许可证)。

05

Apache 许可证是否与 GNU GPL 兼容?

Apache 许可证 2.0 与 GPLv3 兼容,因此你可以自由地混合使用这两个许可证,但最终的软件必须在 GPLv3 下发布。

不过,Apache 许可证 2.0 与 GPLv2 不兼容,如果许可证因专利侵权而被起诉,则会终止授予专利权。以前的 Apache 版本完全基于 BSD 许可证,因此可以兼容。

06

Apache 许可证 2.0 与 MIT 的区别

MIT 是最为宽松的自由软件许可证之一。基本上,你可对使用 MIT 许可证的软件做任何你想做的事——只需确保向其添加原始 MIT 许可证和版权声明的副本即可。

Apache 许可证也是一个比较宽松的许可证。不过当涉及到修改时,它具有较为严格的条款。它要求你明确罗列对原始软件所做的所有修改,也就是说你要保留你的修改说明。此外 Apache 许可证还明确指出,你对你产品的命名不能带有任何被 Apache 任何的暗示。因此你的产品可以用「由 Apache 驱动的 SuperWonderServer」而不是「Apache SuperWonderServer」。MIT 许可证不会附加这样的条款。

与 Apache 许可证相比,由于 MIT 许可的简明性,它在开发人员中越来越受欢迎。尽管在「可以做什么、不可以做什么」来说与 Apache 许可证几乎相同,只不过 Apache 许可证看上去太过于「法律」化,而且也略显冗长啰嗦——简直了,就光光附录中关于解释如何应用许可证的那段,就比整个 MIT 许可证的文本长……

07

Apache 许可证 2.0 与 BSD 的区别

BSD 许可证是另一个高度许可的开源许可证,它允许你根据需要修改和重新分发根据 BSD 许可证获得许可的软件。早期版本的 Apache 许可证与原始 BSD (以及后来的修改版)是相同的,但 Apache 许可证 2.0 与它们不同。这两个许可证之间的主要区别是:

  • 专利权的明确授予:Apache 许可证 2.0 明确规定了在使用、修改或分发许可证时的专利权授予;它还列出了取消此类授权的情况。

  • 使用概念的明确定义:Apache 许可证 2.0 明确定义了其所使用的所有术语和概念,使其不具有二义性。

  • 无须重新编写即可使用:Apache 许可证 2.0 可以被其他项目轻易使用,而无需在许可证文档中进行任何重写。

08

如何在商业产品中使用 Apache 许可证 2.0?

你可以自由地在商业产品中使用任何 Apache 许可证 2.0 许可的软件,但不得以 Apache 相同或相似的方式来命名产品。你也不能在产品或其文档的任何地方使用 Apache 的标识(如彩色羽毛)。

在商业产品中使用 Apache 许可证许可的软件时,依旧要遵守 Apache 许可证所施加的条款和条件。

09

是否可以根据 Apache 许可证来许可自己的软件?

是的,可以。Apache 许可证 2.0 允许你根据 Apache 许可证发布自己的软件。

10

是否可出售 Apache 开源软件或代码?

是的,可以。你可以销售任何 Apache 许可的软件或代码。

&

这是个问题是比较重要的关于 Apache 许可的问题。不知道你还有其他问题么?我很乐意为你寻找答案。 

注意,该博客的作者不是律师,你不能把这篇文章视作任何形式的法律建议。如需法律咨询,你应当联系有相关从业经验或资质的法律顾问。

原题:Top 10 Apache License Questions Answered

原文:

https://resources.whitesourcesoftware.com/blog-whitesource/top-10-apache-license-questions-answered

作者:Rami SassEND

开源许可证相关推荐:

1)一文读懂常用开源许可证
2)一文读懂开源许可证异同

3)一文读懂 Copyleft 开源许可证


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/311129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(一)基于企业现金流预测的投资决策-项目介绍

项目背景 某企业想提高现金流的利用率,以便产生更大的投资收益。遇到的问题是:何如在保证更多的资金流向高收益投资的同时,不出现资金短缺的问题。 确定可用于投资的金额 Step1 预测未来的收入、支出和余额 潜在逻辑: 现金流 = 收入 - 支出当月余额(资金存量)= 上月余…

应用程序使用统计信息 – .NET CORE(C#) WPF界面设计

本文首发地址:https://dotnet9.com/10546.html关键功能点抽屉式菜单圆形进度条Demo演示:1. 新建项目使用 VS 2019 的 .NET Core 3.1 WPF 项目模板,创建名为 “MobileAppUsageDashboardCore” 的项目,NuGet 引入 MaterialDesign 的…

iso qemu 安装ubuntu_基于libvirt 和QEMU在macOS安装Ubuntu

在流行的虚拟架构体系中,最重要的技术当然要数libvirt和QEMU了。包括Linux虚拟化技术中KVM和xen都使用了QEMU。关于Xen和KVM进行虚拟化,以及在Window下使用Vmware,VirtualBox和hyper-v构建虚拟机,可能大家都有过很多的尝试。今天我…

在Ocelot中使用自定义的中间件(一)

Ocelot是ASP.NET Core下的API网关的一种实现,在微服务架构领域发挥了非常重要的作用。本文不会从整个微服务架构的角度来介绍Ocelot,而是介绍一下最近在学习过程中遇到的一个问题,以及如何使用中间件(Middleware)来解决…

多队列 部分队列没有包_记一次TCP全队列溢出问题排查过程

简介:记一次TCP全队列溢出问题排查过程1. 前言本文排查的问题是经典的TCP队列溢出问题,因TCP队列问题在操作系统层面没有明显的指标异常,容易被忽略,故把排查过程分享给大家。2. 问题描述A服务调用B服务接口超时,B服务…

[蓝桥杯2015决赛]完美正方形-dfs

题目描述 如果一些边长互不相同的正方形,可以恰好拼出一个更大的正方形,则称其为完美正方形。 历史上,人们花了很久才找到了若干完美正方形。 比如:如下边长的22个正方形 2 3 4 6 7 8 12 13 14 15 16 17 18 21 22 23 24 26 27 28 …

销量预测设计

目录一、算法计算逻辑举个直观的例子销量预测二、项目背景三、算法与业务的关系四、关于业务人员对未来外部变量“打标签”:五、关于预测颗粒度:六、关于预测准确率和影响准确率的因素:一、算法计算逻辑 销量预测算法建模要用到的数据&#…

.NET Core开发实战(第23课:静态文件中间件:前后端分离开发合并部署骚操作)--学习笔记(下)...

23 | 静态文件中间件:前后端分离开发合并部署骚操作这里还有一个比较特殊的用法一般情况下,我们前后端分离的架构,前端会编译成一个 index.html 文件和若干个 CSS 文件和 JavaScript 和图片文件CSS 文件和 JavaScript 和图片文件一般会部署在…

springboot 历史版本文档_乘风破浪,SpringBoot入门

SpringBoot入门篇前言在普通的java项目中,大量的xml文件配置起来相当繁琐,导致了开发效率非常低下,整合第三方框架的配置可能会存在冲突问题导致部署效率低,打包方式是将项目打成一个war包放入到tomactwebapps目录下执行。简单来说…

简洁直观解释精确率、召回率、F1 值、ROC、AUC

混淆矩阵 当我们在做二分类预测时,把预测情况与实际情况的所有结果两两混合,结果就会出现以下4种情况,就组成了混淆矩阵。 P(Positive):代表正样本N(Negative):代表负样…

基于Tensorflow搭建卷积神经网络CNN(水果识别)保姆及级教程

项目介绍 TensorFlow2.X 搭建卷积神经网络(CNN),实现水果识别。搭建的卷积神经网络是类似VGG的结构(卷积层与池化层反复堆叠,然后经过全连接层,最后用softmax映射为每个类别的概率,概率最大的即为识别结果…

如何编写高性能的C#代码(四)字符串的另类骚操作

原文来自互联网,由长沙DotNET技术社区编译。如译文侵犯您的署名权或版权,请联系小编,小编将在24小时内删除。作者介绍:史蒂夫戈登(Steve Gordon)是Microsoft MVP,Pluralsight的作者,…

statusbar 尺寸 显示图标_移动端页面设计规范尺寸大起底 - 椰树飘香

移动端尺寸繁多,包括IOS和安卓,尺寸多达十余种,所以移动页面尺寸的适配一直是前端和设计的头疼。今天来总结一下当前市场上的一些移动端尺寸,方便设计师和前端去考虑适配。但是最好还是针对自己的产品做调查,根据数据去…

新建项目上传gitee(码云)教程

登录码云 新建一个仓库后,复制HTTPS地址: 本地项目操作 打开需要上传gitee的项目文件夹,并打开Git Bash窗口 本地仓库初始化: git init添加到暂存区 git add .提交到本地仓库 git commit -m "first commit"关联到…

OpenSilver: 通过WebAssembly 复活Silverlight

本月早些时候,Userware发布了第一个版本的OpenSilver,微软Silverlight 的开源重新实现。OpenSilver 通过WebAssembly 实现无需任何其他插件在 浏览器上运行。OpenSilver 的当前版本可作为"技术预览"版本提供,它涵盖了大约 60% 的原…

db2有主键时默认hash分区_MySQL分区表最佳实践

前言:分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整…

程序员过关斩将-- 喷一喷坑爹的面向UI编程

点击上方“蓝字”关注我们菜菜哥,求你个事呗?说来听听,假装你男朋友可不干不是哦,是正经事。前几天一个项目UI改了,好多人跟着加班修改,怎么样尽量避免这种情况呢?UI修改顶多和客户端开发人员关…

python二维散点分布图_深入理解皮尔逊相关系数amp;python代码

1.常见理解误区(1)计算出变量A和变量B的皮尔逊相关系数为0,不代表A和B之间没有相关性,只能说明A和B之间不存在线性相关关系。例:温度和冰淇淋销量之间的散点图像如下,可以发现大致成二次函数图像&#xff0…

hdu4911 Inversion-归并排序

解题思路: 如果原序列的逆序对数大于交换次数,那么最少的逆序对数量就是原序列逆序对-交换次数。 如果原序列的逆序对数小于等于交换次数,那么最少的逆序对数量为0,因为交换次数超过逆序对数,可以把这些逆序对全部消除…

【.net core】电商平台升级之微服务架构应用实战

一、前言这篇文章本来是继续分享IdentityServer4 的相关文章,由于之前有博友问我关于微服务相关的问题,我就先跳过IdentityServer4的分享,进行微服务相关的技术学习和分享。微服务在我的分享目录里面是放到四月份开始系列文章分享的&#xff…