首页 > 其他分享 >关于开源许可的解释

关于开源许可的解释

时间:2022-12-13 23:26:29浏览次数:36  
标签:GPL 解释 LGPL 许可 代码 修改 开源 许可证

零、许可证:

  license译为许可证,也可作为开源协议,它可以将自己创作的东西,授权给他人使用,并约定了使用者可以有的权利和必须遵从的义务。现在很多优秀的开源项目都有设置license,不同的license所约束的条件也不同。因此开源不等于免费,开源也不等于没有约束。对于大型的软件可能都有专门的律师团队去撰写软件协议。可是作为一名开发人员,有时候我们想开源自己的项目,但又不想自己的源代码被随意借鉴或者分享到别处。这个时候我们就可以设置license去约束一些行为。但是协议往往需要具备专业的知识,它涉及到了法律规则,普通人不可能在短时间内就掌握这些知识。个人可以选择一些流行的开源协议去满足项目的需求即可。

一、开源许可证

  有很多开源许可证,主要常见的最流行的只有6种:GPL、LGPL、Mozilla、BSD、MIT和Apache。其余的开源软件许可大多可以归类于这6种,然后再加上一些微小的差异。乌克兰程序员Paul Bagwell清楚地描述了它们的一些重要的约束:

英文版:

  

中文版:

 也就是说,比较宽松的许可证是 MIT 许可证,只要用户在项目副本中包含了版权声明和许可声明,他们就可以拿你的代码做任何想做的事情,你也无需承担任何责任。Apache 许可证类似 MIT 许可证,但它同时还包含了贡献者向用户提供专利授权相关的条款。还有 GPL 许可证,这是一种copyleft许可证,要求修改项目代码的用户再次分发源码或二进制代码时,必须公布他的相关修改。V3版本与V2类似,但其进一步约束了在某些限制软件更改的硬件上的使用范围。

  协议 简述
  Apache             允许他人修改源代码后再闭源,但是必须对每个修改过的文件做版权说明
  GPL3               无论以何种方式修改或者使用代码,都需要开源
  MIT               允许他人修改源代码后再闭源,不用对修改过的文件做说明,且二次开发的软件可以使用原作者的名字做营销
  BSD2/BSD3           和上面一条类似,但未经事先书面许可,不得使用版权所有者的姓名或其贡献者的姓名来推广
  BSL               和GPL类似,但不需要复制版权信息
  CCZ               放弃创作的作品版权权益,并将其奉献给大众,不对代码做任何担保
  EPL               与GPL类似,有权使用、修改、复制与发布软件原始版本和修改后版本,但在某些情况下则必须将修改内容一并释出
  AGPL               GPL拓展,使用在线网络服务的也需要开源
  GPL2               和GPL3相比,如果使用代码作为服务提供,而不分发软件,则不需要开源
  LGPL               和GPL相比,LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码
  Mozilla               与LGPL类似,但是需要对修改过的源码内容做说明
  Unlicense             与CCZ相似,且开放商标和所用的专利授权

二、选择并遵守即可

  声明自己选择的协议即可,无需成为会员。

  虽然并不是一定要在项目中添加协议的。但如上文所讨论过的优点,如果你想把代码分享出来,又想约束一些行为,最好还是选择一个适合的开源协议。不选择协议可以让发布者保留作品的解释权,不允许他人分发,复制或二次开发。但是部分网站会有特有的协议,例如当你将代码发布到GitHub上,会默认公开的项目可以自由的查看和fork。

  

 

标签:GPL,解释,LGPL,许可,代码,修改,开源,许可证
From: https://www.cnblogs.com/guochaoxxl/p/16980947.html

相关文章

  • 网络名词解释
     中国互联网流行一个关键词叫“围观”。所谓围观并非袖手旁观,亦非简单关注,而是从观察者的角度进行审视,让所有不合常理之现象在围观下无所遁形我也是醉了 ,网络用语。它是一......
  • 各种开源的交叉编译
    1v4l1.1hi3559av100交叉编译hi3559av100:exportPKG_CONFIG_LIBDIR=/opt/hisi-linux/x86-arm/aarch64-himix100-linux/aarch64-linux-gnu/lib64/./configure--hos......
  • 【夏虫语冰】开源软件安装包制作工具(NSIS,Inno Setup)
    文章目录​​1、NSIS​​​​1.1软件简介​​​​1.2下载安装​​​​1.3代码示例​​​​2、InnoSetup​​​​2.1软件简介​​​​2.2下载安装​​​​2.3代码示例......
  • 伙伴福利,100个项目彻底精通Java!【开源】
    为了帮助更多的小伙伴,快速成长进步,冲进大厂中厂,我分享了很多的项目哟,例如:java项目精品实战案例|JavaSwing实战项目但很多小伙伴,还觉得不够,好吧!今天就拿出压箱底的项目......
  • 伙伴福利,100个项目彻底精通Java!【开源】
    为了帮助更多的小伙伴,快速成长进步,冲进大厂中厂,我分享了很多的项目哟,例如:java项目精品实战案例|JavaSwing实战项目但很多小伙伴,还觉得不够,好吧!今天就拿出压箱底的项......
  • 免费开源的httpd美化目录浏览程序: Apaxy
    https://www.smbinn.com/apaxy.html介绍Apaxy是一个可定制的目录浏览程序,专为提升Web目录浏览体验而生。它使用Apache的mod_autoindex模块和一些CSS样式来覆盖目录列......
  • rate-limit 一款 java 开源渐进式分布式限流框架使用介绍
    项目简介rate-limit是一个为java设计的渐进式限流工具。目的是为了深入学习和使用限流,后续将会持续迭代。特性渐进式实现支持独立于spring使用支持整合sp......
  • rate-limit 一款 java 开源渐进式分布式限流框架使用介绍
    项目简介rate-limit是一个为java设计的渐进式限流工具。目的是为了深入学习和使用限流,后续将会持续迭代。特性渐进式实现支持独立于spring使用支持整合s......
  • 【开源系统脚手架】人人快速开发框架 人人VUE(renren-fast-vue)启动教程
     代码​​https://www.renren.io/guide/#project​​​​https://github.com/renrenio/renren-fast-vue​​ 1.nodejs需使用8.0版本2.更改策略,设置权限(管理员打开cmd)......
  • 开源依赖项管理指南
    就像人际关系中人与人之间的关系一样,软件生态系统中包含一个庞大的关系网络。其中一些联系非常深入,而有一些关系则更为表面。但实际上,现代基于开源的软件开发涉及一个极其......