1993年,8月16日早上5点31分03秒,与新闻大亨 Ian Murdock 同名的普渡大学学生在 Linux 新闻组里发了一条信息,阐述了他对 Linux 的想法,最古老 Linux 发行版之一 Debian 就此诞生。
Murdock 那时候应该没有想到,Debian 会在开源历史获得如此重要的地位。
1996年,Murdock 退出 Debian 项目的领导,接手的正是 OSI(Open Source Intiative)的发起人 Bruce Perens。在他的主导下,现在官方标准的开源定义 OSD(Open Source Definition)就是从 Debian 自由软件指导方针演化而来。
身为开源界的“长老”,Debian 无论是从经济上还是意识形态上,都表现得很硬气!
Debian 的独立性不仅体现在与商业公司保持距离,它还同时在“GNU”和“Linux”两股开源不同分支之间的分歧上,采取清醒的态度。立场硬气的 Debian 口号是:“Linux for Human beings”。
01 谁也不能一手掌握 Debian
Rather than being developed by one isolated individual or group, as other distributions of Linux have been developed in the past, Debian is being developed openly in the spirit of Linux and GNU.
与其他 Linux 发行版本不一样,Debian不应该是由某一孤立的个体或团体发展,而应该在 Linux 和 GNU 的精神下发展下去。
成立之初,Murdock 发布了 Debian Linux 宣言为 Debian 注入了开源灵魂,他呼吁 Debian 是为了发扬 GNU 和 Linux 的自由精神而创建。然而,又不像 Linus 之于 Linux、Guido 之于 Python...... Ian Murdock 并没有牢牢地占据着 Debian 的中心,而是在两年后就卸任离开了。
他的继任者—— Bruce Perens 能量更不可小觑。
Bruce 出生时患有脑性瘫痪,小时候言语不清,还被误诊为发育障碍,学校甚至都没有教他阅读。但所有这一切都不妨碍他成为 OSI 联合创始人、开源运动发起者、“开源定义”创建者。
纪录片《操作系统革命》中的 Bruce Perens 还年轻
当时的 Bruce Perens 正忙于一个叫做“Linux for Hams”的 Linux 发行版 CD,正要收录 Debian 时,却发现 Debian 需要的帮助更多。1996年4月,Bruce 被 Ian Murdock 任命为 Debian 的第二位领导者。
“Bruce 接任我是一个自然而然的选择,他已经为基础系统工作了近一年时间,为 Debian 所花费的时间比我还要多。” 当时 Debian 还没有所谓的选举制度,Ian Murdock 这样解释他的选择。
事实证明,Murdock 的选择没错。
当时的开源社区普遍都处于起步阶段,比如当时在红帽工作的 Ean Schuessler 就曾抱怨红帽对于社区连个起码的约定都没有。Bruce Perens 在1997年6月初向 debian-private 邮件列表中的Debian 开发者提出了 Debian 社会契约草案。
“Debian 开发出来之后,Debian 除了遵循 copyleft 之外,也遵循着一些其他的自由许可证。所以当时的 Debian 在自由软件方面还存在一些问题,因为它没有向 Debian 之外去明确其自由软件的理念。 ” Bruce Perens 在后来的文章回忆说。
这个草案在 Debian 开发者内部经历了一个月的激烈讨论,最终协调修订成为 Debian 社会契约和 Debian 自由软件指导方针——也是著名的 OSD 的雏形。
除此之外,Bruce Perens 对于 Debian 的影响不止于此。Bruce 是个不折不扣的通才,他的领域不仅局限于计算机工程、法律等,还在动画制作公司 Pixar 工作了12年,参与了《虫虫特工队》和《玩具总动员2》两部经典之作。这就不难解释,为何 Debian 的版本号采用的是“玩具总动员”中的角色名了。
但是,Bruce Perens 依旧没能成为 Debian 的中心,他在任期间也受到了不少批评 —— 一些开发者认为他独裁,几乎掌管着所有事情,也控制着所有事情。
1997年12月,掌管 Debian 一年的 Bruce Perens 卸任,不到三个月就和 Eric Raymond 一起成立了 OSI,开始专门管理开放源代码活动及其认证标志,成为开源运动的领军人物。(有意思的是,Debian 创始人 Ian Murdock 也位列 OSI 最初的董事名单。)
而 Debian 也开始撰写 Debian 章程(Debian Constitution),避免权力集中于领导者一人身上。比如,Debian负责人可在特定的领域做出决定,但是须将之交付给另外的技术负责人;民主程序可以罢免项目负责人和推翻负责人的任何决定等等。
从此,Debian 的历届领导人几乎都遵循一年一换的节奏。在一些 Debian 开发者的眼里,Debian 负责人要做的就是开开会之类的,并把 Debian 介绍给共同体之外的世界。
当然,这样大程度地削减领导权威,也为 Debian 日后的一些问题埋下伏笔。
02 Debian 世界里没有“金主爸爸”
Debian 的个性不仅局限在内部,还表现在他们面对“金主”时的硬气。
Ian Murdock 建立 Debian 之前,几乎没有什么 Linux 系统可以选择,Debian 是个典型的先行者。因此,很快 Debian 就引起了 FSF (Free Software Foundation)的注意。1994年11月,Debian 得到了 FSF 的一笔资金支持。
要知道 FSF 可并不是什么好说话的主,他们严格遵循 GNU 哲学,对于自由软件的执着是出了名的。不出所料,FSF 就因为 Debian 系统中所存在的非自由软件库发了牢骚。在 FSF 看来,Debian 应该站在自由软件的阵营里,保持纯粹的自由软件属性。
Debian 会就此受制吗?完全不可能。
1996年,时任 Debian 负责人的 Bruce Perens 发了一封邮件:“在经过一段沟通不良的时期后,Debian 与 FSF 又恢复诚心的关系并开始协作,尽管如此 FSF 已经不再因其先前对 Debian 的赞助而拥有对 Debian 计划的控制权,而 Debian 也不会再要求恢复赞助。”
简而言之,就是 Debian 小组决心减少 FSF 的持续性赞助 —— 钱我们不要了。至此,FSF 对Debian 的资助仅维持了一年。
至此,FSF 将其归入不被其认可的操作系统名单里,Debian 因此也成为了唯一在主库中没有任何非自由痕迹却不被 FSF 认可的 Linux 发行版:
Debian 的社群契约声明其目标是使 Debian 成为完全自由软件,并且 Debian 自觉地把非自由软件排除在其正式发布之外。然而,Debian 还是维护着非自由软件的软件库。根据其项目,这些软件“不是 Debian 系统的一部分”,但是该软件库由该项目的许多主要服务器托管,而且人们可以马上通过浏览 Debian 的在线软件包数据库和其 wiki 找到这些非自由软件。
它还有一个“contrib”软件库;其软件包是自由的,但是其中有些需要加载另外发布的专有软件。这也没完全和 Debian 主发行版分离。
为了解决钱的问题,Bruce Perens 1997年随即发起了“公共领域软件” (Software in the Public Interest, Inc,一般缩写为 SPI)。SPI 发起的初衷非常简单,就是为了 Debian 不受制于自由软件基金会,其后他们认为 SPI 也应该用余力去帮助更多项目,所以 SPI 又在往后的日子里支持了PostgreSQL、FFmpeg、Arch Linux、Jenkins 等优秀项目。
因此,Debian 不仅没有任何商业巨头入主,连有点意识形态的基金会也被他们排除在了金主之列,最大程度上获得经济独立性。在 Debian 里,没有任何的坐席可言,想要在技术上主导,按照社会协约和章程,公开透明地进行贡献,开发者们就可以按照自己的理解去进行开发。
这些特色使得 Debian 在众多的 GNU/Linux 的发行版本中独树一帜。
更有意思的是,Debian 与 FSF 的争吵并没有停止,直到2003年,Bruce Perens 都已经卸任好几年了,都还在两者之间劝架:Now,can we please see some work on this, rather than bickering? (感受到 Bruce 字里行间的无奈了吗?)
03 不欢迎 Linus
如果你就此认为 Debian 与 FSF 形如水火,那你就错了。事实上,Debian 的“硬气”并不是盲目地排斥,而是“有原则地”坚持,从 Debian 对 FSF 和 Linux 之父 Linus Torvalds 的态度上就能看出。
2020年9月,253 封发表于 2014 年的 Debian 项目内部讨论邮件在外网被泄露并引起了诸多关注。据这些邮件内容显示,彼时,Linus Torvalds 在 DebConf 会议上的言行引发了一些争议。
一些人认为,Linus 在发言中将 FSF 描述成“dishonest(不诚实的)、immoral(不道德的)、lying(撒谎的)、bigoted(偏执的)”的这一行为,严重违反了社区行为准则,因此应当永久禁止他出席未来的会议。
邮件内容还提到,Debian 应该公开声明,以后不欢迎 Linus 参加 Debian 活动。
事实上,Linus 并不是第一次因为自己不当的言行引发争议,2018年 Linus 就因为在 Linux 维护者大会上的表现,导致他从 Linux 社区暂时休假,并公开为自己的言论道歉。
图片来源:https://zhuanlan.zhihu.com/p/46904088
而 Linus 的这些言论虽然没有针对 Debian,但是并不符合 Debian 曾在2014年制定下的一些行为准则,比如要有礼貌、善意推定、保持开放等。
既没有特别 GNU 也没有特别 Linux,立场坚定不谄媚,Debian 作为开源界的长老在各种争议中保持了风度。其实,这是由 Debian 的身份所决定。
Debian 并不单单是一种 Linux 发行版,而是一个大的系统组织框架,在这个框架下有多种不同操作系统内核的分支计划, 主要为采用 Linux 核心的 Debian GNU/Linux 系统,其他还有采用GNU Hurd 核心的 Debian GNU/Hurd 系统、采用 FreeBSD 核心的 Debian GNU/kFreeBSD 系统等。
此外,虽然 Debian 项目众多内核分支中以 Linux 宏内核为主,但是 Debian 开发者所创建的操作系统中绝大部分基础工具来自于 GNU 工程 ,因此 “Debian” 常指 Debian GNU/Linux。
至今,Debian 都是社区类 Linux 的典范,是迄今为止最遵循 GNU 规范的 Linux 系统。
值得玩味的是,尽管 FSF 把 Debian 挂在了不被认可的系统名单之列,但 Debian 还是在自家首页的醒目位置上放置了“自由软件基金会声明”。在这一点上,我们可能只看到了第二层,以为 Debian 在第一层,其实 Debian 在第五层。
Debian 为何能在大气层?且听下回分解。