技术开发 频道

GNU项目25周年,路在何方?

【IT168 技术文章】

    在计算机出现的最初时期,所有的一切都可以被认为是自由软件。当时的计算机体型巨大,不能联网,还有在现在看来非常不能理解的工作方式,因为他们最初都是通过卡片或者纸带来实现计算的。就在这个时候,Richard Stallman出生了。上个世纪60年代的时候,Richard Stallman开始在IBM System/360大型机上进行程序设计,当时采用的语言是PL/I,这是一个有着悠久历史的过程性编程语言,距今已经有45个年头。70年代左右,Richard Stallman开始在MIT人工智能实验室工作。就在这里,他见证了软件的自由向私有化以及专有方向的发展。正是这种“黑客”文化的不断消失,使得他下定决心要改变这些,从而为他在83年创立GNU项目打下了基础。

    在Richard Stallman的记忆里,在整个70年代,绝大多数操作系统已经开始走向专有,不再开放。就比如在MIT的人工智能实验室,最开始的时候也有一个自由的操作系统,但是在80年代早期的时候也已消失。

    因为在此时期,MIT人工智能实验室里的黑客们成立了一家名叫Symbolics的公司,这家公司主要是结合当时的软硬件系统,出售名为LISP系统的产品。Richard  Stallman认为,这种闭源的方式正是他所追求的自由软件的死对头。

    当时Richard Stallman花了大量时间在和Synbolics公司斗争,并且不停的攻击它,而且给那些在MIT智能实验室办公司的人下了最后檄文。他还曾经说过:“我并不想在我的余生中和谁过不去,我只是想把我们所失去的东西找回来,我只是想使得计算机的使用者能够获得真正的自由。但是,假如程序是专有的,那么这个理想是永远不可能实现的。”

    所以在1984年的时候,Stallman决定自己从头开始写一个自由的操作系统。这个操作系统的名字是GNU,取意递归“GNU is Not Unix”语句的首字母。才开始的时候,他想通过改写一个名为Patel的编译器来作为这个操作系统的基础,但是很快发现这样行不通。于是他决定从头开始写一个自由的编译器,这就是后来著名的GCC(GNU Compiler Collection)的基础。然后,他还重写了Gosling Emacs文本编辑器,将其中的LISP代码全部剔除,这就是最初的GNU项目自由软件项目之一,GNU Emacs。

    接着,就是我们见证的一个历史性时刻,因为要发布GNU Emacs,Stallman就需要给软件附带一个用户授权协议。最初,Srallman在1985年使用的授权协议并不是GPL。这是GNU项目首次在软件版权领域涉足,在此之后的第四个年头,所有的GNU操作系统中部件,所有其他部分都逐渐地采用统一的授权协议,这就是GPL,GNU通用公共授权。

0
相关文章