项目托管
已为托管项目提出了以下准则,以防止genkernel
灾难重演。
文件要求
所有托管项目都应具有最新的用户和开发人员文档。该文档必须在第一个发行版之前可用,而不能作为“稍后我们要做的(诚实)”。
我们的文档团队很乐意为用户文档提供 GuideXMLification,翻译等方面的帮助,但是他们需要做很多事情:
- 开始的基本文档。
- 有关项目或工具的基本信息,例如:
- 目标
- 设计规范
- 常见问题
- 如果可能的话,要尽早通知任何更新-这是为了避免文档中的建议过时。
通常最好将开发人员文档留在项目维护者手中。
可移植性
Gentoo 在大量架构上运行。与其他发行版相比,这是我们的一大优势。因此,即使你最初认为你的工具仅与一个架构相关,也要考虑到任何工具的可移植性,这一点很重要。正是这种假设意味着当它突然变成强制性指令时,genkernel
必须完全重写。
实际上,这意味着:
- 使用可移植的编程语言——任何 Gentoo 工具均不得使用 Java 或 C#。Bash,C 和 Python 很好,尤其是因为每个人都已经安装了 Bash,C 和 Python。
- 不对硬件或体系结构进行假设。根据工具的不同,本文涵盖了各种内容——简单的示例包括:
- 不假定你在 32 位小端系统上运行。
- 不假定所有计算机都具有 VGA 文本控制台或任何类型的图形函数。
- 不假定所有计算机都使用 DOS 光盘标签。
- 除非已经同意我们将始终使用该工具的特定实现(例如使用
GNU sed
扩展是安全的,但是GNU find
扩展并不是),否则不要过分依赖各种工具的特定实现。
开放/免费
所有托管项目均应使用适当的开放/免费/自由许可证。通常,这将是用于软件的 GPL v2,以及某些版本的知识共享署名相同的许可协议(CC-BY-SA-*)。但是,可以设置合理的例外情况——有时使用 LGPL 或*BSD 许可证更有意义,并且对于与应用程序许可证一起使用的特定于应用程序的项目可能更有意义(例如 用于vim
的gentoo-syntax
软件包使用 vim
许可证)。
无障碍
残障用户应该可以访问项目。有关此操作的简单示例包括:
- 不仅仅依靠颜色来传达信息。
- 提供任何图像的文字描述。
- 为对话框,按钮,表单字段等提供清晰的标题。
寻找更多示例的好地方包括: