关于开源许可证 Open Source License

开源许可证是计算机软件和其他产品的一种许可证,允许在定义的条款和条件下使用、修改和/或共享源代码、蓝图或设计。这允许最终用户和商业公司根据自己的定制、好奇心或故障排除需求来审查和修改源代码、蓝图或设计。

我们接触到的开源软件一般都有对应的开源许可证对软件的使用、复制、修改和再发布等进行限制。许可证即授权条款,开源许可证就是保证开源软件这些限制的法律文件,目的在于规范受著作权保护的软件的使用或者分发行为。开源许可证是开源软件生态系统的基础,可以促进软件的协同开发。

常见的开源许可证主要有 Apache、MIT、BSD、GPL、LGPL、MPL、SSPL 等,可以大致分为两大类:
1. 宽松自由软件许可协议 Permissive Free Software Licence
是一种对软件的使用、修改、传播等方式采用最低限制的自由软件许可协议条款类型。这种类型的软件许可协议将不保证原作品的派生作品会继续保持与原作品完全相同的相关限制条件,从而为原作品的自由使用、修改和传播等提供更大的空间。
2.著佐权许可证 Copyleft License
是在有限空间内的自由使用、修改和传播,且不得违背原作品的限制条款。如果一款软件使用 Copyleft 类型许可协议规定软件不得用于商业目的,且不得闭源,那么后续的衍生子软件也必须得遵循该条款。
两者最大的差别在于:在软件被修改并再发行时, Copyleft License 仍然强制要求公开源代码(衍生软件需要开源),而Permissive Free Software Licence 不要求公开源代码(衍生软件可以变为专有软件)。
其中,Apache、MIT、BSD 都是宽松许可证,GPL 是典型的强著佐权(Copyleft )许可证,LGPL、MPL 是弱著佐权(Copyleft )许可证。SSPL 则是近年来 MongoDB 创建的一个新许可证,存在较大争议,开放源代码促进会 OSI 甚至认为 SSPL 就不是开源许可协议。

如何选择开源许可证

如何为代码选择开源许可证,这是一个问题。世界上的开源许可证,大概有上百种,很少有人能弄清楚它们的区别。即使在最流行的六种开源许可证:GPL、BSD、MIT、Mozilla、Apache和LGPL,在这些中做出选择也很复杂。

乌克兰程序员Paul Bagwell 画了一张分析图,说明应该怎么选择,这是我见过的最简单的讲解,只用两分钟,你就能搞清楚这六种许可证之间的最大区别。

常见开源许可证声明方式

  • MIT
MIT LicenseCopyright (c) <year> <copyright holders>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:The above copyright notice and this permission notice (including the next paragraph) shall be included in all copies or substantial portions of the Software.THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  • Apache2.0
Copyright [yyyy] [name of copyright owner]Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
  • GPL3.0
<one line to give the program's name and a brief idea of what it does.>Copyright (C) <year>  <name of author>This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

开源许可协议 Open Source License相关推荐

  1. 开源许可协议 | GNU GPL

     目录 一.基本概念 二.协议特点 2.1 传染性 2.2 可商用 三.使用者的自由 四.符合GPL协议的软件 五.GPL发展阶段 六.总结 六.参考文献 在开源领域中,许可协议是指开源社区为了维护作 ...

  2. 开源许可协议:GPL、LGPL、AGPL、MPL和BSD、MIT、Apache

    概述 一.开源许可证的分类 开源许可证分为2种类型:宽松型和著作权型. 1.宽松型(Permissive):该类许可证往往只要求被许可方保留原作品的版权信息,对用户施加的限制较少,衍生软件可以成为私有 ...

  3. 开源界的 5 大开源许可协议

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

  4. 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别...

    一张图看懂开源许可协议,开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 转载于:https://www.cnblogs.com/jingzhishen/p/589278 ...

  5. 【开源许可协议】常见开源许可协议的核心内容(思维导图版本)

    最近在研究开源许可协议相关的内容,特意整理了一份[思维导图]版本的,效果图如下所示: 高清版本见链接:常见开源许可协议的核心内容-思维导图 欢迎下载,欢迎给出专业意见,谢谢.

  6. (转载)9个主流的开源许可协议[整理]

    http://univasity.iteye.com/blog/1292658 关于开源许可 现今存在的开源协议很多,而经过Open Source Initiative 组织通过批准的开源协议目前有6 ...

  7. 拒绝云服务商白嫖,Elasticsearch 和 Kibana 变更开源许可协议

    [CSDN 编者按]白嫖有罪!共享不是拿来主义,请尊重产权! 作者 | 八宝粥   责编 | 张文 出品 | CSDN(ID:CSDNnews) 头图 | CSDN 下载自东方 IC 每个开源项目都会 ...

  8. 9个主流的开源许可协议

    关于开源许可 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有60多种(http://www.opensource.org/licenses/al ...

  9. 图说开源许可协议:GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    首先借用有心人士的一张相当直观清晰的图来划分各种协议:开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 以下是上述协议的简单介绍: BSD开源协议 BSD开源协议是一个给 ...

最新文章

  1. [快速] 一行指令暫時隱藏 Mac 桌面檔案 – 讓你凌亂的桌面不會被看見 - TechMoon 科技月球...
  2. Prim算法 求出 最小生成树
  3. new/delete与malloc/free的区别和联系
  4. java参数传入的是一个类名_Java编程细节——泛型的定义(类、接口、对象)、使用、继承...
  5. Cortex-M3寄存器组
  6. 《统计学》第八版贾俊平第十四章指数知识点总结及课后习题答案
  7. 基于图神经网络的时空预测
  8. emwin自定义字库
  9. 数字人民币智慧学生证来了,对于特定群体硬钱包或大有可为
  10. matlab中portcons,Matlab在马柯维茨均值-方差模型的简单应用.ppt
  11. StringUtil工具类
  12. Unity Shader - Predefined Shader preprocessor macros 着色器预处理宏
  13. 新一代人工智能发展规划发布
  14. CMake 基础用法,掌握 CMake 诀窍
  15. getPrepayId php,获取到 prepay_id 后将参数再次签名传输给 APP 发起支付
  16. boseqc35能不能连电脑_Bose QC35二代怎么连接设备_bose qc35二代连接配对方法_智能家...
  17. 物联网——完全开源物联网基础平台
  18. 扑克牌用java实现_用java开发的扑克牌游戏程序源代码
  19. 《数据结构基础知识②》--单循环链表+双向链表+时间效率+比较
  20. Android 仿京东快报

热门文章

  1. 为什么计算机技术用云来形容,云雨一词,到底是啥意思?为何古人用云雨来形容房事...
  2. (附源码)springboor大学生防疫封校管理系统 毕业设计632124
  3. 机刷——App推广作弊内幕系列
  4. 计算机怎么把安全设置降低,如何设置浏览器的安全级别,怎么降低浏览器安全级别...
  5. 计算机网络工程主要是做什么,网络工程专业是什么
  6. 解决idel连接mysql数据库报错问题
  7. quartz和timer的区别
  8. DirectX12(D3D12)基础教程(三)——使用独立堆以“定位方式”创建资源、创建动态采样器、初步理解采取器类型
  9. 从零入门云计算(1):云计算究竟是个啥?
  10. k2p一直亮红灯搜不到信号_笔记本电脑搜索不到wifi信号的原因