不只奖励代码:2026 年 Malcolm Tredinnick 纪念奖提名指南

2026-10-01 13 预计阅读时间: 1 分钟
来源: djangoproject.com AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

Django 社区正在征集 2026 年 Malcolm Tredinnick 纪念奖提名。这个奖项关注的不只是代码提交数量,更重视那些欢迎新成员、耐心提供反馈、主动帮助他人,并持续推动社区成长的人。

Malcolm 是 Django 早期的核心贡献者,对今天的 Django 产生了深远影响。他不仅技术扎实,也以友善对待新用户和新贡献者而闻名。以他的名字设立这项年度奖项,是为了让这种开放、慷慨和扶持后来者的精神继续传递下去。

奖项真正寻找什么样的人

纪念奖是一项年度现金奖励,授予最能体现 Malcolm 工作精神的社区成员。判断一位候选人是否合适时,可以关注几类具体行为:

  • 在论坛、聊天室、邮件列表或线下活动中耐心回答新手问题;
  • 帮助第一次提交补丁的人理解测试、文档和评审流程;
  • 提供具体、友善且可执行的代码审查意见;
  • 组织或支持 DjangoCon、PyCon、开发冲刺等社区活动;
  • 编写文档、教程或维护工具,降低参与 Django 的门槛;
  • 长期完成不显眼但对社区健康至关重要的支持工作。

奖项希望获奖者把奖金作为参加社区活动的差旅补助,例如前往 DjangoCon、PyCon 或开发冲刺,并继续投入社区建设。这是一种鼓励,而不是对奖金用途设置绝对限制的技术规范。

提名不应只写“他很热心”或“她贡献很多”。更有说服力的材料通常包含可核实的场景:候选人做了什么、帮助了谁、产生了什么影响,以及这种行为为什么体现了包容和培养新人的精神。

时间与资格边界

提名截止时间是 2026 年 10 月 15 日 23:59,Anywhere on Earth(AoE)。AoE 通常按 UTC−12 理解,换算后约为 2026 年 10 月 16 日 11:59 UTC。为了避免时区误判、表单故障或临时遗漏,最好不要等到最后几小时再提交。

结果计划在 10 月下旬公布。

以下人员不能成为该奖项的获奖候选人:

  • Django Software Foundation 董事会成员;
  • Django Fellows;
  • 财务主管助理。

不过,仍然可以通过提名表中的 appreciation 字段表达对这些人员的感谢,相关留言会被转达。提交前应先确认候选人的当前身份,避免把感谢信误写成无效提名。

把“值得感谢”写成有证据的提名

一份清晰的提名可以围绕四个问题展开:

  1. 候选人做了什么? 写出具体行动,而不是只列头衔。
  2. 谁因此受益? 可以是新贡献者、活动参与者、文档读者或整个项目。
  3. 影响是什么? 例如缩短首次贡献所需时间、改善评审体验,或让更多人愿意留下来。
  4. 为什么符合奖项精神? 把事实与“欢迎、支持、培养新人和发展社区”联系起来。

例如,与其写:

Alex 总是非常乐于助人,是社区的重要成员。

不如写得更具体:

在过去一年中,Alex 定期帮助首次贡献者复现问题,并把复杂的评审意见拆成可执行的小步骤。他还整理了本地测试指南,让多位此前未参与 Django 开发的用户完成了第一个补丁。

后者没有依赖夸张形容词,而是让评审者看见了行动、对象和结果。引用公开讨论、文档或活动记录时,应只提供必要信息,并避免暴露私人对话和个人资料。

可复制的提名草稿生成器

下面的脚本是一个本地整理工具示例,并非官方提名 API,也不会自动向评选方提交内容。它会询问几个关键问题,然后生成 nomination-draft.md,方便你修改后再粘贴到官方表单中。

将代码保存为 draft_nomination.py:

from pathlib import Path
from textwrap import dedent


def ask(prompt: str) -> str:
    while True:
        value = input(f"{prompt}: ").strip()
        if value:
            return value
        print("此项不能为空,请补充具体信息。")


candidate = ask("候选人姓名")
relationship = ask("你如何了解候选人的社区工作")
action = ask("候选人做过的一项具体行动")
beneficiaries = ask("谁从这项行动中受益")
impact = ask("这项行动产生了什么可观察的影响")
spirit = ask("它如何体现欢迎、支持或培养新人的精神")
evidence = input("可选的公开证据或参考记录: ").strip()

content = dedent(
    f"""\
    # 2026 Malcolm Tredinnick Memorial Prize 提名草稿

    ## 候选人

    {candidate}

    ## 提名人与候选人的联系

    {relationship}

    ## 具体贡献

    {action}

    ## 受益者

    {beneficiaries}

    ## 产生的影响

    {impact}

    ## 与奖项精神的联系

    {spirit}

    ## 公开证据或补充材料

    {evidence or "暂无;提交前确认是否需要补充公开记录。"}

    ## 提交前检查

    - [ ] 已确认候选人不属于不具备获奖资格的角色
    - [ ] 已删除不必要的私人信息
    - [ ] 使用了具体事例,而非只有概括性赞美
    - [ ] 已在截止时间前通过官方表单提交
    """
)

output = Path("nomination-draft.md")
output.write_text(content, encoding="utf-8")
print(f"草稿已写入: {output.resolve()}")

运行命令:

python draft_nomination.py

生成文件后,建议再做一次人工编辑:删除重复内容,确认人名和身份准确,并把笼统描述替换为一两个有代表性的实例。不要用脚本批量制造提名,也不要提交未经本人允许获得的敏感信息。

提交前的简短清单

在打开提名表之前,可以逐项确认:

  • 候选人的贡献确实体现了欢迎、支持和培养他人的精神;
  • 至少提供一个具体、可理解的社区贡献实例;
  • 说明了贡献带来的实际影响,而不是只罗列活动名称;
  • 检查候选人是否属于不具备获奖资格的角色;
  • 将感谢不具资格人员的内容放入 appreciation 字段;
  • 在 2026 年 10 月 15 日 23:59 AoE 之前完成提交;
  • 如有规则或资格疑问,通过专门的论坛讨论串或联系 DSF 董事会确认。

开源社区常常容易统计提交次数,却很难量化一次耐心回复、一场友善评审或一份为新人铺路的文档。这个奖项提醒我们:维持 Django 的不只是代码,还有那些愿意让别人更容易加入的人。如果你认识这样的贡献者,现在就整理事实并提交提名,而不要把感谢留到截止日期之后。


相关推荐