不根据协议使用开源软件可能面临的风险

2003 年 Linksys 公司(同年 3 月被思科收购)推出 WRT-54G,这款路由器采用了基于 Linux 的固件,而 Linux 使用的是 GPL 开源协议,所以思科迫于压力,开放了 WRT-54G 的源码,这使得爱好者们知道了路由器固件的实现方式,进而促成了各种相关开源项目的繁荣,其中就包括 OpenWRT

Android 和 Linux 内核 的关系

Android 使用了 Linux 内核,而 Linux 内核采用的是 GPL 的开源协议,所以 Google 修改了 Linux 内核,使得驱动程序可以在 Linux 内核的上层运行,这样上层的代码可以绕过GPL协议。这也使得所有 Android 上的开源驱动,不经过修改无法直接用在 Linux 内核上,造成了Linux 内核的分裂,所以 Linux 内核开发小组撤下了 Android 所贡献的代码。而非内核部分,Android 开源项目 (AOSP) 许可提到了:对于用户空间(非内核)软件,相比其他许可(例如宽通用公共许可证 (LGPL)),我们更倾向于 Apache 2.0(以及 BSD 和 MIT 等类似许可)我们为自己的代码首选 Apache 2.0。

因为 AOSP 采用了 Apache 2.0 协议,所以任何人都可以基于 AOSP 开发自己的 Android 系统,而且不需要开源,国内的一些定制 Android 系统都是基于 AOSP,具体可以参考定制Android固件列表。虽然 AOSP 是开源的,但是 Google 移动服务 GMS(Google Mobile Service)是闭源的,GMS 中包括&#x

Linux学习总结(78)—— 常见开源协议讲解相关推荐

  1. 一文详解 常见开源协议

    自12年到北京做程序员,貌似从未关心过项目中使用的"轮子"涉及到了哪些开源协议.版权保护方面,虽然相关法规尚有待完善,但在研发商用软件过程中,作为软件开发者还是很有必要了解一下,我 ...

  2. GitHub常见开源协议

    前言 了解开源协议,合理使用轮子,避免法律风险.本次总结6种常用的开源协议. 先借助下图理解下 一.BSD(Berkeley Software Distribution license) BSD源自加 ...

  3. 常见开源协议!【科普】

    先上图: 常见的五种简介: BSD开源协议 BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者 ...

  4. 六种常见开源协议整理

    文章目录 开源协议的作用 如何选择开源协议 详细介绍常用开源协议 1. BSD ( original BSD license . FreeBSD license . Original BSD lice ...

  5. 常见开源协议横向对比

    文章目录 1 简介 2 常用协议简介 BSD Apache License 2.0 MIT MPL EPL LGPL GPL2.0 GPL3.0 AGPL MPL EPL No License 3 横 ...

  6. Linux学习之路——常见指令详细总结(中)

    -欲买桂花同载酒,终不似,少年游- 常见指令详细总结(中) 1. mv指令(重要) 语法: 功能: 常用选项 展示 移动文件和目录 移动文件 移动目录 对文件或目录进行重命名 2. cat指令 语法 ...

  7. 常见开源协议大白话说明

    GPL:只要你用了任何该协议的库.甚至是一段代码,那么你的整个程序,不管以何种方式链接,都必须全部使用GPL协议.并遵循该协议开源.商业软件公司一般禁用GPL代码,但可以使用GPL的可执行文件和应用程 ...

  8. Linux学习之端口、网络协议及查看端口占用情况(学习内容记录)

    端口:设备与外界通讯交流的出口 网络协议: 网络协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则. HTTP协议: HTTP协议(超文本传输协议)是一种网络通信协议,它允许将超 ...

  9. 【Linux学习笔记】16-网络协议

    一.通过计算器demo初识协议 https://gitee.com/ipengx1029/linux101/tree/master/lesson34-protocol 二.HTTP协议 1.http协 ...

最新文章

  1. php 类似微信下拉菜单,微信小程序实现下拉框(附代码)
  2. XDP/eBPF — BPF
  3. canopen服务器协议,CANopen
  4. JSON Undefined 问题
  5. css 实现table 隔行变色
  6. java hive demo_java 操作hive通过jdbc
  7. 干粉灭火器(泡沫灭火器)工作原理
  8. 博弈-Green Hackenbush(无向图删边)
  9. node-js由浅入深教程
  10. redis各项功能解决了什么问题
  11. 软件工程专业要考c语言吗,【干货】软件工程专业课到底考什么?
  12. 计算机管理能看到移动硬盘,我的移动硬盘 在我的电脑和 磁盘管理 中都看不到,只能在设备管理器的磁盘驱动器中能看到,怎么恢復啊...
  13. js中(0, function)是什么意思
  14. 平板电脑如何刷linux,手把手教你六步刷系统
  15. Hadoop1.0单点安装-Windows
  16. 云服务器选股,【图】老师们能不能在通达信7.48中整合云行情服务器?_选股公式,股票,炒股公式,股票指标,股票论坛_股票软件技术交流论坛_理想论坛 - 股票论坛...
  17. GreenHills基本操作:通过 R寄存器和上下文变量 定位异常
  18. 逻辑回归 - 理论篇
  19. python audioread 音频处理
  20. 彻底掌握 Promise-原生Promise的实现(二) Promise的链式调用

热门文章

  1. 列表 list的技巧
  2. Java 第五章 类的设计与包
  3. git bash here创建项目无法选择m_版本控制Git基础及使用详解
  4. android河流曲线控件,London | Riverwalk,河流曲线的黄金比例
  5. C++新特性探究(十三):右值引用(r-value ref)探究
  6. C++之构造函数、(构造)函数重载探究
  7. java程序如何解代数方程_如何用java编程来解决方程问题?
  8. 大学计算机python期末考试用什么软件_大学计算机--Python算法实践_章节测验,期末考试,慕课答案查询公众号...
  9. 4位数的水仙花c语言,C语言程序设计100例之(4):水仙花数
  10. Linux配置ospf命令,OSPF单区域配置