Linux

发表于March 22, 1999 ,上海微型计算机世界

似乎微软永远兑现不了言之凿凿的发行日期和信誓旦旦的优越质量,对视窗系统失去信心的人与日渐增,而Compaq更是正式宣布将在今后的服务器上改用Linux作为网络操作系统并预装。

Linux这个单词,渐渐地在电脑界多了起来,Oracle、Sybase在三月上旬相继推出了Linux版的数据库,著名的SAP系统也正在向Linux移植,另外,Lotus
Notes、 WordPerfect、CorelDraw等也出版了Linux版本,难怪有人说21世纪将是Linux的时代。

Linux和自由软件

  Linux到底是什么?到底好在哪里?这是大多数人想问的问题。

  Linux是一种可以运行在Intel x86及其兼容芯片上的免费的类UNIX操作系统,说它类UNIX系统,因为它不是UNIX向PC的一个简单移植,它所有的代码都被重写,是一套能够兼容UNIX的全新操作系统。

  Linux的开发完全按照GNU通用公众许可证原则进行,并且Linux的源代码向任何人士免费提供。然而,这并不意味着Linux和它的各种分发版本是免费的――公司和开发者需要收取一定费用来维护源代码。Linux可被用于包括网络、软件开发和最终用户界面等相当广泛的场合。Linux通常被认为是一种不同于其它操作系统的、完美的、低花销操作系统。

  Linux分为源代码和分发版,源代码其实只是一大段20M左右的C语言程序,当然,这个一大段由数百个文件组成,包括各种类库、源程序、设备驱动代码等,这些都是免费的,可以直接从网上下载。

  由于Linux的朴实的功能与效率,它已经在全世界漫延开来,为数巨大的软件程序员把Linux的源代码按照他们自己的要求改编,现在,Linux的服务器装机量已经直逼Microsoft的视窗系统,而各项指标使得大多数已经使用视窗系统的人打算改弦易张,请看Linux与视窗系统的对照表(表1-1)。

  Linux的正式吉祥物是一个企鹅,被叫做Linux企鹅,由Linus Torvalds用他本人创作的系统描绘,当然,也表示了Linux的起源地。

  Linux的读音各有各的读法,Linus本人把I把发短音,并且使重音在第一个音节,听上去有些象LIH-nucks,Linus本人的发音文件可以从大多数Linux节点下载,文件名为english.au。

  前文提及的Linux,也就是人们常说的Linux,是广义上的Linux,的确,它包含有Linux,不过只是核心部分,其中包括对存储介质如软硬盘的访问,包括对通讯端口如并串行口的读写、提供对各种协议如TCP/IP的支持等,严格的说,一个单纯的操作系统是没有用的,就象只有一个DOS的command.com文件是不够的一样。

  至少,它还需要两大东西,一个字处理软件可以用来编辑程序,一个编译器用来把程序变成操作系统可以识别的机器代码,毕竟光靠脚本语言成不了什么事,而哪怕Larry
Wall也没打算把perl编进Linux的核心里去。

  于是,就有了TeX,最早的字处理器,以及GNU C/C++编译器,和后来的glibc(GNU
C/C++的类库)。

  通过这两大法宝,以及自由软件基金会(下简称FSF)的推广,许许多多的自由软件和源代码开发软件应运而生,这其中,甚至包括Netscape,Sybase等大手笔的作品。Sunsite收录了几乎所有的可在Linux下运行的自由软件,许多著名的节点定期有复制版本以极低的价格出售,现在已经汇总成四张完整的光盘了。

  我们常说的RedHat,SUSE等,严格的说是一套基于Linux的GNU软件集合,都是第三方厂商把Linux和其它精选的GNU应用软件集成在一起的产物,而这样的一个套件,真正的Linux核心在代码量上面只占到全部的3%左右,它具有类UNIX的特征,基本上百分之百地兼容UNIX的所有命令和操作,在学习的时候,可以完全按照UNIX来对待。

比较项目

Windows
95

Linux

最小配置

  486SX 处理器, 8MB
物理内存。

  386SX 处理器, 4MB
处理器。

缺陷修正与升级

  只有微软能够编写、测试和发行。过去的6年有过2
次大的升级。缺陷修正一般免费,新的发行版则不是。

  全世界的开发者一起编写、测试与发行。过去的6年有过7次大的升级。缺陷修正与新版本一律免费。

互联网兼容性

  有TCP/IP协议,拨号和网卡软件,以及基本的互联网程式(telnet,
ftp等)。

  有TCP/IP协议,拨号和网卡软件,Web服务器,邮件和路由软件,ftp
和telnet服务器以及更多,更多,更多!

可靠性

  没有被大的商业节点选用,除了Microsoft自己的节点。

  被Yahoo! 和 XOOM.com世界两大商业站点选作Web服务器。

稳定性

  长时间的缺陷修正导致内存漏洞和错误申请。

  短周期缺陷修正来保证Linux的高效与稳定。

技术支持

  按单个事故支付方式收取费用。

  通过USENET和其它的论坛免费提供。

多用途性

  单用户操作系统,与典型的海量文件系统和打印服务不相配。

  适合于下列用处:单用户操作系统,多用户操作系统,web
服务器,文件服务器,防火墙,FTP服务器,打印服务器,备份服务器,拨号服务器,以及更多!

自由软件基金会和GNU项目

  这是一个没有基金的基金会,不过,他们有大量的支持者,他们主持着包括Linux在内的许多软件的开发,并且为这些软件的合法性与不被侵占贡献着力量。

  这个基金会发起了自由软件运动,他们认为所有的软件都应该是自由软件,目前的版权约束了电脑及信息化的发展,他们要求所有的程序员公开代码,希望更多的人加入到优化代码的行列中来。

  于是,就有了GNU项目,GNU的意思是:GNU’s Not UNIX。它们的宗旨非常明确,要有一个系统,与UNIX兼容,但又完全不是UNIX,在软件方面,所有会使用UNIX的人不用再学,就可以使用GNU系统,而GNU系统中的所有软件都是自由软件。

  FSF最终选择了Linux作为GNU项目的操作系统,而后大多数的开发工作都基于Linux操作平台开发,在GNU项目中,涌现了大量成功之作,有些继承于UNIX的应用软件目前在Linux平台上的加发远远超过UNIX。

自由软件 vs. 免费软件

  “Free”这个词,可以说在当今的互联网上几乎无所不在,好象整个互联网是不要钱的;软件在互联上的发布有多种形式,大多数都可供下载,如“Shareware(共享软件)”、“Cardware(明信片软件)”、和“Demoware(演示软件)”等。

  有两种软件经常被混淆,就是“Freeware”和“Free Software”,前者表示“免费软件”而后者表示“自由软件”。

  看上去差不多嘛!然而他们却不一样。

  这个论题来自于“free”这个单词的多义性,free可以解释成“免费”或者“不要钱的”,就象“free
beer(免费啤酒)”;它还有一个意思是来自于“freedom”,表示自由,就象“free forum(自由论坛)”。

  自由软件可能是要钱的,当然,绝大多数是免费的。在此,FSF特地指出了自由软件的三大自由:第一,复制程序并分发给朋友或合作伙伴的自由;第二,通过完整的源代码修改程式的自由;第三,分发改进版本的自由(你可以收回物理介质和传递的费用)。<!doctype
html public "-//w3c//dtd html 4.0 transitional//en"> 

放弃版权

  英国谚语说:“没有新闻就是最好的新闻”,佛家有言曰:“空即是色”,其实都是一样的意思。这里,“放弃版权”是一种特殊的版权,而不是版权的一种执行方式(在下面的文章中请始终注意,这种版权叫做“放弃版权”)。

  Copyleft,这个词解释成中文有一定的难度,首先,它是与copyright相对的,“right”在英语里是个双关语,表示“右”或者“权利”,于是FSF想出了这样的一个词――copyleft来相与之相左,而left恰巧在英语里也是一个双关语,表于“左”或者“丢弃(leave的过去式)”,于是,我把这个词翻译成“放弃版权”。

  放弃版权软件并非没有版权,它拥有一个放弃了的版权,FSF建议程序员先为程序赋于版权,然后加上分发条款,同时合法地向所有用户授于在分发条款不被修改条件下的使用、修改、分发和改编的权力,并以此来保护程序的合法自由性。

  FSF同时认为以往版权拥有者以版权来剥夺用户的自由,而自由软件的编写者是通过拥有版权来保护用户的自由,于是,他们把这种版权叫做“copyleft”,通过GNU项目,FSF希望给所有的用户以最大的分发和改编GNU软件的自由,如果有中间商剥夺了这个自由,就会有许多“失去自由”的用户,所以,FSF要求人人遵守“放弃版权”的版权协议,并且要求把以此获得的自由传递下去。

  的确,“放弃版权”也刺激了许多编程者来增加并优化自由软件,著名的自由软件GNU C/C++就是为此目的而存在的。

  然而,所谓的“放弃版权”只是一个常规概念,在GNU项目中,这个特殊的分发条款被包含在GNU通用公众许可证中(GNU
GPL)和GNU库文件通用公众许可证中。

  通俗地说,这个“放弃版权”的操作法有些象我们中国的传统戏曲,例如王实甫编的西厢叫做《王西厢》,然而各个戏班都可以在此基础上排练(改编)、上演(分发)、传授后人(复制),而同时《董西厢》甚或是《李西厢》也遵循着这样的原则来进行。

GNU通用公众许可证

  GNU通用公众许可证是FSF为了推广自由软件的发展和GNU项目的实施而推出的一份软件版权许可证。

  由于附带源代码的自由软件有着被人占有的极大可能性,FSF要求所有自由软件在这份许可证的条款下编写、复制和分发,以此在最大程度上保护软件和代码的自由,同时也保护了原作者的权利。

  目前的第二版GNU通用许可证于1999年6月被通过,并应用于大多数FSF的软件和其它的一些作者愿意使用本许可证的自由软件上(FSF的其它代码由GNU库文件通用许可证涵盖),你也可以把你自己的软件下放在GNU通用公众许可证的保护下。

  在许可证中,FSF再次强调“free”指的是“自由”而非“价格”,这份许可证就是为了保证每个用户有分发副本(并且按意愿对此服务收取一定的费用)的自由,用户还有得到源代码,改变或使用部分代码的自由,FSF要求每个用户都事先从法律上知道自己的权利和义务。

  这份许可证被适宜地放入许多用户手册和每一个分发源代码中,一般,它们的文件名为COPYING或COPYING.LIB。

  如果你是软件的版权持有人,只要简单地在软件包中加入GNU通用公众许可证就可以了,你无须修改公众许可证中的任何条款,只要在程序中注明你的程式遵守GNU通用公众许可证的条款就行了。

  顺便说一名,GNU通用公众许可证有多种语言版本,我也正着手中文版的翻译工作,但只有英文版的原文是正式的、受法律保护的许可证。

自由软件的优点

  随着2000年的到来,已经有越来越多的人们意识到自由软件带来的便利,它的开放性与自由是它的最大优点,它的免费更是让大多数人乐不可支,然而,自由软件还有着许许多多其他大家所不知道的优点。

  首先是自由软件的安全性,由于源代码的开放,任何人都可以仔细地阅读源代码,找到安全漏洞,虽然可能有人因此来钻空子,但由于自由软件的开发体系,可以及时地写出改进版本来,所以目前的自由软件经过了三、四年的优化,已经很少有安全漏洞了。

  其次是自由软件的依赖性,也许有人会问:“这些不要钱的软件出了问题,我找谁去?”

  纵观近几年来的自由软件发展,这个疑惑是多余的,由于世界上有数以万计的人们在使用这些软件,你的问题或许也是他们的问题,而对于自由软件的问题解答不会牵涉到任何的版权争执,因此,对于大多数总题可以到新闻组中寻找答案,在去年,基于Linux操作系统的GNU项目甚至被电脑周刊评为全球服务最佳软件。再说,自由软件虽然不承担责任,但你还可以聘请某些公司来为你做整个系统集成,他们将承担起应负的责任。

  自由软件系统还有很好的开发潜力与升级可能,我想不用多说,各位也一定能够理解这样的概念,而且,其它系统中的优点可以很好地被自由软件吸收过来,因为自由软件很好地避开了专利的问题,对于自由软件来说,可以很好的“抄袭”其它软件而不侵权,因为所有的自由软件不是“以盈利为目的”的。

  好了,也不多说了,如果各位感兴趣,可以试一试Linux以及其它的自由软件,如果各位想知道更多,可以给本刊来信,我们会想法给大家解答。

Leave a Reply

Your email address will not be published. Required fields are marked *