GNU运动

时间: 2023-10-04 admin IT培训

GNU运动

GNU运动

软件商业化

上个世纪六十年代,计算机技术尚处于萌芽阶段。彼时,能接触到计算机的人还很少,软件通常诞生于高校或科研机构的实验室中,它们由精通计算机技术的开发人员编写,开发者往往会在小圈子里共享自己的代码,彼此之间交流学习。此时的软件自由度极高,我们一般称之为开源软件

上个世纪七十年代,随着计算机技术的发展,PC进入了普通市民的生活,一些具有远见的人发现:好的代码非常值钱!以微软为代表的公司掀起一股软件商业化的潮流。商业软件不仅是收费的,而且它们的代码通常是闭源的,也就是无法查看它的代码并修改。随着微软等公司的巨大成功,无数机构于开发人员加入到了软件商业化的大潮中。

Unix的商业化进程

其中比较著名的是Unix的商业化,Unix操作系统诞生于AT&T的贝尔实验室,Unix的诞生没有任何的奖励于管理,完全是出于Ken Thomptson等程序员的爱好和兴趣。程序员对Unix的源码进行修改与裁剪,并进行再发布,因此Unix系列还有着许多发行版,其中比较著名的是Berkeley的BSD发行版。到了二十世纪七十年代,AT&T注意到了Unix的商业价值,将Unix作为商业软件发布,从此Unix离开了开源软件的阵营,这直接导致了许多开源软件能真正运行的平台都没有,直到Linux的诞生。

GUN运动

然而并不是每个人都投身于软件商业化的浪潮中,每个时代都有着“唐吉柯德”式的任务,Richard Stallman就是其中之一,他就职于MIT的人工智能实验室。在他的眼里,商业软件的采取的闭源方式就是在禁锢思想、阻碍自由。于是在1983年,他发布了GUN宣言,这就是大名鼎鼎的“自由”软件运动。

GUN的全称是GUN is Not Unix,GUN强调的是free,即自由。它是一种倡导,倡导人们开放自己的源代码,以供人们不受限制的修改、学习,使用。而Richard Stallman本人更是有着一个宏愿:打造一个自由软件的生态,任何类型的商业软件都能在自由软件的阵营中找到它的替代品。Richard Stallman开始着手于开发和收集组成这个生态的必须软件,如库,编译器(GCC),编辑器(Emac)等。

GNU/Linux

由于Unix的商业化,自由软件阵营始终缺少着能够运行自由软件的操作系统,直到1991年,芬兰的一个年轻人Linus Torvalds发布了Linux操作系统内核,自由软件阵营才有了自己的运行平台。Linux只是一个操作系统内核,上面运行着许多GNU程序,它们共同组成了一个可用的操作系统。因此,我们今天将这个自由软件的生态称为GUN/Linux。

GPL许可证与GNU

GPL 是GNU General Public License它是一个GNU的通用许可证。许可证就是用来说明自己软件的性质,也就是说只要你的软件是使用GPL发布的,那么你的软件就加入了GNU的阵营,别人可以没有任何限制的使用你的代码。

当然GPL许可证也不是完全没有限制,它的限制,就是基于GPL发布的源码经过修改在发布时也必须时GPL,这就好像是在说“唯一的限制就是没有限制一样”。

开源软件与自由软件

前面,我经常将“开源软件”与“自由软件”混着用,事实上它们之间的意思也是十分接近的。不过它们并不能完全划等号,至于它们之间的关系我只get到一点:自由软件是开源软件的一个分支,绝大多数开源软件都是自由软件,但不是全部。

参考

《涂抹Mysql》1.1