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 字段表达对这些人员的感谢,相关留言会被转达。提交前应先确认候选人的当前身份,避免把感谢信误写成无效提名。
把“值得感谢”写成有证据的提名
一份清晰的提名可以围绕四个问题展开:
- 候选人做了什么? 写出具体行动,而不是只列头衔。
- 谁因此受益? 可以是新贡献者、活动参与者、文档读者或整个项目。
- 影响是什么? 例如缩短首次贡献所需时间、改善评审体验,或让更多人愿意留下来。
- 为什么符合奖项精神? 把事实与“欢迎、支持、培养新人和发展社区”联系起来。
例如,与其写:
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 的不只是代码,还有那些愿意让别人更容易加入的人。如果你认识这样的贡献者,现在就整理事实并提交提名,而不要把感谢留到截止日期之后。