补充知识点`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协议开源。

相关推荐
wangbing11252 分钟前
和挖矿做斗争3
linux·运维·服务器
神秘剑客_CN5 分钟前
Ubuntu 26.04使用笔记
linux·笔记·ubuntu
189228048616 分钟前
NV266固态MT29F32T08GSLBHL8-36QMES:B
大数据·服务器·人工智能·科技·缓存
cen__y12 分钟前
Linux知识点复习总结(2)
linux·运维·服务器·c语言·开发语言
曦夜日长13 分钟前
Linux系统篇,开发工具(三):文件翻译的思路重构、库的深入理解、文件链接时区别与细节
linux·数据库·重构
字节高级特工16 分钟前
深入解析进程:从PCB到僵尸进程
linux·运维·服务器
闫记康17 分钟前
Linux学习day2
linux·运维·学习
victory043117 分钟前
找实习也是在找自己
java·服务器·前端
microxiaoxiao19 分钟前
Deepin桌面环境配置TigerVNC远程桌面完整指南
linux·服务器·网络·windows
薛定猫AI21 分钟前
【深度解析】终端原生 AI 编程代理如何重塑开发工作流:从 Mistral Vibe 看 CLI 自动化实战
运维·人工智能·自动化