Linux 版 (精华区)
发信人: tcpip (俺的昵称改了), 信区: Linux
标 题: FreeBSD连载(03):其他相关系统和组织
发信站: 紫 丁 香 (Fri Nov 12 21:22:02 1999), 转信
【 以下文字转载自 Linux 讨论区 】
【 原文由 tcpip 所发表 】
FreeBSD连载(03):其他相关系统和组织
http://www.sina.com.cn 1999年11月5日 14:46 王波
其他相关系统和组织
自由使用和免费是FreeBSD的特征,在英文里都可以使用 “free” 来表示。这表示
使用者不仅仅可以免费使用这个系统,还可以对软件进行适合自己需要的改动,并能够影
响这个软件的发展等等,这正是free这个词更深一层的含义。
支持自由软件的人通常认为,每个计算机的使用者都有自己特定的需要,不可能有一
个包罗万象、适合所有需求的软件系统。因此软件开发者和系统管理员希望了解软件内部
的情况,以便可以对软件进行定制和扩展。而商业软件只提供软件的二进制代码,将软件
内部的操作完全封闭起来,使用者就丧失了对软件的主动权。另外,任何软件产品都存在
各种BUG,商业软件的使用者在遇到软件产品的这些问题时,就只能被动的等待厂商的补
丁程序,整个软件系统不得不停顿或冒一定的风险继续使用。第三,计算机的使用者并不
会完全信赖商业软件,某些软件厂商会故意在软件中加入恶意代码,或加入某种未公开的
后门,对使用者造成危害。即使这些软件中的后门或恶意代码是打着防止盗版、提供更方
便的功能等旗号加入的,但也可能被偶然触发,危害使用者的利益。而在提供软件源代码
的软件中,就不会存在这种恶意的行为。
这些问题对于一个普通用户或者不重要,但对于一个较大的系统或要求较高安全性的
系统中,就能表现出重要性了。支持自由软件的人认为,如果一个软件提供了源代码,那
么使用者就能根据情况自己修改或请他人修改软件,从而适合自己的最终需要,并修正系
统中因为有意或无意导致存在的问题。当前,开放源代码已经得到越来越多的计算机使用
者和厂商的认可,他们组成了开放源代码组织(Open Source),来进一步推动这个思想
。
另一方面,由于某些种类的商业软件中不存在竞争,垄断的结果就造成软件的价格昂
贵,使得这些软件不是任何有需要的人都能够用得起的。而软件最大的价值是被人使用,
因此有很多人认为软件开发者要允许别人使用他的软件,应该从软件服务中获得收益,而
不是从软件本身中谋取暴利。他们认为计算机应该属于大众,而不应该由某些公司垄断。
因此这些崇尚自由软件的人员就想为所有用户开发一整套系统,使用户在现有商业软件之
外还可以进行选择,而不至于必须为商业软件支付额外的费用。这些人包括FreeBSD的开
发人员、Linux的开发人员、GNU计划的开发人员以及其他众多的自由软件开发者,他们开
发的软件构成了计算机领域内多姿多彩的一面,使得即使不使用任何商业软件,使用者也
同样能够在计算机上以更好的性能完成所有的工作。
GNU's Not Unix
GNU不是Unix,采用这种递归方式定义的GNU计划是由Richard Stallman提出的,他建立自
由软件基金会(FSF)并提出GNU计划的目的是开发一个完全自由的,与Unix类似但功能更
强大的操作系统,以便为所有的计算机使用者提供一个功能齐全,性能良好的基本系统。
GNU HURD为GNU操作系统的内核,但是当前还没有正式发布,仍处于测试阶段。很多人使
用Linux内核和GNU的应用软件组成了GNU/Linux系统。右图为GNU的标志。
FSF开发了大量的自由软件来达到这个目的,这些软件与Unix上原有的软件功能相同
,但由于GNU开发软件的时候硬件的处理能力更强了,因此GNU软件充分利用计算机的硬件
能力,比Unix中的同样的软件功能更强,因此非常流行。这些软件在GNU通用公共许可的
保护下允许任何人免费使用和传播(但必须同时提供源程序),因此被大量的用在其他的
Unix中,FreeBSD上也提供了很多GNU软件。
Stallman创造了一个词copyleft,由于通常意义上的版权copyright是用来限制别人
在没有许可的条件下不能使用和传播软件,而copyleft则鼓励任何人可以使用和传播软件
。copyleft限制妨碍使用和传播GNU软件的行为,例如不提供GNU软件的源代码。然而
copyleft与copyright并不冲突,因为 copyleft是针对软件的传播者而非针对最终使用者
的。GNU软件必须使用copyleft保护,限制将GNU软件本身用于牟利目的,而其他软件仍然
可以使用copyright保护版权不被侵犯。Stallman进一步使用GNU 通用公共许可来详细阐
述copyleft的观念,要求传播GNU软件必须同时传播其源代码。由于GNU通用公共许可十分
流行,因此很多非自由软件基金会的自由软件也使用GNU通用公共许可来保护自己软件,
不被商业公司用于获利。
GNU软件许可相当宽松,有很多公司利用GNU软件进行商业活动,但只要同时提供了
GNU软件的源代码,就没有违反GNU软件许可。
FreeBSD本身是在BSD许可的保护下,BSD许可权与GNU通用公共许可略有不同,一些方
面的限制甚至更为宽松。GNU通用公共许可要求传播(包括销售)任何符合GNU软件应该包
括源代码,反对利用保守GNU软件的源代码的方式牟利,而BSD许可则允许以二进制形式发
布软件,对于某些不打算公开源代码的商业运用并没有进行限制。
GNU/Linux
FreeBSD并不是唯一的免费 “Unix” 操作系统,也不是最流行的Unix系统,这个荣
誉属于Lin ux。这主要由于Linux出现得早两年,那时BSD的源代码还受AT&T许可权的限制
,不能自由获得,而I ntel的32位处理器386的普及已经使Internet上诸多Unix爱好者对
PC平台上的免费Unix系统提出了需求,Linux应时而生。近来在Netscape等商业公司的倡
导下,Linux得到众多商业公司的支持,无形中成为了反Microsfot联盟的一杆旗帜,声势
更为浩大。
Linux是由芬兰人Linus Torvalds编写的Unix兼容系统。由Linus Torvalds 负责核心
开发和维护,其他组织和商业公司负责将Linux的核心和应用程序组织在一起发布,由于
大部分程序为GNU软件,因此更严格的说Linux应该被称为GNU/Linux。当前流行的Linux版
本有slackware 3.6 ,Debian 2.0,RedHat 5.1等。
Linux和FreeBSD同为英特尔平台上的Unix操作系统,因此有很多相似之处。几乎所有
的自由软件都同时支持Linux和FreeBSD,因此在应用方面他们也很相似。但Linux和
FreeBSD也有相当大的不同之处,可以说各具特色。
从历史渊源上讲,FreeBSD继承了BSD Unix的代码,因此代码相当成熟和稳定。而
Linux是一个全新的系统,是遵循POSIX规范开发的一个独立操作系统,但又提供了与BSD
Unix或Unix System V的兼容性。因此Linux完全没有受到1992年的AT&T诉讼的影响,结果
成为了最流行的自由操作系统。虽然今天那次法律纠纷已经解决,4.4BSD Lite的代码可
以自由获得,但FreeBSD的使用者仍要少于Lin ux的使用者,FreeBSD的使用者多数为网络
和计算机专业人士,普及程度较低。
出于这个历史渊源的原因,FreeBSD是一个完整的系统,从系统核心到系统提供的程
序均来自BSD Uni x,部分GNU软件是用于代替BSD Unix中的一些老版本软件。而Linux仅
仅只是一个操作系统的内核,其应用程序大部分为GNU软件,然后由不同的组织或个人将
这些GNU软件与Linux内核整合在一起的。因此就存在多个不同的Linux版本,而且不同的
Linux版本使用不同的组合方式,因此各种Linux版本之间有很大的差异,并且可以预计这
些版本会随着发展进一步增大彼此的差异。而FreeBSD的版本比较整齐清晰,只有一个
FreeBSD版本。
通常FreeBSD更关心稳定性,而Linux具备的各种新特性更多。由于Linux得到了更多
的商业公司支持,因而Linux下的商业软件也更多。但是这些商业软件均可以通过FreeBSD
对Linux执行文件的支持,也能够运行在FreeBSD上。这个不同主要是由于Linux和FreeBSD
的开发过程的差异造成。
虽然FreeBSD和Linux的开发过程都是非常开放的方式,每个开发者独立进行自己的工
作,通过Inte rnet来互相交流。任何对系统开发有兴趣的人都能贡献新的想法,并组建
一个开发队伍或加入现有开发队伍将自己的想法实现。但是FreeBSD与Linux开发方式的不
同是,FreeBSD有一个开发者组成的核心小组(FreeBSD core team)对整个FreeBSD负责
。任何人都可以利用FreeBSD提出自己的开发计划,但只有Free BSD核心小组认为这个计
划对整个FreeBSD发展有益,这个计划才能列入FreeBSD计划本身。所有的Free BSD开发者
共享同一个源代码树,使用并发版本维护工具CVS进行维护。有了FreeBSD核心小组从整体
上规划Fr eeBSD,并邀请其他开发者加入核心小组,因此FreeBSD显的更简洁和干净,版
本发展也比较稳定。而Linux 仅由Linus对内核进行维护,任何人都可以组织自己的计划
,贡献自己的代码,没有一个统一的源代码树,只是在最后由 Linus进行整合和发布正式
内核。由于没有严格的控制,并且Linux的开发者很多,因此Linux中虽然有更多的新特性
,却显得略为杂乱,并且有些新特性的代码没有经过时间验证,可能存在有问题。
一个新功能没有进入FreeBSD正式版本的原因很多,有的是由于这个功能不够成熟,
有的是由于核心小组认为这个特性意义不大,还有的是因为正式内核已经有类似功能,或
者由于专利或版权问题(例如,该软件的作者不打算让该软件成为自由软件),使得十分
成熟的功能也不能被列入正式发行的版本。
由于Linux和FreeBSD互为竞争对手,在Internet上关于Linux和FreeBSD的争论很多,
然而这种争论一般不会得到什么明显的结果。事实上他们都能完成各种应用需求,但各有
自己的侧重点,至于那种系统最适合自己,需要根据具体情况而定,使用者的个人喜好也
是影响选择的一个重要因素。一般FreeBSD的使用者也曾经(或同时)是Linux的使用者,
然而有Linux的使用经验对学习和使用FreeBSD也有不少帮助。只有竞争才能促进发展,
Linux和FreeBSD不但是竞争的关系,也是相互学习的关系,只有如此各自才能不断发展。
在作者个人的使用经验中,FreeBSD仅有过一次崩溃,并且这种崩溃不是随机出现的
,其原因是使用了所有优化选项来编译内核,编译器某项优化造成了内核的BUG,结果就
在执行某项操作时就被触发。在降低了优化级别之后,问题就消失了。因此这个问题应归
结为编译器的问题而非内核的问题。在Linux中,问题更为严重一些,过于求新求功能的
多样性,使得系统崩溃更频繁,并且很多系统崩溃无法找到原因。
注意:系统崩溃和系统死锁不同,一些情况下一些应用软件死锁会造成键盘或显示没
有响应,然而仍然可以通过网络或其他终端设备登录进系统杀死死锁进程。例如在
FreeBSD下执行Linux的X Server时,进行切换虚拟控制台的操作就会导致键盘死锁。
当前Linux的一个发展热点是各个商业公司的参与,这的确丰富了Linux下的软件。然
而另一方面,商业公司也试图把专有设计引入Linux,将原有开放的环境变为商品化的环
境,以便从中牟利。当前不同版本的Linux之间的差异已经相当大了,很多人已经意识到
了Linux面临的分裂危险,可以想象以后某个版本的Linux会与其他版本存在兼容性问题。
而FreeBSD有统一的源代码树,不存在分裂的问题。
其他BSD系统
商业版本的BSD/OS也是一个非常优秀的操作系统,它是由原BSD Unix的部分开发人员
组成的BSDI 公司的产品。由于存在商业支持,因此在某些方面具备免费的FreeBSD不具备
的优势。例如某些硬件厂家不愿意公开自己的硬件资料(或者是有条件的公开),因而使
得FreeBSD无法支持他们的硬件,而他们可以为BSDI提供资料以供开发驱动程序。一些不
能理解自由软件、要使用FreeBSD不支持但BSDI支持的硬件,或对服务和技术支持提出较
高要求的使用者,可以选择使用BSDI。
NetBSD和OpenBSD也是基于4.4BSD的自由Unix操作系统,可以算是FreeBSD的兄弟。甚
至在最初,NetBSD和FreeBSD的大部分开发者都完全相同,同样的开发者同时为两个系统
进行开发。而开发者和使用者都是将这两个系统作为BSD Unix在不同硬件平台的实现来看
待的,FreeBSD用于Intel平台,而 NetBSD用于多硬件平台,主要用于RISC工作站硬件。
随着两个系统的不断发展,两者逐渐相分离,而OpenBS D是从NetBSD分出的一个分支。但
FreeBSD是为个人计算机平台设计的,后来才尝试移植到其他平台上(已经有 Alpha和
Sparc芯片下的FreeBSD系统,但还不十分成熟),因此更适合个人计算机用户,而NetBSD
和 OpenBSD一开始就设计为能够运行在多系统平台上,包括各种RISC工作站,因而NetBSD
和OpenBSD的使用范围就更窄一些。
以上这些BSD Unix系统的使用数量要少于FreeBSD系统。FreeBSD由于专注于Intel平
台,支持Intel平台上的硬件种类最多,并对易用性作了很大改善,因而使用范围更广泛
,是最常见的BSD Unix系统。但是由于这些系统同属BSD来源,在开发过程中常常相互交
流,因此使用方法和管理基本相同。在FreeBSD、N etBSD、OpenBSD之间进行选择的决定
性因素常常是安装BSD系统的硬件平台。
未完,待续。。。
--
"这一千多年没写诗了?"
"写了, 不过只写了两句."
"千年得两句, 一定是万古丽句了. 念来听听."
"好吧, 我现丑了" 太白星清了清嗓子, 浑厚的男中音在天庭响起:
大海啊, 都是水;
骏马啊, 四条腿;
※ 来源:·紫 丁 香 bbs.hit.edu.cn·[FROM: 202.118.239.10]
--
※ 转载:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.239.10]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.638毫秒