zoukankan      html  css  js  c++  java
  • 开源许可协议简介

    开源许可协议简介

    产品、软件、代码的开源,都需要选择一定的开源许可协议。这是为了防止以下一些事情的发生:

    做开源后,发现大部分都被别人拿去学习,然后copy,然后自己闭源卖出去。这里不缺乏大公司,有一家公司拿我的开源系统修改后卖给了一个国内的运营商,卖的还非常贵至少几十万一套。

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

    不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。

    而开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。

    开源界的5大许可协议

    • GNU GPL (General Public Licence)
      • 可自由复制

      你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。

      • 可自由分发

      在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。

      • 可以用来盈利

      你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。

      • 可自由修改

      如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。

    • GNU LGPL (Lesser General Public Licence)

      对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

    • BSD

      BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。

     

    新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

    • MIT

      该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。

      这意味着:

      • 你可以自由使用,复制,修改,可以用于自己的项目。
      • 可以免费分发或用来盈利。
      • 唯一的限制是必须包含许可声明。

    MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

    • Apache(Apache 协议 2.0)

    别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合。

    • 永久权利

    一旦被授权,永久拥有。

    • 全球范围的权利

    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。

    • 授权免费,且无版税

    前期,后期均无任何费用。

    • 授权无排他性

    任何人都可以获得授权

    • 授权不可撤消

    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。

    Apache-License2.0原文链接: http://www.apache.org/licenses/LICENSE-2.0

    分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

     

    原文链接:http://os.51cto.com/art/201003/191961.htm

     

     

     

     

     

     

     

     

     

    一图读懂各种开源许可协议

    原文链接:http://sanwen8.cn/p/238GbQB.html

  • 相关阅读:
    SpringMVC-11-文件上传和下载
    SpringMVC-10-拦截器Interceptor
    SpringMVC-09-Ajax技术
    SpringMVC-08-整合SSM之CRUD
    SpringMVC-08-SpringMVC层编写
    SpringMVC-08-整合SSM之Spring层编写
    SpringMVC-08-Mybatis层编写
    SpringMVC-08-整合SSM之基本环境搭建
    SpringMVC-07-JSON讲解
    SpringMVC-06-数据处理
  • 原文地址:https://www.cnblogs.com/yizhichun/p/6082391.html
Copyright © 2011-2022 走看看