网站截图

GNU是一个由理查德·马修·斯托曼(Richard Stallman)于1983年发起的自由软件操作系统项目,其名称源自递归缩写“GNU’s Not Unix!”,表明其设计类似Unix但不包含专有代码。它是自由的类 Unix 操作系统,这使得计算机用户拥有了分享和改进其所用软件的自由。
1. 项目目标与理念
- 社会目标:GNU被视为通过技术实现自由的工具,强调软件应允许用户自由使用、修改和分发。
- 自由软件定义:遵循GPL(通用公共许可证)等协议,确保用户享有运行、研究、修改和分发软件的权利,与价格无关。
2. 发展历程
- 发起与组织:
- 1983年9月27日由斯托曼发起,1985年成立自由软件基金会(FSF)提供支持。
- 依赖志愿者和商业公司(如Cygnus Solutions)协作开发。
- 关键里程碑:
- 1990年:完成Emacs、GCC编译器、UNIX工具链等核心组件,但内核(Hurd)未成熟。
- 1991年:Linus Torvalds开发Linux内核,1992年与GNU软件结合形成完整操作系统(常称GNU/Linux)。
- 持续发展:Hurd仍在开发中,但Linux成为实际主流内核。
3. 技术组成
- 核心组件:
- 工具链:GCC编译器、GNU C库(glibc)、核心工具集(coreutils)、调试器(GDB)、二进制工具(binutils)。
- 桌面环境:GNOME。
- 内核:
- 官方内核Hurd(微内核架构)进展缓慢,Linux-libre(去专有代码的Linux内核)被纳入GNU项目。
- 软件生态:截至2015年,官方托管466个GNU软件包,涵盖开发工具、实用程序等。
4. 许可证体系
- 主要协议:
- GPL:要求衍生作品开源,适用于大多数GNU软件。
- LGPL:允许专有代码动态链接,适用于库文件。
- GFDL:用于自由文档,支持协作修改。
- 许可证原则:确保代码自由传播,限制专有软件直接集成。
5. 系统变种与影响
- GNU变种:
- GNU/Linux:主流变种,如Debian、gNewSense等发行版。
- 其他核心:Debian GNU/kFreeBSD(FreeBSD内核)、GNU/Hurd(实验性)。
- 跨平台移植:GNU工具被移植到Windows、macOS及BSD系统,提升其可靠性。
- 命名争议:FSF主张使用“GNU/Linux”以承认GNU贡献,引发社区争议。
6. 文化意义
- 自由软件运动:GNU是开源文化的基石,推动Copyleft理念(通过版权保护自由)。
- 商业兼容性:允许自由软件商业化,但限制专有软件直接利用GPL代码。
7. 现状与挑战
- Hurd进展:仍处于开发阶段,未达生产级标准。
- Linux主导:GNU工具与Linux内核结合成为实际标准,广泛应用于服务器、嵌入式设备等。
总结
GNU计划开创了自由软件的先河,通过GPL协议和协作开发模式构建了强大的工具生态。尽管其官方内核未成熟,但与Linux的结合形成了现代开源操作系统的基础,深刻影响了软件产业和开源文化。