作者:兰和熙
Debian GNU/Linux(简称Debian)是目前世界上最大的Linux发行版之一。它之所以不为国内用户所熟知,是因为Debian不是一个商业实体,而是一个由自愿者组成的非商业组织。因此,不会有关于Debian的商业广告。尽管这样,在世界各地,Debian的用户群还是以每年增加1~3万人的速度增长着。
最近公布的FLOSS(Free/Libre and Open Source Software)调查报告显示,开发人员中有48%的人喜欢Debian,13.8%的人喜欢Red Hat,然后是Mandrake(9.8%),接着是SuSE(9.2%)。
事实上,Debian占有的市场份额仅次于Red Hat,位居第二。Linux Counter(counter.li.org)报告显示,世界上有24%的Linux用户使用Red Hat,21%的用户使用Debian。由于Debian侧重于技术的领先性而不是软件的易用性,所以它已经赢得了一个很大并且非常虔诚的用户群体。用户团体被赋予了完全控制Debian命运的权力,允许它成长到最大的极限。Debian已经渗透到Internet的每个角落。
Debian是完全免费和自由的,它对软件没有任何许可方面的限制。没有人从出售Debian的过程中获利,因为所有的源码和编译过的文件都可以从网上免费下载。现在的Debian中含有超过9000个的开放源码软件包。最新的代号为Woody的Debian 3.0可以运行在11种不同的体系结构之上。当然,由于很多人使用的是PC,所以在Intel平台上使用Debian的数量是最多的。事实上,Debian还可以运行于IBM的大型机(S/390),以及掌上电脑之上。可以说,Debian是目前最灵活的Linux发行版。Debian的强大源自于其致力于成为“自由”的软件发行版。由于其自由,它得到了广泛的支持。目前有记录的,在世界各地就有约1000名开发人员在从事Debian的开发,还有其它不计其数的自愿者也在以自己的方式为Debian的发展添砖加瓦。
DFSG(Debian Free Software Guidelines)规定,Debian软件必须要符合以下标准:
1. 对软件的发行没有限制;
2.发行的软件必须包含有源码,并且这些源码的发行也不能有任何限制;
3. 可以更改软件,并且可以重新发行更改后的软件;
4. 没有歧视,软件的许可方式不应因用户所属的领域或者组织而有所不同。
一直以来,在很多领域里,Debian都是一个产生原创软件的胜地。很多其它的发行版都曾拷贝过首次在Debian下发行的软件。Debian的软件包管理(dpkg和apt)可以说是开放源码世界里最负盛名的,其可升级性及稳定性更成为了Debian里的一个传奇。开放源码世界里的很多词汇都出自于Debian项目。比如,现在开放源码世界里的开放源码标准就出自于Debian项目成员之中。
从以上内容我们可以看出,在Linux的发展进程中,Debian起着举足轻重的作用。从某种意义上讲,关注Debian,就是在关注整个Linux产业的发展。
过去
Debian的开发是从1993年由Ian Murdock开始的。由于Linux与GNU的鼓舞,其最初的目的是成为一个公开的发行套件。它从一个小型紧密的自由软件黑客小组,逐渐成长成今日庞大且运作良好的开发者与用户社群。
表1是有关Debian版本的一个总的概览。本文中所有数据和图片皆来自Christoph Lameter。Christoph自1996年加入Debian项目以来,已经为该项目贡献了150个软件。2000年以来,它一直在ACLPI(Advisory Council of the Linux Professional Institute)中担任Debian的代表。
表1 Debian版本总的概览
为什么各个Debian发行版的名字都那么奇怪?那是因为Ian Murdock的继任者Bruce Perens以前是一个电影公司的员工,因此他用了一些玩具故事的名字来命名各发行版。0.93R6版是在Ian Murdock的领导下发行的,故没有这样的名字。在Buzz中,第一次使用了Linux 2.0内核。这是第一个比较完整地实现Unix功能的内核。在发行Rex时,Debian的软件包数量增长了近一倍,开发人员数目也有了很大的增加。在开发Bo时,二者的数量也在持续地增长。在Hamm版中,增加了一个新的C程序库,这就要求对很多软件进行更改。就在这一时期,开发人员的数量迅猛增长。通过各方努力,一个非营利的组织形成了。Debian项目的开发,开始在这一组织的管理下进行。于是,一些有关的政策文档也产生了,在Debian下运行软件的开发过程也开始规范起来。由于软件的数量急剧增长,因此急需一个软件包工具用于增加软件包管理的易用性。
在Slink中,增加了由Jason Gunthorpe写的Apt。这大大简化了Debian下软件包的依赖性管理,并实现了下载安装全过程的自动化。正是Apt,使我们可以在Debian中只需要一行命令就可以进行应用程序的安装。Apt可以自动进行依赖性或者冲突的检测,必要时可以修改其它的软件包。对于Debian项目而言,这是一个非常大的进步。直到现在,Apt仍然是功能最为强大的软件管理工具。
在一段时期里,Debian组织开始对项目中开发人员的水平进行了限制,这使得新接收的开发人员数量大大减少。这也就是在此后的几年中开发人员的数量增长缓慢的原因。这个时期以后,每一个开发人员加入之前都要履行一个程序,以验证该人员是否对Debian项目的目标以及政策有一个清晰的了解。
Potato版本中,软件包的数量再次有了很大的增加。这个版本增加了对新体系结构的支持,并且实现了对多体系结构支持的创建过程的自动化。也就在这一版本中,编译程序已经可以自动地编译出其它支持体系结构的可执行文件。
最新的代号为Woody的Debian 3.0,于今年7月份发行。这一时期,维护项目的开发人员再一次增加了一倍,软件包的数量则翻了三番。据悉,为了保证质量,Woody版本的发行实际上比预期推迟了几个月。现在,保证所有支持体系结构中软件的一致性,已经变得非常困难。整个项目变得非常庞大,对于开发过程的管理也越来越困难。
从Woody参与开发的人员可以看出,事实上,Debian是目前世界上最大的Linux发行版。现在没有一个系统可以支持像Debian这么多的平台。图1显示的是发行以来Debian的软件包和支持的体系结构数量的变化情况。
从图1可以看出,最近几年里,Debian下软件数量的增长非常快(请注意,X轴的年份是每一次Debian发行新版本的年份,而非逐年递增)。
图1 Debian项目中软件包数量的变化
图2显示的是到目前为止参与维护Debian的人数。从中可以看出,在1998年到2000年的几年间,加入的人数非常有限(注意X轴的年份也是每一次Debian发行新版本的年份)。
图2 Debian项目的维护人数
现在
现在,世界各地有数量众多的Linux发行版,而Debian则是目前世界上最大的发行版。只需一个简单的命令,就可以完成9000个软件包的安装。维护过程也非常规范,从应用程序到安全补丁的检测都有严格的程序。Debian有一个很大的邮件列表,我们很难知道其确切的数目,但是现在存在的一个很大的问题是交流的问题。由于人数很多,现在已经很难就某一个问题达成共识。不过,由于Debian对自由软件有着很深的承诺,并且觉得应该把这样的承诺化为一份正式的文档。这就是社群契约(Social Contract)的由来。事实上,现在的Debian是一个组织非常好的项目,并且在开放源码运行中也有着相当的地位。
Debian是一个非常有吸引力的实体,这个组织中的所有人都通过(只能通过)Internet进行交流。Debian的开发人员几乎从来不见面,交流大部分都是通过IRC(Internet Relay Chat)、邮件列表和网站来实现的。
因为是在线交流,人与人之间的面对面交流几乎没有,所以情绪和情感方面的东西就只能靠想象了。这就导致了一些误解和开发过程中的冲突。例如,某一领域里的问题,参与的人非常多。这就使得维持人与人之间的交流变得非常困难。因此,现在项目中的某些问题往往由小团队来进行开发,也就是说,决定是由这些小团队做出的,而不是由整个项目组。虽然项目发展到今天这是一个不可避免的结果,但是这也导致了组织或者个人之间由于不知道将要发生的改变而产生的一些抱怨。
未来
如上所述,Debian中有很多很好的工具。使用这些工具,Debian中便整合进去了大量的开放源码软件包。大量新人的加入也极大地提高了Debian的开发效率。最近一段时间以来,Debian软件包的数量急剧增长,图3反映的是软件包数量的变化情况。
图3 Debian软件包的数量
从图3中可以明显看出,随着时间的推移,软件包的数量也急剧上升。可以预见,在未来的几年中,软件包的数量还会有很大的发展。图4是Debian在未来几年软件包数量发展的趋势分析。
图4 Debian未来软件包数量的前景
有人可能会有疑问,Debian真的有这么多的软件吗?事实上,现在Debian中已经包含了所有开放源码社区里的软件包。照这种增长速度,到2006年,软件包的数量就可以达到10万个。与此同时,软件包和维护人员的比例也在发生着变化,刚开始时,软件包和维护人员的比例大约是6:1。在Woody版中,这个比例变成了10:1。如此推算,到2006年时,Debian将需要1万名维护人员。
从图5中可以看出,除了在1996年到1998年期间这一比例有所下降外,目前为止,这一比例在持续走高。
图5 软件包数量与维护人员的比例
面临的挑战
随着上述各种数字