最近想入linux的深坑,于是开启了马哥sre课程的探险之旅。在了解到Linux是一款自由和开放源码的类UNIX操作系统的历史时,深深被开源精神所折服。也强烈感受到了开源精神的伟大。也正是因为有了开放源码的精神,才有了国产百花齐放的android系统。华为的EMUI,小米的MIUI,oppo的ColorOS…等等。这些Android系统无不得益于开源。而开源协议不仅是对源码的保护,也是对源作者们艰辛的肯定和尊重。目前常见的开源协议主要有:GPL、BSD、MIT、Mozilla、Apache和LGPL。各大协议的区别如下图:一张图弄明白开源协议-GPL、BSD、MIT、Mozilla、Apache和LGPL 之间的区别 (本博客参考搬运于维基百科、百度百科和CSDN等)

文章目录

  • GPL
  • BSD
  • MIT
  • Mozilla
  • Apache

GPL

GNU通用公共许可协议(英语:GNU General Public License,缩写GNU GPL 或 GPL),是被广泛使用的自由软件许可证,给予了终端用户运行、学习、共享和修改软件的自由。许可证最初由自由软件基金会的理查德·斯托曼为GNU项目所撰写,并授予计算机程序的用户自由软件定义(The Free Software Definition)的权利。GPL是一个Copyleft许可证,这意味着只要项目的某个部分(如动态链接库)以GPL发布,则整个项目以及派生作品只能以相同的许可条款分发。这与宽松自由软件许可证有所区别 ,如BSD许可证和MIT许可证就是其中被广泛使用的例子。GPL是第一个普遍使用的Copyleft许可证。

BSD

BSD许可协议(英语:Berkeley Software Distribution license)是自由软件中使用最广泛的许可协议之一
遵守BSD License的软件,允许用作商业用途,甚至可按照专属许可证进行再发布。比较著名的例子如微软产品中引入了BSD网络部分的代码,Mac OS X中使用了不少FreeBSD的组件。也可以将一部分遵照BSD许可证发布,另外一些采取其他许可证。事实上,BSD Unix早期就是这样的,其一部分是来自AT&T的专属内容。
BSD许可证的最初稿件,其中含有与GNU通用公共许可证相冲突的地方。由于这两个许可证在自由软件中使用很普遍,如果作者想将GPL和BSD有所结合,就会出现冲突。但是1999年,BSD许可证的修订版去除了相冲突的语句。从此以后,自由软件作者就可以方便地采用BSD许可证下的软件,从而跟GPL下的作品融合。

BSD许可证并不允许受让方将其删除或替换为其他许可证。

MIT


于GPL、LGPL、BSD)相比,MIT是相对宽松的软件许可协议。
MIT许可协议之名源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称“X许可协议”(X License)或“X11许可协议”(X11 License)

MIT内容与三条款BSD许可协议(3-clause BSD license)内容颇为近似,但是赋予软件被许可人更大的权利与更少的限制。
有许多团体均采用MIT许可证。例如著名的SSH连线软件PuTTY与X窗口系统。Expat、Mono开发平台库、Ruby on Rails、Lua、微软的Visual Studio Code源代码等等也都采用MIT许可协议。

Mozilla


Mozilla公共许可证(英语:Mozilla Public License,简称MPL)是个自由、开源、详细的软件许可证,由Mozilla基金会开发并维护。该协议融合了BSD许可证和GNU通用公共许可协议的特性,追求平衡专有软件和开源软件开发者之间的顾虑。
MPL用于Mozilla Firefox、Mozilla Thunderbird及其他Mozilla软件的许可,但也被其他产品所用,如Adobe以此为Flex产品线许可,还有LibreOffice 4.0(同时使用LGPL 3+)。1.1版还被一些公司特意改编成派生许可证,如Sun Microsystems的通用开发与散布许可证。
MPL既是得到自由软件基金会承认的自由软件许可证[3],也是得到开放源代码促进会承认的开源软件许可证[4]。MPL允许在其授权下的源代码与其他授权的文件进行混合,包括私有许可证。但在MPL授权下的代码文件必须保持MPL授权,并且保持开源。

Apache


Apache许可证(英语:Apache License),是一个由Apache软件基金会发布的自由软件许可证,最初为Apache http服务器而撰写。Apache许可证要求被授权者保留著作权和放弃权利的声明,但它不是一个反著作权的许可证。

此许可证最新版本为“版本2”,于2004年1月发布。

Apache许可证在Apache社区内外被广泛使用。Apache基金会下属所有项目都使用Apache许可证,许多非Apache基金会项目也使用了Apache许可证:据统计,截至2012年10月,在sourceforge上有8708个项目使用了Apache许可证。

菜小白聊聊开源和开源协议相关推荐

  1. 从Copyright到Copyleft,聊聊版权与开源协议

    4月26日是世界知识产权日,很多人或许会觉得这和软件开发没什么关系,但事实上,开源软件大多受到知识产权法中著作权法(Copyright,也称版权)的保护. 开源软件虽说开放了源代码,但是用户在使用.修 ...

  2. 配置开源安卓QQ协议库Mirai

    博客和更新地址:配置开源安卓QQ协议库Mirai 前言 因为经常配置Mirai,每次手动输入命令有些麻烦,所以记录一下配置过程. 配置JDK Debian系: apt install openjdk- ...

  3. 开源中国 开源世界2018_2018年最受欢迎的报道:法律问题和开源社区

    开源中国 开源世界2018 2018年,Opensource.com再次解决了开放源代码和法律的难题,其中阅读量最大的文章涉及从隐私到专利的主题. 2018年最具影响力的法律变化之一是<通用数据 ...

  4. 互联网 性能 开源_开源的互联网25年及未来

    互联网 性能 开源 始于1969年的ARPANET如今已成为今天我们所知的Internet. 今年3月12日标志着万维网的25年. 当...开始时 1989年3月,欧洲核子研究组织(CERN)的科学家 ...

  5. 各种Android UI开源框架 开源库

    各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...

  6. CCF中国开源大会开源雨林论坛丨七大亮点议题抢鲜看!

    2022 CCF 中国开源大会(CCF ChinaOSC)由中国计算机学会(CCF)与开放原子开源基金会主办.作为第一届 CCF 中国开源大会,本届大会将组织特邀报告.开源高峰论坛.开源发展委员会路演 ...

  7. Git仓库代码同步到GitHub开源社区开源代码库

                    Git本地仓库代码同步到GitHub开源社区开源代码库                                                         ...

  8. 龙芯俱乐部邀请参加“2008开源中国开源世界”高峰论坛

    <script type="text/javascript" src="http://www.loongsonclub.cn/bbs/include/javascr ...

  9. 开源 非开源_开源为善

    开源 非开源 by Michael D. Johnson 迈克尔·约翰逊(Michael D.Johnson) 开源为善 (Open Source for Good) We've spent two ...

最新文章

  1. 计算机文化基础案例教程第三版答案,计算机文化基础案例教程(第3版 谭宁)教学课件 素材.zip-排骨做法.doc...
  2. C# 线程同步之排它锁/Monitor监视器类
  3. VS2010配置opencv2.4.9
  4. hadoop-0.21.0 在Windows环境下的部署(2)Hadoop配置
  5. xml解析-jaxp添加结点
  6. 【Flink】Flink 流计算 容错 source节点进行数据容错
  7. Java 序列化Serializable详解
  8. CentOS Linux 系统镜像文件(M1 Mac虚拟机专用)
  9. 集合之HashSet
  10. Vitamix和Blendtec破壁料理机哪个更高端?
  11. 计算机网络(第七版)思维导图
  12. # 融云 SDK 新用户入群加载历史消息 记录融云 SDK 的一个小功能,分享一下 ## 背景 项目中有用到融云 SDK 中的群组功能,产品说需要新人入群的时候看到历史消息。 本来以为直接能获
  13. MATLAB 3d实时,MATLAB 3D 动画制作(三)- 实时随动3D动画设计
  14. 输入网络密码来进入共享计算机,Win7系统与其他电脑共享文件提示输入网络密码如何解决...
  15. Java开发知识点!mysql运行sql文件很慢
  16. 【运筹优化】元启发式算法详解:模拟退火算法(Simulated Annealing,SA)+ 案例讲解代码实战
  17. html怎么显示一个点赞的心形,jquery心形点赞关注效果的简单实现
  18. android vold磁盘管理
  19. java实现第一个数字
  20. Html颜色颜色选择器小技巧

热门文章

  1. CTreeCtrl用法
  2. 计算机一级ms模拟试题,计算机一级ms模拟试题及答案.doc
  3. 计算机专业第一学历考研究生,211、985研究生不如本科生?过来人说,第一学历非常重要...
  4. 三种技术实现PC1、PC2与PC3都通,而PC1与PC2不通
  5. IP地址查询精确到街道
  6. 什么是深度学习中的baseline
  7. Java通道(Channel)的实现及优势
  8. c#做动态(gif)中文验证码
  9. latex徒手写论文之小白篇
  10. 小米10手机耗电量记录