GNU操作系统和自由软件运动 维基
Advertisement

简介[ | ]

这些指导方针的目的是解释的可安装的系统发行版(如GNU/Linux发行版)符合自由意味着什么,并帮助发行版开发者使他们的发行版符合自由。

这些指导方针是不完整的。我们提到了我们现在知道的问题,但我们相信有更多问题。当我们遇到它们时,我们会补充它们。

我们要感谢Fedora项目帮助集中这些政策,并让我们用他们自己的发行版许可证指导方针作为本文档的基础。

完整的发行版[ | ]

我们的发行版列表是你可以安装在计算机上的系统的指导。因此,它只包括本身完整和准备使用的发行版。如果发行版不完整——如果它需要进一步开发,或者预先需要安装其他软件,就不在此处列出,即使它是自由软件。

这个要求和上述自托管要求的例外是小型系统发行版,它们是为资源有限的设备,如无线路由器设计的发行版。自由的小型系统发行版不需要是自托管或完整的,因为在这样的系统上进行开发是不现实的,但它必须可以在我们的发行版列表中自由完整的系统发行版的基础上开发和构建,或许借助于与该小型系统发行版本身一起分发的自由工具。

许可证规则[ | ]

“实用的信息”包括软件、文档、字体和其他有直接功能性应用的数据。它不包括具有审美(而不是功能性)用途的艺术作品,或观点、判断的语句。

自由发行版中所有实用的信息都必须提供源代码的形式。(“源代码”是指用于更改信息的首选信息形式。)

信息和源代码,必须使用适当的自由许可证提供。我们评估了具体的许可证并在我们的许可证列表中列出了我们的决定,其中有独立的章节关于适用于软件、文档、字体和其他有用作品的许可证。如果这样的作品使用分离的许可证发布,只要其许可证中至少有一个是自由的,该作品就是自由的;当系统开发者分发和/或修改它时,应遵循适当的自由许可证的条款。

自由系统发行版不能引导用户获得任何非自由的实用的信息,或鼓励他们这么做。该系统应该没有非自由软件仓库,也没有安装特定的非自由程序的具体方法。该发行版也不应涉及不承诺只包含自由软件的第三方仓库;即使它们今天只有自由软件,但明天可能不会只有自由软件。系统中的程序不应建议安装非自由插件、文档等。

自由系统发行版应该是自托管的。这意味着你必须能够使用该系统为你提供的工具来开发和构建该系统。因此,自由系统发行版不能包括只能使用非自由软件构建的自由软件。

现在的大部分自由系统发行版中有很多代码;全部直接审查它所需的工作量对大部分团队都是不现实的。在过去,一些非自由代码不小心被包含到了自由系统发行版中。我们不因此而不列出发行版;相反,我们只要求发行版的开发者有诚意的努力避免包含非自由软件,并致力于移除这种程序,如果它们被发现。

某些许可证情况值得创建或考虑自由软件发行版的人特别注意;这些在下面的章节中讨论。

非自由固件[ | ]

一些应用程序和驱动程序需要固件才能运行,有时该固件仅以目标代码的形式分发,并使用非自由许可证。我们将这些固件程序称为“blob”。在大部分GNU/Linux系统中,你通常会发现它们伴随在Linux内核的一些驱动程序上。这样的固件应该从自由系统发行版中删除。

Blob可以有多种形式。有时,它们会在独立的文件中提供。其他时候,它们可能会被纳入到驱动程序本身的源代码中——例如,它可能被编码为大的数字阵列。但不管它如何编码,任何非自由固件都需要从自由系统中删除。

(需要说明的是,不是驱动程序中的每个数字阵列都是固件。在判断该数据是否适合自由系统之前,了解其用途是很重要的。)

Brian Brazil、Jeff Moe和Alexandre Oliva开发了一系列脚本来从常见的Linux内核版本中去除非自由固件。如果你想开发你自己的自由的GNU/Linux发行版,你会发现它们很有帮助,虽然我们建议参与开发现有的自由发行版,而不是开始新的发行版来分裂工作。无blob版本的Linux内核的完整源代码也可以获得;你可以从自由软件目录了解更多关于这个项目。

非功能性数据[ | ]

非功能性的、没有实用作用的数据,是系统中软件的装饰而不是它的一部分。因此,对非功能性数据,我们不坚持自由许可证标准。只要其许可证允许你复制和重新分发,它就可以包含在自由系统发行版中,并用于商业和非商业用途。例如,一些使用GNU GPL发布的游戏引擎附带了游戏信息——虚构的世界地图、游戏图形等,使用这样的逐字分发许可证发布。这种数据可以是自由系统发行版的一部分,即使它的许可证不符合自由,因为它是非功能性的。

商标[ | ]

商标与某些软件相关。例如,程序的名称可能被注册为商标,或它的界面可能会显示注册为商标的标识。通常,这些商标的使用会在一定程度上受到控制;特别是当开发者修改软件时,通常被要求从软件中移除涉及的商标。

在极端情况下,这些限制实际上可以使该程序不自由。如果商标分散在整个原始源代码中,有人要求你从修改的代码中移除这些商标是不公正的。然而,只要实际要求是合理的,自由系统发行版就可以包含这些程序,不论其有无商标。

同样,该发行版本身也可能持有特定的商标。如果修改时需要移除这些商标是没有问题的,只要它们可以很容易地移除而不丢失功能。

然而,使用商标来限制逐字复制和重新分发整个发行版或任何部分,是不可接受的。

文档[ | ]

自由系统发行版中的所有文档都必须使用适当的自由许可证发布。此外,必须注意不要推荐非自由软件。

一般来说,帮助那些已经使用非自由软件的人更好地使用自由软件的内容是可以接受的,但那些鼓励自由软件用户安装非自由软件的内容是不可接受的。

例如,自由系统发行版可以有帮助用户设置双启动系统的文档。它会解释如何访问专有操作系统的文件系统,从专有操作系统导入设置等。这将帮助人们在一台已经有专有软件的机器上安装自由系统发行版,是很好的。

提供给人们在系统上安装非自由程序的说明,或者提到他们这样做可以获得的便利的文档是不可接受的。

在难以确定的情况下,明确的和严肃地告诫不要使用非自由程序会使它成为可接受的。

专利[ | ]

自由软件开发者和分发者实际上不可能知道软件的某一特定部件是否侵犯任何专利:它们太多了,每个国家都有所不同,它们通常的用词使它们包括或不包括什么很难确定,并且不容易确定哪些是有效的。因此,我们一般不要求自由系统发行版排除可能有专利威胁的软件。另一方面,我们也不反对分发者选择删除一些软件来避免专利风险。

没有恶意软件[ | ]

该发行版必须不含DRM、没有后门,并且没有间谍软件。

承诺纠正错误[ | ]

大部分发行版的开发团队没有全面检查他们的发行版满足所有这些标准的资源。我们也没有。因此我们预计发行版偶尔会包含错误:漏掉了非自由软件,等等。我们不因为错误而拒绝发行版。我们的要求是发行版的开发者要坚决承诺及时纠正任何报告的错误。

维护[ | ]

要被列出,发行版应该积极维护,并应该给GNU项目提供明确和具体的方式来报告我们发现的非自由软件的问题。它也应该在我们报告的问题被修复时告诉我们。

名称混淆[ | ]

我们不会列出名称可能与非自由发行版混淆的发行版。例如,如果Foobar Light是一个自由发行版,Foobar是一个非自由发行版,我们不会列出Foobar Light。这是因为我们认为两者之间的区别会在交流信息的过程中失去。

特别是,自由发行版的主体名称(本例中为“Foobar”)不应该是任何非自由发行版名称的一部分。

有人想到在自由发行版的名称中添加“GNU”来和非自由发行版区分开。这有两个问题。首先,这两个名字没有足够的区别,因为两个名称中的主体词是相同的。

其次,这会促进对“GNU”含义的误解。GNU是一个操作系统,通常使用Linux作为内核,基本上所有所谓的“Linux”发行版其实都是GNU/Linux发行版。在这种情况下,这两个版本都是GNU/Linux,这会误导从其中一个发行版的名称中省略“GNU”。

如果你是下游,联系上游[ | ]

发送了GNU软件包的重要bug报告的发行版开发者(或任何其他人):如果它在一段合理的时间后(请允许至少两周)已被软件包维护者忽略,你可以发邮件到<maintainers@gnu.org>来升级该bug。如果你不能通过软件包维护者找到最近活动的迹象,这是十分必要的。

请教导用户关于自由软件[ | ]

要建立持久的自由,只给用户自由是不够的。还需要教导他们明白这意味着什么并去要求它。因此,我们建议、主张自由发行版在屏幕上、登录之前和登录后的默认桌面上突出显示关于自由的语句,例如“本系统是尊重自由的自由软件”或类似的语句,并显示一个指向gnu.orggnu.org/philosophy的链接或图标来获取有关此问题的更多信息。

请避免重复宣传和混淆[ | ]

请查看我们的应避免使用的词列表,这些词是偏颇的、错误的或误导性的,并尝试在你的公开言论和与公众的讨论中避免使用它们。

最后注释[ | ]

我们维护了一份我们所知道的自由的GNU系统发行版列表。如果你知道的自由发行版没有在这里列出,请要求其开发者发送邮件到<webmasters@gnu.org>,包含对其系统的描述和到其网页链接。

我们也在相同的道德条件下列出了自由的非GNU系统发行版

如果你对这些指导方针本身有问题或意见,请随时将其发送到<licensing@gnu.org>。我们希望他们帮助大家更好地理解对自由系统发行版很重要的问题,我们期待着将来推进更多问题。

Advertisement