托管项目

以下准则已提出用于托管项目,旨在防止 genkernel 灾难再次发生。

文档要求

所有托管项目都应该拥有完善的、最新的用户和开发者文档。该文档必须在首次发布之前提供,而不是留作“稍后(真的)会做的事情”。

我们的文档团队很乐意帮助用户文档的 GuideXML 化、翻译等工作,但他们需要各种东西来完成这些工作

  • 基本的入门文档。
  • 关于项目或工具的基本信息,例如
    • 目标
    • 设计规范
    • 常见问题解答
  • 告知任何更新,如果可能的话,尽可能提前 - 这是为了避免文档中出现过时的建议。

开发者文档通常最好由项目维护者负责。

可移植性

Gentoo 在大量的体系结构上运行。这是我们相对于其他发行版的一个巨大优势。因此,任何工具都应以可移植性为设计目标,即使你最初认为你的工具只与一个体系结构相关。正是这种假设导致 genkernel 在突然变得强制性时不得不完全重写。

实际上,这意味着以下内容

  • 使用可移植的编程语言 - 任何 Gentoo 工具都不使用 Java 或 C#。Bash、C 和 Python 很不错,尤其是考虑到每个人都已安装了这些语言。
  • 不要假设硬件或体系结构。这涵盖了各种内容,具体取决于工具 - 一些简单的示例包括
    • 不要假设你是在 32 位小端系统上运行。
    • 不要假设所有计算机都具有 VGA 文本控制台,或者实际上任何类型的图形功能。
    • 不要假设所有计算机都使用 DOS 磁盘标签。
  • 不要过分依赖各种工具的特定实现,除非已经达成协议,我们始终使用该工具的特定实现(例如,使用 GNU sed 扩展是安全的,但使用 GNU find 扩展)。

开放/自由

所有托管项目都应使用适当的开放/自由/自由许可。通常,对于软件来说,这将是 GPL v2,而对于文档来说,则是 Creative Commons 署名-相同方式共享许可(CC-BY-SA-*)的某个版本。然而,可以进行合理的例外 - 有时使用 LGPL 或 *BSD 许可更有意义,而对于特定于应用程序的项目,使用应用程序的许可更有意义(例如,gentoo-syntax 软件包对于 vim 使用 vim 许可)。

无障碍

项目应该对残疾用户开放。一些关于如何做到这一点的简单示例包括

  • 不要仅仅依赖颜色来传达信息。
  • 为任何图像提供文字描述。
  • 为对话框、按钮、表单字段等提供清晰的标题。

一些寻找更多提示的好地方包括