十问十答 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 预测未来的收入、支出和余额 潜在逻辑: 现金流 = 收入 - 支出当月余额(资金存量)= 上月余…

连续不等_第九讲 函数的连续性与函数的间断点

写在前面的话:本讲主要内容讲了连续性的定义,及其三个衍生的表述方式,函数的几类间断点。最后一个例题回顾了极限的保号性,是不是又有点生疏了?没关系,回过头再看看。反复研读,用心体会。如果有…

[蓝桥杯2015决赛]分机号-枚举(水题)

题目描述 X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。 比如:751,520,321 都满足要求,而766,918,201 就不符合要求。 现在请你计算一下&#xff0c…

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

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

正态分布-区间估计之单侧和双侧

区别 很简单,正态分布都是左右对称的.在左测就是的分位点是α/2,右侧是1-α/2. 假设一:双侧假设,拒绝区域在两边而且两边对称,在题目问你”是否相等?”的时候用 H0:μ=μ0,H1:μ≠μ0,拒绝区域:u的绝对值大于u1-α/…

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

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

[蓝桥杯2017初赛]等差素数列-巧妙枚举(思维)

题目描述 2,3,5,7,11,13,…是素数序列。 类似:7,37,67,97,127,157 这样全由素数组成的等差数列,叫等差素数数列。 上边的数列公差为30,长度为6。 2004年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是…

(二)基于企业现金流预测的投资决策-算法实现

数据介绍 上一节我们已经介绍过了“基于企业现金流预测的投资决策”的项目背景,并且做了业务需求分析和算法搭建框架梳理。接下来我们来梳理一下我们用到的数据长什么样子,并做一个简单的探索性分析。 环境准备: python >= 3.7pandas >= 1.1.3numpy >= 1.19.2pro…

在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目录下执行。简单来说…

poj2182 Lost Cows-线段树

Description N (2 < N < 8,000) cows have unique brands in the range 1…N. In a spectacular display of poor judgment, they visited the neighborhood ‘watering hole’ and drank a few too many beers before dinner. When it was time to line up for their ev…

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

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

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

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

C++实现线段树RMQ-单点修改,区间查询

代码如下&#xff1a; #include <iostream> #include <algorithm> using namespace std; const int N 10010; int input[N]; const int INF 1 << 30;struct node {int l, r;int mw; } tree[4 * N];void init_tree(int n) //初始化&#xff0c;因为要求最小…

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

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

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

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