补充知识点`makefile`、`config`、`GLP协议` 3/3 ——《驱动篇》《Linux历史发展》

文章目录

前言

这个是什么东西呢,用大白话来讲,Linux开始的时候,本身是有一个协议的,这个协议太局限了,后面就统一用成了GPL,所以这个东西和linux本身的历史离不开关系,想要了解的话,笔者也总结了一下,放到这里,给大家参考学习。

GPL协议

GPL 协议‌(GNU General Public License)是由自由软件基金会(FSF)发布的‌GNU 通用公共许可协议‌,是开源领域最具影响力的许可证之一 。 要求使用 GPL 代码的衍生作品必须同样开源并采用 GPL 协议,具有强"传染性"。‌

GNU 通用公共许可证(GPL)是自由软件基金会发行的‌计算机软件协议证书‌ ,核心在于通过‌Copyleft 机制‌保障用户自由复制、修改和发布软件的权利,要求衍生作品必须沿用相同许可并公开源代码

  1. 传染性条款:只要软件中包含 GPL 代码,该软件整体必须开源免费,不允许闭源商业发布 。
  2. 主要版本:
    • GPLv2:1991 年发布,Linux 内核采用此版本 。
    • GPLv3:2007 年发布,增加专利授权条款,禁止硬件锁定(Tivoization)。
  3. 商业使用:允许销售软件副本或提供服务收费,但必须向用户提供源代码 。

GPL的历史也算是Linux的一部分历史了。所以要了解GPL还是从Linux历史出发。

GPL与Linux的历史关联

关系非常大:GPL 协议可以说是 Linux 能活下来、能长成今天这样的根本原因。

用最简单的话讲:
Linux 内核选择使用 GPL 协议 → 决定了它整个历史走向和生态模式。


1. 历史上的关键节点:1992 年

  • 1991 年:Linus 写出 Linux 0.01,最初用的是自己写的许可证(禁止商用)。
  • 1992 年:Linus 把 Linux 改成了 GNU GPLv2 协议

这一步直接改变了一切:

为什么必须是 GPL?

当时 GNU 项目已经有了:

  • GCC 编译器
  • Bash 终端
  • 很多系统工具

缺一个内核,GNU 自己的 Hurd 内核一直没做好。

Linux 一用上 GPL

  1. Linux 可以合法绑定 GNU 工具,直接拼成一个完整可用的自由操作系统
  2. 其他人可以自由修改、分发 ,但必须开源修改后的代码

→ 这就是 GNU/Linux 的由来。


2. GPL 如何塑造 Linux 历史?

(1)防止被"偷走闭源"

GPL 核心规则:

  • 你可以用、改、打包卖
  • 只要分发二进制,就必须公开源代码

如果没有 GPL:

  • 早期很多公司会拿 Linux 改一改,闭源发售
  • 社区贡献无法回流,内核很快会分裂、死掉

历史上确实有公司尝试绕过 GPL,都被社区依法怼回去了,保证了 Linux 不会变成私有软件

(2)吸引全世界开发者

GPL 给所有人安全感:

  • 我写的代码不会被某家公司独占
  • 大家一起共建,成果永远属于社区

所以才有了后来:

  • 全球几千名开发者共同开发内核
  • IBM、英特尔、谷歌、华为等企业愿意持续贡献代码

(3)决定了 Linux 发行版生态

Red Hat、Debian、Ubuntu、Android 底层都是 Linux,它们:

  • 可以自由分发
  • 可以收费
  • 不能把 Linux 内核闭源

这就是为什么 Linux 既自由、又能商业化,还不会分裂成一堆互不兼容的私有系统。


3. 一句话总结历史关系

  • GNU 项目提供了思想和工具
  • Linux 提供了内核
  • GPL 协议提供了法律框架,保证它永远开源、不会被私有化

可以说:
没有 GPL,就没有今天的 Linux;Linux 的历史,就是一部在 GPL 保护下成长的历史。

Linux 内核采用 GPLv2 开源协议,使其能够与 GNU 项目结合形成完整操作系统,并保证任何修改与分发必须开源,避免被商业公司闭源独占,从而吸引全球开发者共同维护,推动 Linux 不断发展壮大。

Linux 发展史·精简时间线

一、前传(1969--1990)

  • 1969:贝尔实验室推出 Unix
  • 1983:Richard Stallman 启动 GNU 项目
  • 1987:Andrew Tanenbaum 发布教学用 Minix
  • 1989:GPL 许可证诞生

二、诞生(1991)

  • 1991.08.25:Linus Torvalds 公开宣布开发新操作系统
  • 1991.09.17:发布 Linux 0.01 内核
  • 1992:Linux 改用 GPLv2 开源协议

三、走向成熟(1994--2000)

  • 1994:Linux 1.0 正式版发布
  • 1996:吉祥物 Tux 企鹅 确定,内核 2.0 支持多处理器
  • 1998:IBM、Oracle 等巨头支持 Linux
  • 1999:Red Hat 上市,Linux 进入企业市场

四、全面崛起(2001--2010)

  • 2003:Linux 2.6 发布,服务器性能大幅提升
  • 2004:Ubuntu 发布,桌面 Linux 普及
  • 2005:Linus 开发 Git
  • 2007:Android 基于 Linux 发布
  • 2008:Linux 占据超算市场绝大多数份额

五、现代统治(2011--至今)

  • 2011:Linux 3.0
  • 2015:Linux 4.0,支持内核热补丁
  • 2019:Linux 5.0,加强 ARM、IoT、RISC-V 支持
  • 2022:Linux 6.0
  • 现状:服务器、云、安卓、超算、嵌入式核心系统

结束

本节大致列举了一下Linux的历史,大致就是你用内核GPL代码,你的代码也必须使用GPL协议开源。

相关推荐
AlfredZhao4 小时前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐1 天前
Linux内存扩容指南
linux
zylyehuo2 天前
Linux 彻底且安全地删除文件
linux
用户805533698032 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297912 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
Web3探索者4 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo4 天前
Linux系统中网线与USB网络共享冲突
linux
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维