—— 在GUN的推荐的完全自由的GNU/Linux操作系统中,没有一个主流的Linux发行版本,这是为什么?
Linux发行版本实在太多了,成千上万肯定是有的。但我们常用的其实主要就是少数几个发行版本,这样的发行版本,我把它称为“主流的Linux发行版本”。
一个很有意思的事就是,大多数主流Linux发行版本都不被GNU认为是完全自由的操作系统。而GNU在它们的官网中推荐了一些GNU/Linux发行版本都是一些我们不熟悉的发行版本。
本篇为趣谈自由软件与开源软件系列的第四篇,本系列的其它文章为:
一)
我在这里列出一些主流的发行版本,这些Linux发行版本应该是大家都熟知的。
- CentOS
- Debian/Ubuntu
- Fedora
- Linux Mint
- Arch Linux
同样,GUN推荐并认可的完全自由的操作系统:
- Dragora GNU/Linux-Libre,一个基于简洁原则的独立GNU/Linux发行版。
- Guix System 是一个基于 GNU Guix(发音是“geeks”)的先进 GNU/Linux 发行版,这是 GNU 系统的一个纯功能性包管理器。
- Hyperbola GNU/Linux-libre,它是基于专注简约的Arch GNU/Linux发行版的长期支持版。
- Parabola GNU/Linux-libre,一个基于Arch的发行版,注重简洁的软件包和系统管理。
…
看到没,上面这些估计你一个都不知道,我也都不认得。
这究竟是怎么一回事?
二)
原因简而言这就是:
不符合自由系统发布指南
那一个自由的系统发布究竟要符合哪些原则?
- 系统要是一个独立完整的发行版本
发布的系统必须是独立并且完整的,也就是不依赖第三方。不能需要安装其它特定的软件的前提下才能安装这个系统。
- 许可证规则
一个自由的系统中的软件,文档,字体等所有功能相关的,其信息及源文件必须符合自由许可证。不能包括或引导用户安装非自由的软件。
比如一个系统源中,有非自由的软件存在,用户能够安装。那这个就违规了。
- 不能包括非自由固件
一些应用或驱动需要特定的固件才能工作,所以大多数系统会在发布的版本中带上类似的固件。
举个例,苹果硬件的无线网卡是特定的,所以Ubuntu带了支持苹果硬件无线网卡的固件及驱动,这样就很方便的在苹果硬件上安装Ubuntu了。
对不起,按照自由操作系统的要求,这个就违规了。
- 商标,文档,名称等其它
自由的操作系统中不能有影响自由的商标存在。
自由的操作系统中的文档也不能引导用户安装非自由的软件的教程或指引等。
自由的操作系统不能有引起混淆的名称。比如OpenSystem Lite是自由的,但OpenSystem是商用,非自由的。那对不起,OpenSystem Lite也不能被认为是自由的操作系统,因为它会引发混淆。
还有一些其它的要求,上面几个是一些主要的点。
三)
现在你理解了,为什么主流的Linux发行版本不被认可是自由的操作系统了吧。
因为:
自由系统的要求挺高的
某种程度上说,甚至有点不切实际了。比如带有私有驱动这种能让用户非常方便的事,在自由系统的要求中都是不允许的。
所以,自由软件在道德上的立场非常高。
四)
好吧,还是简单的说下为什么主流的发行版本不符合自由系统的哪些点。
Debian/Ubuntu
其实Debian是我认为主流发行版本中最接受自由系统的了,Debain最开始就是由自由软件基金会赞助的一个发行版本。而Debian在自己的理念中也特别强调自由的操作系统这一点。
但GUN仍然没有认为它是完全自由的操作系统。因为:
- Debian维护着一个非自由的软件源
- Deiban的文档中指引如何安装一些非自由软件
而Ubuntu本身就是基于Debian,是由一个商业公司维护的,可想而知,更不太可能完全符合自由发行的规则。
CentOS
- Linux内核带有非自由的blobs
- 它没有明确的软件包含政策,也就是没有明确拒绝非自由软件
Fedora
- 允许一些例外的非自由组件存在
Arch Linux
- Arch没有反对通过其正常渠道发布非自由软件的政策,而且其内核(Linux)也带有非自由的blobs
现在你理解了自由的操作系统标准可不低,事实上我认为已经比较苛刻了。
四)
程序员都知道开源软件,开源软件必须有开源许可证协议,常见的MIT,apache license v2等。一个软件只要申明它的许可证,并属于开源许可证协议的一种,就可以被认为是开源软件。
那同样的,一个软件想要被认为是自由软件,自然得符合自由许可证协议。
那它们之间有什么关系或异同么。
下一篇,趣谈自由软件与开源软件(五):自由许可证与开源许可证