热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

GNU和Linux给GNU分裂分子上一堂历史课

 像Slashdot这样的论坛上常常有人在攻击GNU,他们的观点在我看来完全是缺乏历史知识和不尊重历史。当GNU倡导称Linux为GNU/Linux时,这些人声称GNU企图从Linus

 像Slashdot这样的论坛上常常有人在攻击GNU,他们的观点在我看来完全是缺乏历史知识和不尊重历史。当GNU倡导称Linux为GNU/Linux时,这些人声称GNU企图从Linus Torvalds 身上窃取荣誉,或者宣称GNU的所作所为有反商业的可疑动机。

我最后决定写下这篇文章,以避免出现更多的疑惑。

    下面是这些为数不多但大喊大叫的分裂分子必须牢记的一些简单事实:

    我们从GNU与Linux内核的关系开始说起:

    GNU的问世比Linus Torvalds开始从事后来成为Linux内核的工作要早得多,那时GNU早已创立构造OS所必需的一长列工具,包括像编译器、系统函数库之类的开发工具,像emacs 之类的编辑器,等等。像grep、ls和find等许多系统工具和命令也是源自GNU,至少它们当前的新生版本是这样。GNU项目的目标之一是替换常用的Unix工具,这儿所提的命令就属于这些工具。所有这些工具构成的代码量远比内核本身的代码量大,而内核则体现了GNU项目对于现在大家熟知的Linux现象的重要性。分裂分子应记住的另一个事实是,主动调整内核以配合GNU系统工作的正是Linus本人。而与GNU的紧密联系对于该内核在各方面的发展来说一直是相当重要的。Alan Cox这位最有前途的内核黑客之一说过,他开始钻研Linux内核而不是其他内核的原因之一在于Linux使用GPL许可证,他认为这要比BSD风格的许可证好。

    现在说说分裂分子宣称的GNU带共产主义性质并且反商业的问题。这个说法错得不能再错了。GNU几乎从一开始就通过销售作为GNU软件介质的磁带和CD-ROM以及印刷版的手册,基于自己开发的软件从事商业活动。他们还非书面地支持和鼓励以支持和/或开发自由软件为生的公司的创立,包括VA Research、Cygnus和Redhat.(最近RedHat和Cygnus宣布相互兼并。)以GNU许可证形式发行的软件改变了软件公司的商业运作方式,但并没有使得不可能做生意。从许多方面看,自由的GPL许可证形式的软件占主导地位的软件市场更体现了资本主义精神,因为它让善于做生意并且真正关心客户的公司受益,而不是让在技术的象牙塔上盘踞垄断地位的公司受益。后者与其说是现代资本主义的新生儿,到不如说是陈旧的重商主义体系的残余物。

    第三个批评的根据来自GNU不懈地大力提倡使用GNU许可证。这也许是在“开放源代码” 保护伞下推出的新的许可证近来引发的冲突的根源,但是我们看到,BSD倡导者正因强烈反对GNU许可证导致自己的系统缺乏群众基础而焦头烂额。

    GNU的批评者看问题的角度之一是,坚决强调GNU许可证会给自由软件引入太多的政治因素。对于他们我只能说,如果你对GNU许可证所体现的理想抱有怀疑,那就应该使用不是 Linux的另外某个OS,因为要不是这些许可证,也许不会诞生Linux OS,或者至少像她目前经历地那样得以广泛使用。不少公司正在尝试引入新类型的软件,这些软件的许可证将给当今遵循GPL的Linux系统以特殊的权力或优先考虑。有了这么多的尝试后,我可以相当自信地说,要是Linux使用像BSD许可证这样更为自由的许可证,商业公司就可能不会通过增加自己的专属特性来进行尝试,并在Unix取得竞争优势上取得成功。而我们都知道这已在市场上给Unix造成多大的危害。另一方面,要是Linux系统使用更为严格且不是copyleft的许可证,例如QPL或可怕的Sun许可证,那么对于大的软件开放者造成的限制就会更高,因为他们会感到自己不是在倡导一个给任何人以一定层次把玩平台的系统,而是在从一个发号施令者改换成另一个发号施令者,结果只能是另一个OS/2的命运。此外,这会使得Linux 的另一个成功因素即源代码共享几乎不可能。有些人看来忘记了,跟GNU许可证使得源代码可自由获取这一事实同样重要的是这些许可证所体现的copyleft原则。这与试图在Linux软件开发中作为一个大问题重新引入版权(copyright)的新出现的“开放源代码”许可证是背道而驶的。

    这么说来我是在积极倡导称这个OS为GNU/Linux了?不,实际上我个人并不称她为GNU/ Linux.我简单地称她为Linux,就像称Microsoft Windows为Windows一样。因此Stallman 和别人提倡使用GNU/Linux的说法时,你不应该攻击他们,相反应该像我那样把它作为警示物看待——它提醒大家GNU在让我们进入当今这个大家所期待的境界的过程中扮演着重要的角色。

    明白地说,我并不赞同Richard Stallman关于理想境界是所有软件都按照GPL原则发行的观点。我的观点是,我并不期待大家在任何细节上都赞同GNU和Stallman,确实如此,但是我的确期望乐意使用Linux的人们尊重并承认GNU在Linux社群中已扮演的而且将继续扮演的不可替代的角色


本文作者:

推荐阅读
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文介绍如何配置SecureCRT以正确显示Linux终端的颜色,并解决中文显示问题。通过简单的步骤设置,可以显著提升使用体验。 ... [详细]
  • iTOP4412开发板QtE5.7源码编译指南
    本文详细介绍了如何在iTOP4412开发板上编译QtE5.7源码,包括所需文件的位置、编译器设置、触摸库编译以及QtE5.7的完整编译流程。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
  • PHP中去除换行符的多种方法及应用场景
    本文将详细介绍在PHP中去除换行符的各种方法,并结合实际应用场景进行说明。通过本文,您将了解如何根据不同操作系统的特点,选择最合适的换行符处理方式。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • RedHat 系统下配置国内 YUM 源以替代官方收费源的方法
    本文详细介绍如何在 RedHat Linux 中安装并配置 YUM 包管理器,并通过使用国内镜像源来解决因未购买官方服务而导致的更新源限制问题。 ... [详细]
  • 本文详细介绍了在Linux环境下如何有效地管理任务,包括撤销操作、挂起与恢复任务、终止后台程序以及取消定时任务的方法。这些技巧对于提高日常工作效率和系统维护至关重要。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • CentOS7系统目录LINUX有四种基本文件系统类型普通文件:如文本文件、C语言元代码、SHELL脚本、二进制的可执行文件等,可用cat、less、 ... [详细]
author-avatar
ub皓祉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有