下一节:,上一节:,上一级:顶层   [目录][索引]


8 需要支持的平台

大多数 GNU 软件包都可以在各种平台上运行。这些平台并非同等重要。对于 GNU 软件包而言,最重要的支持平台是 GNU 操作系统的自由变体,无论它使用哪个内核。

GNU 项目的实际工作是开发 GNU 操作系统;一个 GNU 软件包应该使整个 GNU 系统更加强大,并鼓励人们切换到该系统。

请在工作中牢记这些目标。例如,您添加的每个新功能都应该在 GNU 上工作。如果新功能仅在 GNU 上运行(例如,在 GNU/Linux 上),这是可以接受的。但是,如果某个功能仅在其他系统上运行,而不在 GNU 上运行,则会破坏目标。

因此,当被要求实现此类功能时,请拒绝,并引用这些原因,并要求贡献者也为 GNU 系统实现该功能。请参阅不应接受的补丁

您自然希望保持程序在它支持的所有平台上运行。但是您个人无法访问大多数这些平台——那么您应该如何处理它们呢?

不必担心尝试访问所有这些平台。即使您确实可以访问所有这些平台,您自己在每个平台上测试程序也是低效的。相反,您应该在几个平台上测试程序,包括一些 GNU 的自由变体,并让用户在其他平台上测试它。您可以在正式发布之前的预测试阶段进行此操作;当没有理由预期会出现问题时,尤其是在一个主要可移植的软件包中,您可以直接发布,并让用户告诉您是否引入了任何不可移植的内容。

在 GNU 或 GNU/Linux 上亲自测试该程序非常重要,因为这些是 GNU 软件包最重要的平台。如果您无法访问这些平台之一,作为 GNU 维护者,您可以访问通用的 GNU 登录机器;请参阅https://gnu.ac.cn/software/README.accounts.html

支持其他平台是可选的——当这看起来是一个好主意时,我们会这样做,但我们不认为这是必须的。如果用户不关心某个平台,您可能必须取消对其的支持,除非并且直到用户主动提供帮助。相反,如果用户提供更改以支持其他平台,您可能需要安装它们,但这不是必须的。如果您觉得这些更改复杂而丑陋,如果您认为它们会增加未来维护的负担,您可以并且应该拒绝它们。这包括诸如 OpenBSD、FreeBSD 和 NetBSD 等自由或主要自由的平台,以及诸如 Windows 等非自由平台。


下一节:,上一节:,上一级:顶层   [目录][索引]