详解我们为什么不认可其他系统
我们经常会被问到为什么我们不认可某个系统——通常是一个流行的 GNU/Linux 发行版。简短的回答是他们没有遵从 自由系统发布指南。但是,由于某个系统怎么就没有遵从该指南并不是一个显而易见的事情,所以本列表就某些著名的非自由系统发行版的问题给出更详尽的信息。
要了解更多关于我们认可的GNU/Linux系统,请查看我们的自由的GNU/Linux发行版列表。
本页由自由软件基金会的许可证和合规实验室维护。你可以通过向 FSF 捐款 支持我们的工作。还有疑问?请查看其他 许可证资源 或者通过 licensing@fsf.org 联系合规实验室。
除了另外指出的问题,本页面列出的发行版至少在两个重要的方面没有遵从我们的指南:
他们没有政策来只包含自由软件,并且一旦发现就移除非自由软件。其中大多数完全没有明确的政策决定他们会接受或拒绝哪些软件。那些有政策的发行版也不够严格,下面会解释。
这些发行版发布的内核(大多数是Linux)包含有“blobs”:没有源代码的目标程序,通常是设备驱动的固件。
以下按字母顺序列举了一些流行的非自由GNU/Linux发行版,并就其为何不合格给出简要的说明。我们的目标并不是找到所有的不合格;一旦我们有理由不认可某个发行版,我们就不再寻找其他的原因。
一个发行版可能在我们最后发布列表之后做出了修改;如果你认为此处列出的问题已经得到更正,请告诉我们。但是,只有在其开发者要求我们认可时,我们才会研究和认可一个发行版。
Arch GNU/Linux
Arch没有反对通过其正常渠道发布非自由软件的政策,而且其内核(Linux)也带有非自由的blobs。
Canaima GNU/Linux
Canaima GNU/Linux是由委内瑞拉政府为发布GNU/Linux电脑而制作的发行版。尽管其整体计划令人赞赏,Canaima却错误地包含了非自由软件。
其主菜单带有一个选项,“安装非自由软件”,它会安装所有的非自由驱动软件(甚至包括那些不必要的)。该发行版还提供带有blobs的Linux内核,并邀请大家安装包括Flash Player在内的非自由应用。
CentOS
除了两点常见问题外,我们不知道CentOS的其他问题:它没有明确的软件包含政策,其Linux内核带有非自由的blobs。当然,由于没有明确的政策,它可能还包括了其他非自由软件。
Debian GNU/Linux
在 2022 年之前,Debian GNU/Linux 非常接近一个自由发行版:设置不安装任何非自由软件很简单。
Debian 的社群契约声明其目标是使 Debian 成为完全自由软件,并且 Debian 自觉地把非自由软件排除在其正式发布之外。然而,Debian 还是维护着非自由软件的软件库。Debian 声明这些软件 “不是 Debian 系统的一部分”,但是该软件库由 Debian 项目的许多主要服务器托管,所以人们很可能通过浏览 Debian 的软件包数据库和其 wiki 了解这些非自由软件,进而安装这些非自由软件。
在 2022 年之前,除非用户明确启用非自由软件库,Debian GNU/Linux 的安装不会提供非自由软件包。因此,只要你想,安装一个自由版本很容易。
现在情况变了,因为 Debian 改变了政策。在 Debian 12 上,无论硬件设备是否 “需要”,安装程序一开始就提供非自由的固件。
从此,还有另一个更糟糕的改变。Debian 现在优先推荐一个新的安装程序,在大多数电脑上,该程序会默认安装所有的非自由固件。
在 Debian 上只安装自由软件包不再那么简单。虽然你可以要求只安装自由软件,但是需要特别的知识。请参看 自由作为一个选项是不够的。实际上,Debian 越来越像其他非自由发行版。
它还有一个 “contrib” 软件库;其软件包是自由的,但是其中有些需要加载另外发布的专有软件。这也没完全和 Debian 主发行版分离。
此外,Debian 的一些官方自由软件会邀请用户安装一些非自由的软件。具体来说,Debian 版的 Firefox 和 Chromium 会推荐安装非自由的附加组件。
Debian 的 wiki 含有关于安装非自由固件的页面。
Fedora
Fedora有关于其发行版可以包含何种软件的明确政策,而且看起来它也认真执行了政策。其政策要求大多数软件和所有字体按自由许可证发布,但是对某些非自由固件做了例外。不幸的是,允许固件例外的决定使Fedora不再符合自由系统发布指南。
Gentoo GNU/Linux
Gentoo的主要软件包系统包含了安装一些非自由软件的步骤。
Mandriva GNU/Linux
Mandriva声明了关于何种软件可以进入主系统的政策。该政策基于Fedora的政策,就是说它也允许某类非自由的固件。在此之上,它允许包含按照原始Artistic许可证发布的软件,尽管该许可证是非自由许可证。
Mandriva还提供专用的非自由软件库。
Manjaro GNU/Linux
Manjaro 在其常规的发布通道中带有非自由软件,并且在其 Linux 内核中包含非自由的 blobs。它还提供专有的办公套件和专有的带 DRM 的游戏。该发行版还推荐安装非自由的驱动软件。
Mint GNU/Linux
Mint没有拒绝非自由软件的政策,它的内核驱动包含有非自由的二进制blobs,而且它的软件库中也带有非自由软件。它甚至包含了专有的编解码程序。
NixOS
NixOS 没有任何完全禁止非自由软件的政策。反之,它有一个可以激活来安装非自由软件包的选项。即使禁用该选项,其核心软件库仍然带有非自由的 blobs,包括 Linux (内核) 和诸如 sof-firmware 等的独立软件包。
openSUSE
openSUSE提供非自由软件库。这就是“开放(open)”弱于“自由(free)”的一个明证。
Red Hat GNU/Linux
Red Hat的企业发行版基本上执行的是Fedora的许可证政策,带有一个例外。所以,我们由于同样的原因不认可它。除了这些,Red Hat没有拒绝通过附属渠道在其系统上包含非自由软件的政策。
Slackware
Slackware有两个常见的问题:没有关于可以包含何种软件的明确政策,其Linux内核带有非自由的blobs。它还发布非自由的图像查看软件xv。当然,由于没有明确的政策,更多的非自由软件随时可以被加进来。这里有Slackware带有的非自由软件的非官方列表。
SteamOS
SteamOS 是由 Valve 发布的 GNU/Linux 版本。它带有专有软件,包括 Steam 客户端和专有驱动。Steam 使用 数字权限管理(DRM)来限制其发布的软件,包括其通过 Steam 商店发布的专有软件。
SUSE GNU/Linux Enterprise
除了两个通常的问题外,SUSE的官方FTP站点提供多个非自由软件的下载。
Tails
Tails使用基础版的Linux,其中包含有非自由的固件blobs。
Ubuntu GNU/Linux
Ubuntu为非自由软件维护着特别的软件库,而且Canonical以Ubuntu的名义在其发布渠道明确表示推广和建议非自由软件。Ubuntu提供了仅安装自由软件的选项,这表示它也提供了安装非自由软件的选项。另外,Ubuntu的Linux内核包含了固件blobs。
Ubuntu 显然允许以其商标发布完全一样的商业拷贝;只有修改过的版本才需要去除其商标。这个商标政策可以接受。不过,在同一页面往下看,可以看到含糊不明的“Ubuntu 专利”声明,而它并未就以上是否构成侵权给出详尽的说明。
该页面通过使用“知识产权”这一误导性术语散布混乱,错误地假设商标法、专利法和其他一些法律属于同一概念性框架。使用该术语是有害的,没有例外,所以除了引用别人对该术语的使用之外,我们应该拒绝使用它。但是,这并不是Ubuntu作为一个GNU/Linux发行版的主要问题。
另外,Ubuntu 把越来越多的软件包转移到使用一个叫做 Snap 的新软件包管理器,而这个管理器对用户的自由和自主并不好。Snap 使用一种由 Canonical 未发布的软件实现的软件库。实际上,这样做使得在 Ubuntu 上打包自由软件的修改版非常不方便,进而用户安装也不太容易。
其他发行版
下面我们讨论一些知名的或者重要的非GNU/Linux系统发行版,它们都不是合格的自由系统发布。
Android
Google发布的Android包含了许多自由和非自由的部件。其大多数自由部分采用的是简单许可证(不是copyleft),所以发布Android产品的制造商有时会把这部分也变成非自由的。
BSD系统
FreeBSD、NetBSD和OpenBSD全部在其软件安装系统中包含了获取非自由软件的指导。另外,其内核还包含了非自由的固件blobs。
Linux内核使用的非自由固件程序被称做“blobs”,我们使用该术语描述此类程序。在BSD术语中,“blob”说的是另外的东西:非自由驱动。OpenBSD,还可能包括其他BSD发行版(BSD开发者称之为“项目”)有不包含这些非自由驱动的政策。对驱动,这是正确的政策;但是当开发者说其发行版“没有包含blobs”时,就形成了误解。他们说的不是固件blobs。
这些BSD发行版都没有声明它们有针对专有二进制固件的政策,即使这些二进制固件可能会被自由驱动加载。
Chrome OS
Chrome OS的核心部分是非自由的Chrome浏览器。它可能还含有其他的非自由软件。
它的其他部分基于 ChroniumOS,因此它和 Chronium OS 的问题一样,此外它还有 Android 的非自由部分。
Chromium OS
Chromium OS 包含专有软件,其中有固件 blobs 和非自由的用户空间二进制文件,它们用来支持某些电脑的具体硬件。
另外,其登录系统会监控用户,因为它需要 Google 帐号(Chromium OS 不支持本地帐号)。“访客” 会话功能并不是避免 Google 帐号的登录方式,因为它不能长期保存数据而且功能受限。
/e/
/e/ (原来叫做eelo)是Android的一种修改版,它带有非自由的软件库。
GrapheneOS
GrapheneOS 是 Android 的一个版本,它号称 “开源”,但是看来也包含了 非自由甚至也非 “开源” 的软件。例如,它会安装固件,其中有些是没有源代码的二进制程序。它说自己是 “去谷歌化”,但是却包含了安装非自由谷歌应用程序的方法。
Haiku
Haiku包含有一些不允许你修改的软件。它也包含了非自由的固件blobs。
LineageOS
LineageOS(原来的CyanogenMod)是Android的一个修改版,它包含非自由的软件库。它还解释如何安装Google发布Android时带有的非自由应用。
ReactOS
ReactOS目的在于为替代Windows而提供自由二进制兼容软件。为Windows使用专有软件和驱动是其项目阐述的目标之一。