1.引言

最近准备写一个rpc框架,对于开源协议的选择纠结了半天,这里留个记录

2.要求

计划用相对宽松的且能被广大开发者和公司接受的协议

3.考虑

首先排除GPL,LGPL,因为这2个协议修改源码后必须开源。
然后可选的有MIT、BSD、Apache

4.MIT

基于此的二次开发软件可以闭源,可以修改源码且闭源,可以用于商业
要求:MIT协议允许你任意的使用、复制、修改原MIT代码库,随便你卖钱还是开源,唯一需要遵循的原则就是在你的软件中声明你也使用的是MIT协议就行了。
没有专利相关约束,可能存在法律纠纷。

5.BSD

基于此的二次开发软件可以闭源,可以修改源码且闭源,可以用于商业
要求:基于此开源代码开发的二次代码需要带上此开源代码开源协议说明,唯一多的是不允许使用者借着开源软件名义宣传,比如某某框架加强版。
没有专利相关约束,可能存在法律纠纷。

6.Apache

基于此的二次开发软件可以闭源,可以修改源码且闭源,可以用于商业
要求:基于此开源代码开发的二次代码需要带上此开源代码开源协议说明。比MIT和BSD,多了专利相关的描述,能减少专利导致的纠纷,很多公司更倾向用这个协议的开源代码。

7.综合选择

选择MIT协议,因为是最宽泛的协议,容易推广,而自己希望获得更多曝光度,所以用这个

开源协议MIT、BSD、Apache相关推荐

  1. 开源协议比较(BSD,Apache,GPL,LGPL,AGPL,MIT)

    现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有 80种:https://opensource.org/licenses/alphabetical ...

  2. 开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

    文章目录 1. 概述 2. BSD开源协议(original BSD license.FreeBSD license.Original BSD license) 3. Apache Licence 2 ...

  3. 各种开源协议介绍 BSD、Apache Licence、GPL V2 、GPL V3 、LGPL、MIT

    原文地址:http://www.open-open.com/solution/view/1319816219625 现今存在的开源协议很多,而经过Open Source Initiative组织通过批 ...

  4. [转]开源协议MIT、GPL、LPGL、BSD、MIT的区别

    如果你认为本系列文章对你有所帮助,请大家有钱的捧个钱场,点击此处赞助,赞助额0.1元起步,多少随意 声明:本文只用于个人学习交流,若不慎造成侵权,请及时联系我,立即予以改正 锋影 email:1741 ...

  5. 【开源协议】BSD、Apache2、GPL、LGPL、MIT

    作为一个开发者,如果你打算开源自己的代码,千万不要忘记,选择一种开源许可证(license). 开源许可证(Open Source License) License就是版权许可证,里面详尽表述了你获得 ...

  6. 一招搞定可视化工作流设计器开发 巧用draw2d绝战可视化工作流设计器 友好的开源协议MIT

    技术岛公众号 工作流通常会使用xml进行管理与配置,之间流转关系使用不同的xml节点进行配置,看着xml文件,很难直接Get到流程之间的流转关系.如果使用可视化的呈现来展现工作流,则很好的解决这个问题 ...

  7. 重要开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理

    当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来! 最初来自:sinoprise.com/read.ph ...

  8. 五种开源协议的比较(BSD、Apache、GPL、LGPL、MIT)

    当Adobe.Microsoft.Sun等一系列巨头开始表现出对"开源"的青睐时,"开源"的时代即将到来!现今存在的开源协议很多,而经过Open Source ...

  9. 【Git】认识各种开源协议及其关系

    开源许可协议 License是软件的授权许可,里面详尽表述了你获得代码后拥有的权利,可以对别人的作品进行何种操作,何种操作又是被禁止的. 开源协议的种类 现今存在的开源协议很多,而经过Open Sou ...

最新文章

  1. 36所高校强基计划大学的计算机专业排名,36所强基计划大学,综合实力大排名!高校专业怎么选?...
  2. scrapy 中不同页面的拼接_scrapy官方文档提供的常见使用问题
  3. aix 的c库为什么都是静态库_关于AIX  libpthread.a 静态库
  4. RocketMq消息队列使用
  5. oracle中监听程序当前无法识别连接描述符中请求服务 的解决方法
  6. java与c语言_Java与C语言的区别之我见
  7. 解决方案,org.hibernate.LazyInitializationException: could not initialize proxy - no Session
  8. 企业分布式微服务云SpringCloud SpringBoot mybatis (十二)断路器监控(Hystrix Dashboard)...
  9. java rtmp录制视频_red5-rtmp-push
  10. 再读红宝书(第四版)第二章 html 中的 javascript
  11. c51单片机超声测距hcsr04在 rtos运行的 实验 基于陈明计先生的smallrtos
  12. win7笔记本电脑设置WiFi热点
  13. PHP微信小程序用户昵称带表情符存储
  14. arduino as5048工作原理_普通精度应用的另一种选择——磁性旋转编码器
  15. 切线法(牛顿法)、割线法、抛物线法
  16. Python Pandas 行数据筛选方法汇总
  17. 卫星遥感—地块/边界提取相关论文
  18. 光猫、路由器、交换机、wifi通俗释义
  19. springboot admin整合spingcloud踩坑
  20. 【码农话健身】入门级腿部锻炼

热门文章

  1. C++ 标准容器库小结
  2. Python 关于浮点数取整详解
  3. Altium Designer学习
  4. 我国在计算机科学领域故事,《计算机故事-一》.pdf
  5. 成功解决 pycharm一直indexing
  6. Android GestureOverlayView详解
  7. 聊一下Node.js中NAPI的napi_value
  8. ClassLoader和ClassForname的区别(详解)
  9. Windows Server 2003 Key
  10. bitset(位图)原理与用法