软件开发中几大开源协议的介绍

  • MIT –源自麻省理工学院的一个协议,可以修改和商业发售,同样需要放置许可协议和版权信息,但是可以修改授权条款,同样无需担责。
  • GPL V2 –Linux就是这个协议,主要是只要使用了GPL协议的,或者引用了GPL协议的代码,那么你也就必须遵从GPL协议,其实核心就是必须开源,因此不允许修改后和衍生的代码做为闭源的商业软件发布和销售。
  • GPL v3 GPL v3与GPL v2类似。区别在于,不仅要求用户公布修改的源代码,还要求公布相关硬件,其实你会发现V3都是多了一个硬件公布。
  • LGPL v2.1 GPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码,这个是关键,其实就是你可以用我的库,然后不必开源你的代码,但是如果通过修改和衍生的方式做二次开发的商业软件,那么涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议,因此对于二次开发貌似是不友好的。
  • LGPL v3 –相对于LGPL v2,不仅要求用户公布修改的源代码,还要求公布相关硬件,就是多了一个硬件。
  • BSD 2-Clause license –可以修改,商业发售,关键是还可以以其他协议形式发布,发布的代码无论是二进制还是包含源代码都要附带原代码中的BSD协议。
  • Artistic License 2.0 –主要是要求修改后的软件不能影响原软件的功能,详细的还要Google阅读。
  • Eclipse Public License v1.0 — 首先可修改和闭源的商业发布,除非代码贡献者得到了拥有者的授权(多了授权),那么二次开源的话必须遵从EPL协议而不能改为其他的协议,如果你发布修改后的代码或者以二进制的形式发售的时候,必须有源码的下载方式,也就是必须公开源码,对于混合的代码可以以私人的协议发售,但是EPL部分的代码还是遵从EPL协议, 独立的模块不需要开源。
  • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年6月9日
    下一篇 2019年6月9日

    相关推荐