GNU 网站管理员指南

如果您有兴趣成为 GNU 网站管理员志愿者,请首先完成GNU 网站管理员测验

顺便说一下,请编辑并改进本文档!

作为 www.gnu.org 网站管理员工作

所有活跃的网站管理员都可以访问 网站管理员 RT 队列,这对应于电子邮件地址 <[email protected]>。这是网站管理员的主要工作队列。请定期检查队列,选取您可以处理的工单,处理它,并回复消息,让发送者知道发生了什么,然后解决该工单。有关更多详细信息,请参见下面的 RT 指南

所有活跃的网站管理员都应该成为 Savannah 上的 www 项目的一部分,以便可以提交更改。如果您还没有加入,请加入。大多数网站管理员任务是通过在本地计算机上检出 CVS 存储库、修改它们并提交结果来执行的。有关如何使用 CVS 的说明  (您需要“网页存储库”)

更改页面的通知将发送到 www-commits 邮件列表。这是一个公共邮件列表,因此每个人都可以订阅和查看存档。

所有活跃的网站管理员都应该在 www-discuss 邮件列表上。如果您不在,请写信给 <[email protected]>。

计划为该站点编写大量新材料的网站管理员应提供版权转让。

如果您发现发送到 <[email protected]> 的消息您不知道如何处理,最好暂时忽略该消息。但是,如果您注意到某些事情已经搁置了几天以上,最好在 www-discuss 列表中询问:“有人可以教我如何处理这样的消息吗?”

可以执行的请求

有时,人们会发送电子邮件要求我们链接到不同的软件包。在创建此类链接之前,重要的是检查链接指向的页面,并确保它没有引用任何非自由软件(请参阅我们的链接政策)。如有疑问,最好将您在页面上找到的内容摘要发布回网站管理员列表(但不要发布给请求者!),并要求其他人从那里开始处理。

我们没有链接到著名的 GNU/Linux 系统发行版或著名的 BSD 系统发行版的网站,因为所有这些网站都明确描述并方便访问各种非自由程序。

有时您可能会想重新安排层次结构、更改 CSS 格式、布局、标记或其他此类广泛的内容。在执行任何此类操作之前,请咨询 www-discuss 列表。

未经 GNU 翻译管理器 <[email protected]> 的事先批准,请勿提交与翻译相关的文件(/licenses/translation.html/server/standards/README.translations.html 等)的更改。

网站管理员组织

以下组织规则不是僵化的;它们旨在为我们服务,并分配责任,以便不会出现遗漏。因此,不必逐字遵循这些政策和升级程序,但如果您不确定该怎么做,最好遵循这些政策。

GNU 网站管理员组由首席网站管理员 <[email protected]>领导。

首席网站管理员负责确保最终处理发送给网站管理员 <[email protected]> 的每条消息。首席网站管理员不负责处理每条消息;只是确保有人及时处理它们。首席网站管理员还负责培训新的网站管理员,并在必要时尽力纠正处理不当的网站管理员电子邮件。

如果网站管理员不清楚如何处理特定问题,则应将消息发送到 www-discuss 邮件列表,以便所有网站管理员将来都可以学习如何处理这些问题。

网站管理员离职

我们意识到人们的生活会发生变化,并且我们知道您可能不想在余生都担任 FSF/GNU 网站管理员。我们要求您在想要继续前进时告知我们:请不要只是消失。

当您注册成为网站管理员时,您承诺每周进行一定小时数的志愿工作。如果您需要在几周以上的时间内降到该水平以下,或者想完全停止担任网站管理员,请在您的状况发生变化时立即通知 <[email protected]>

使用 RT

发送给网站管理员的邮件存储在名为 RT 的工单管理系统中。该系统将所有关于给定问题的通信保存在一起,确保不会丢失任何请求,等等。本节记录了 GNU 网站管理员使用的约定。

复制所有与 RT 相关的邮件(新工单、其他网站管理员对工单的回复等)会很有用。这样我们都可以互相学习。如果您可以积极帮助处理 RT 工单,请考虑这一点。很多人可以为此设置您的 RT 帐户,只需发送邮件给 www-discuss 即可。

RT - 快速指南

要查看打开的工单,请访问 rt.gnu.org 并使用您分配的 RT 用户名/密码登录。(如果您没有,请发送电子邮件给 chief-webmaster。)在您的 RT 主页上(在很多其他内容中)将有一个指向 网站管理员队列的链接。看到列表后,单击主题链接将打开工单。

首先也是最重要的是:使用您的判断力,而不是盲目地遵循程序。如果出于任何原因您认为某个特定工单上的操作有问题,请发送电子邮件给 www-discuss 或使用工单上的“注释”链接。也就是说,大多数工单都属于几个类别之一,因此我们尝试在此处枚举常见的情况。

RT - 通信 vs. 注释

您可以向工单附加两种类型的信息:通信和评论。

通信
将发送给发送初始报告的人。当您想了解更多关于报告的信息、向请求者提供更多关于正在进行的工作的信息、让他们知道工作已完成等等时,请添加通信。
评论
只有工单工作人员才能看到:所有者和列为 AdminCC 的人员。您可以使用评论来做关于工单工作的内部笔记。例如,如果您在将 RMS 的一篇文章转换为 HTML 时做了一些工作,但还没有机会完成,您可以添加一条评论说您已部分完成,以便其他网站管理员知道不要再处理它(请确保将工单标记为“打开”)。当原始请求者不需要看到时,您应该添加评论。但是,请尽量将尽可能多的通信转化为评论。

不幸的是,添加两种类型通信的方法非常相似,因此很容易混淆。请小心。

除了通过 Web 界面之外,没有其他方法可以进行其他修改。但是,有一些宏脚本可用于修改在 Emacs 中或以 mbox 格式接收的电子邮件。请与 www-discuss 核实这些脚本。

RT - 与他人协调

您经常需要向其他人询问更多关于如何处理工单的信息。如果我们不介意向他们展示一些关于我们如何做事的内部信息——换句话说,如果他们是 GNU 项目的朋友——最好的方法是给他们发邮件,并将该邮件作为工单的评论。

例如,假设您想问 RMS 页面上的某个链接是否允许。您可以通过使用工单页面上的“评论”链接之一,并在抄送字段中列出另一方(在本例中为 <[email protected]>)来做到这一点。您也可以通过发送具有以下标头的邮件来做到这一点

    To: <[email protected]>, <[email protected]>
    Subject: [gnu.org #1234] Question about link policy

1234 应该是适当的工单号。

前一种方法更万无一失:RT 将更改发出的邮件,以便另一方看到的唯一地址是 RT 的,并且任何回复都将保证进入工单(也作为评论)。但是,如果您主要通过电子邮件工作,则后一种方法也可以。

请注意,这不适用于其他 RT 处理的地址。因此,如果您在 webmasters 中已经存在的工单的评论的抄送字段中添加 <[email protected]>,则任何内容都不会进入 campaigns 队列。在这些情况下,请在您想要引起注意的队列中创建新工单,并使用“引用”或类似的关系字段来连接两个工单。

RT - 工单状态

对于尚未对其进行任何工作的工单。RT 会自动将新工单分配为此状态;无需显式设置。
打开
对于正在处理的工单。当添加评论或通信时,RT 会自动将工单设置为此状态;您通常不需要手动将工单更改为打开状态。
已解决
对于问题已得到解决的工单。当您完成工单中概述的请求,或确定它不适用,或以其他方式处理它时,请执行此操作。在完全解决之前,请保持打开状态。
已删除
对于垃圾邮件(并且仅限垃圾邮件)的工单。此状态由 Web 界面中的“标记为垃圾邮件”选项自动设置,这是处理垃圾邮件工单最方便的方式。
已拒绝、已停滞
不应使用。

关于工单状态的其他考虑事项

RT - 工单升级

如果您想处理一个请求但不确定如何处理,或者认为一个请求很重要并且可能被忽略了,请保持工单打开状态,并通过电子邮件发送给 www-discuss 列表。

RT - 误导工单

有时,人们会发送邮件至 <[email protected]>,最好在其他地方处理。当发生这种情况时,您可以执行以下两项操作之一

1. 如果存在适合该工单的 RT 队列,请将其移动到那里。

当移动被误导的工单时,最好通知两个队列的观察者:工单移动来源的队列和移动目标的队列(RT 不提供自动通知)。您可以使用 RT Web 界面在工单中编写评论,或通过发送邮件至 <queuename[email protected]> 并使用原始主题行,同时通知两个队列。一条简短的消息“将工单 1234 移动到您的队列”就足够了。

2. 如果没有合适的 RT 队列,请将邮件转发给相应的当事方,并发表评论说明您已这样做(如果合适,可以解决它)。通常最好不要通过 RT 抄送机制来执行此操作。相反,请在普通电子邮件中转发消息。

编辑和创建网页

本节仅包含专门针对网站管理员的信息。有关一般信息,请参阅GNU 网站指南

要在 gnu.org 的主要部分创建新页面,请使用样板不要从现有页面开始。

注意:文件名应仅包含小写字母、数字、“.”和“-”(“_”是可以接受的,但不建议使用)。

站点结构和导航

该站点按主题分为目录——有一个目录用于 GNU 项目信息和历史(“关于 GNU”部分),一个目录用于我们的许可证(“许可证”部分)等等。这些目录中的每一个都有一个共享相同名称的主页面;例如,/gnu 目录有一个页面 gnu.html,它是关于 GNU 的主页,因此应该提供对该部分中所有材料的访问。请注意,“理念”主页与几个子菜单关联:/philosophy/essays-and-articles.html/philosophy/speeches-and-interview.html/philosophy/third-party-ideas.html

主导航栏仅包含主要部分的条目。因此,未列出的部分(例如,GNU 乐趣)中的每个页面都应链接回其主页面,以便人们可以获取有关该主题的更多信息。

各个部分内的导航还有改进的空间。“教育”和“恶意软件”页面已经有面包屑和侧边菜单,但其他页面没有。我们至少应该向“理念”页面添加面包屑,并可能添加标签。这是一项具有挑战性的工作。如果您有兴趣为此提供帮助,请挺身而出! :-)

将纯文本转换为 XHTML

有时,RMS 会通过电子邮件向网站管理员发送一篇文章,通常是纯文本格式,并要求他们将其放在网站上。纯文本需要转换为 XHTML 并放入我们的标准样板。在进行转换时,您应该注意以下几点

为恶意软件部分编写和审查条目

如果您计划为 /proprietary/ 中的页面编写或审查项目,请参阅我们的提交指南

每个项目通常属于至少 2 个页面,这些页面对应于它所描述的恶意软件的类型(proprietary-*.html)和来源(malware-*.html)。新项目也应出现在 proprietary.html 中。为了使维护更容易,新的恶意软件项目被写入单个文件 (/proprietary/workshop/mal.rec),并且通过脚本 (/proprietary/workshop/item-create) 将其添加到相关页面。对现有项目的任何更改都在 mal.rec 中完成,然后使用另一个脚本:/proprietary/workshop/malgen 传播到相关页面。

添加和修改恶意软件项目的过程在恶意软件操作指南 (/proprietary/workshop/README.md) 中进行了描述。

恶意软件部分的页面采用知识共享署名 4.0 国际许可协议。在创建新页面时请谨记这一点。

请在 planet.gnu.org 上发布新的恶意软件条目。请参阅关于在 Planet GNU 上发帖的信息。

在幽默或音乐部分添加页面

  1. 检查拟议的笑话或歌曲是否符合 RMS 的要求。如果不符合,请感谢提出者,并礼貌地解释为什么它不能在 gnu.org 上发布。
  2. 如果符合,请获得以合适的自由许可协议发布的明确许可。
  3. /fun/jokes//music/ 目录中创建一个新页面
  4. /fun/humor.html/music/music.html 中添加指向新页面的链接。

使新页面可见 - 在 Planet GNU 上发布

官方 GNU 软件的网页

GNU 软件维护者通常通过在 Savannah 注册他们的项目来获得对其 Web 存储库的写入权限。(过去,他们向网站管理员提供了在网站上安装的页面,但现在这不再是最佳做法。)

GNU 软件包的官方主页应该位于 www.gnu.org 上,具体来说是在 /software/PROGRAMNAME 中。有时这些页面不存在或已过时。如果维护者要求,网站管理员应帮助构建或更新页面。

您确实拥有从 Savannah 检出任何 GNU(或非 GNU)Web 存储库并提交更改的技术权限。但是,软件包维护者负责他们自己的页面,因此您不应修改页面,除非其维护者要求您或确认特定更改。唯一的例外是对于不影响含义的小更改,例如修复 (X)HTML 验证错误,将页面更新到最新的样板,替换页脚中错误的错误报告地址等。在任何情况下,您都应将更改通知维护者。

链接

在添加或替换任何链接之前,请阅读我们的链接标准

请定期检查断开的链接报告并处理它们。请注意,网站管理员应仅修改英文页面中的链接。

如果链接失效是因为页面已移动,请尝试找到其替代页面。如果您成功,请重新检查该页面以确保其符合我们的链接标准,如果符合,则添加它。如果您找不到替代页面,请删除该链接—如果该链接对页面至关重要,您可能需要添加一条注释来解释该资源不再可用。如果该页面不再符合我们的链接标准,您将需要进行判断,并权衡链接的价值与其问题;您可能需要给写带链接页面的作者或 www-discuss 发邮件以获得第二意见。

如果您从我们不维护的页面(例如,由维护者更新的某个软件的页面)中删除了链接,请通知他们该问题以及您为解决该问题所做的工作。

我们有时会被要求在页面上添加链接。大多数情况下,请求将来自 RMS,您只需添加该链接即可。否则,有两种可能性

指向自由 GNU/Linux 发行版的链接

关于 GNU/Linux 发行版的链接建议应按如下方式处理

  1. 请求者应该是发行版的主要开发人员,而不仅仅是用户。如果他们是用户,请感谢他们,并要求他们联系开发人员,以防他们希望被列出。
  2. 简单检查发行版是否是可行的候选者:他们应具有仅包含自由软件的明确政策,并且应该可以清楚地了解如何获取源代码以及包含哪些软件包。如果不存在这些内容,请与请求者讨论(礼貌地)。
  3. 如果没有明显的问题,请要求请求者从专用邮件列表 <[email protected]> 请求认可。他们应包括对其新发行版的描述、指向其主页的链接以及任何其他有用的信息。然后,我们的工单应该得到解决。
  4. 仅供参考:gnu-linux-libre 列表将从那里接管。本质上,他们将详细审查它是否符合我们的标准,如果一切顺利,则将其传递给 FSF 许可人员进行最终批准。

无论如何,网站管理员绝不能简单地将据说是自由的新的发行版添加到 我们的列表中。FSF 许可和 RMS 必须明确批准任何添加。

指向 GNU 和自由软件用户组的链接

关于 GNU 或自由软件用户组的链接请求可以转到 LibrePlanet 网站。然后,我们的工单可以得到解决。

镜像

GNU 镜像

当我们收到添加、更改或删除 ftp.gnu.org 镜像的请求时,首先请确保镜像符合我们在 镜像建议中描述的标准;该页面解释了我们要求镜像志愿者提供的内容。如果有任何疑问,请在同一工单上评论以征求其他网站管理员的意见,或者在采取任何行动之前与网站管理员邮件列表和/或 <[email protected]> 联系。

确认镜像符合我们列出的标准后,请执行以下操作

  1. 编辑文件 /prep/FTP (在 CVS 中); 它是纯文本,而不是 HTML。(不要列出 ftp URL:此协议正在被逐步淘汰。)
  2. /prep 子目录中运行 make
  3. 如果站点是否也可以作为其他镜像的来源的问题的答案是肯定的,则将 rsync URL 添加到 mirror.html 中“镜像 GNU FTP 服务器”和/或“镜像 GNU Alpha 发布服务器”下列出的 URL 中(如适用)。
  4. cvs commit 文件 FTPftp.html,以及 mirror.html(如果适用)。在提交日志消息中,包括镜像的名称及其位置,以及 RT 号(如果有)。
  5. 在 Fencepost 上更新文件 /gd/gnuorg/web/FTP.contacts,并保持文件开头解释的模式。
  6. 请参阅下一条关于镜像状态的条目。
检查镜像的状态

只要镜像保持最新,它们就很有用。过时的镜像甚至可能有害,因为下载旧版本的软件可能会给用户带来安全风险。因此,检查镜像的状态是添加/修改镜像过程中必不可少的一部分。

一个Mirmon 页面跟踪器(由 Savannah 维护)显示了每个镜像上次更新的时间。当 Mirmon 报告镜像过期或几天无法访问时,请自行测试以确保是这种情况(Mirmon 可能存在配置问题,或者镜像可能自上次探测以来已更新)。然后联系其维护者并告知他们问题,以便他们可以解决该问题。有关如何执行此操作的示例,请在 RT 系统中搜索主题包含“[镜像状态]”的工单。RT #1817699 有一个示例,说明如何测试是否可以通过 rsync 访问镜像。

如果需要删除镜像,请检查是否在 /server/mirror.html 上引用了它,并删除该条目。

地址 http(s?)://ftpmirror.gnu.org/pkgname(也由 Savannah 维护)在镜像之间进行多路复用,试图选择一个附近且最新的镜像。

镜像联系信息

当我们收到与镜像相关的请求时,请检查 Fencepost 上的文件 /gd/gnuorg/web/FTP.contacts,如果其中尚未包含联系信息,请添加联系信息,或者在必要时进行更新。我们缺少许多旧镜像的信息,或者我们拥有的数据不是最新的。

非 GNU 镜像

当我们收到添加、更改或删除非 GNU Savannah 镜像的请求时,请通过电子邮件将信息发送给 <[email protected]>。使用 -private 的原因是避免联系地址公开。如果镜像管理员的电子邮件地址不涉及或没有其他隐私问题,则最好使用 <[email protected]>。

www.gnu.org 的镜像

我们不再推荐或列出 www.gnu.org 的镜像。

其他常见请求

本节处理可能需要非显式操作但未在本页其他部分中解决的常见请求。这里没有记录非常简单的请求(例如,修复拼写错误或 HTML 格式问题)。

感谢GNU/感谢CRM

需要注意的事项

如果您有任何疑问,或者您怀疑捐赠有问题(例如,姓名不正确),请在评论中提及并把工单移动到 campaigns 队列。然后,FSF 活动团队可以通过撰写评论并将工单移回 webmasters 队列来帮助您。

请求允许使用图像

当有人请求使用网站“艺术”部分中的图像时,首先要做的是检查图像所在的页面。大多数图像都附有明确的许可证。如果请求的权限合理但与该许可证不兼容,则将工单移动到 licensing 队列。否则,请让他们注意许可证。

如果图像所在的网页没有明确的许可证,并且请求是明确的“是”或“否”,请直接回复请求者,并参考 GNU 政策解释该决定。对于更困难的情况,请将工单移动到 licensing

在考虑请求时,请谨慎行事。例如,如果使用图像不是我们可以链接到的,那么我们也不应该允许使用它。在回复之前,请随时在 www-discuss 上讨论任何请求。

向 GNU 画廊添加图像

  1. 当有人向 GNU 提供图像时,首先要从作者那里了解该图像在哪个许可下发布,并检查这是否是合适的自由许可证。如果新图像是另一个图像的衍生品,请确保其许可证与父图像发布的至少一个许可证兼容。如有疑问,请在 www-discuss 上询问。
  2. 使用浏览器的默认字体大小,检查至少由作者提供的其中一个版本的渲染在原始尺寸下是否足够。如果不够,请创建一个新的显示版本。
  3. 尝试压缩任何较大的 PNG 文件(几百 kB),例如使用 OptiPNG。
  4. 将图像文件安装在 /graphics/ 目录中,但除非绝对必要,否则不要安装非常大的文件(2MB 或更大);相反,请作者将其上传到尊重用户的托管设施,例如 FramadriveInternet Archive
  5. /graphics/icons/ 子目录中创建一个 80x80 像素的缩略图;可以使用 mogrify 方便地完成此操作。例如,要为 arantxa-glitch.jpg 创建缩略图,您需要运行
    mogrify -resize 80x80 -background white -gravity center \
    -extent 80x80 -format png -path icons arantxa-glitch.jpg \
    && mv icons/arantxa-glitch.png icons/arantxa-glitch.80.png
  6. /graphics/ 中创建新页面,使用位于 /server/standards/boilerplate_graphics.html样板。如果图像是衍生作品,请提供指向(或至少是参考)其衍生来源图像的链接。
  7. 选择一个或多个关键字,这些关键字将用于在主菜单中选择新页面。目前,我们有以下关键字(检查选择表单以了解每个关键字涵盖的内容)

    主题: gnuhead, gnu, tux, rms, emacs, fs, license, drm, surveillance.
    类型: ai, ascii, banner, button, icon, cartoon, plastic, logo, poster, svg, wallpaper.

    可以根据需要随意添加更多关键字,但如果添加了,请不要忘记更新选择表单。
  8. 主菜单中为新页面添加条目。最方便的方法是复制其中一个条目,然后用新页面的关键字、链接、页面标题和作者替换它们。以下是 arantxa.html 条目的样子
        <!--#if expr="$THEME = /^(gnuhead|)$/
                   && $TYPE  = /^(banner|logo|)$/" -->
     <tr><td><a href="/graphics/arantxa.html">
         <img src="/graphics/icons/arantxa-glitch.80.png"
               alt="&nbsp;[Glitch]&nbsp;" /></a></td>
         <td>GNU designs<br />
         <small>by Arantxa Serantes</small></td></tr><!--#endif
     -->
    
    请注意,该条目以 SSI 指令开始和结束,并且在 endif 中而不是之后有一个换行符,以避免在提供给用户的 HTML 中出现大量空白行。

更新 GNU 包列表中的信息

有时,GNU 软件包的维护人员会请求更新其在 GNU 软件包列表中的条目

这些文件的源代码维护在 /prep/gnumaint/ 中。

  1. 下载 htmlxref.cnf

     torsocks wget \
       -O htmlxref.cnf \
       https://ftpmirror.gnu.org/texinfo/htmlxref.cnf
    
  2. 编辑 rec/gnupackages.rec, rec/oldpackages.rec, 和 rec/pkgblurbs.rec
  3. 重新生成文件。您可能需要在 PATH 中添加 ./

     make gnupackages.txt html-update PATH=".:$PATH"
    
  4. 确保差异看起来符合预期

     cvs diff ../../{graphics,manual,software}/allgnupkgs.html \
         ../../software/oldgnupkgs.html \
         ../../server/home-pkgblurbs.html | less
    
  5. 返回到 gnumaint 并将您的更改提交到源文件,然后将更新提交到 www 存储库。如果需要更改 htmlxref.cnf,请将其发送到bug-texinfo 邮件列表

Planet GNU

Planet GNU 上的提要通常应遵循我们的链接策略

Planet GNU进行更改,例如添加或删除提要,是通过在相应的 git 存储库中进行更改来完成的

更改不会立即生效,而是在 cron 作业运行后生效,该作业在每个小时的第 25 分钟开始运行。

有关更多信息,请访问 Savannah 的 使用 Git 页面

日志消息

编写良好的提交日志消息非常重要,这有助于项目成员和后代查找给定文件中的特定更改,并了解您进行更改的原因。

  • 在不冗长的情况下,日志消息应尽可能清楚地描述提交的性质。
    良好:更新 XYZ 的链接。
    不良:更新一个链接。
  • 始终包含对任何相关 RT 工单和/或邮件列表讨论的引用。如果不存在此类引用,请提及授权更改的人员姓名。
  • 对于日期,我们使用美式表示法(9 月 27 日,2023 年)或 ISO 8601 国际标准格式(2023-09-27)。