内容提要
Go语言提案流程积压严重,年增23%,中位等待超两年。核心团队提出新流程:分四阶段(Incoming→Ready→Active→Decided),设3-5人Triage小组初筛,引入加权社区投票影响优先级,按领域分轨道并行评审,并借鉴排队论按争议度分配时间盒。社区担忧小众提案被忽视、Triage异化及已接受未实现提案积压,团队表示将迭代优化。
延伸解读
新流程的潜在风险
社区对新流程的担忧主要集中在三点:小众提案可能因关注度低而难以获得足够投票,Triage小组可能演变成新的瓶颈,以及已接受但未实现的提案可能形成新的积压。这些担忧反映了流程设计中的现实挑战,团队表示将定期审查并迭代优化。
加权投票的公平性考量
加权投票机制旨在平衡社区参与和专家决策,通过按贡献者等级加权防止刷票,同时明确投票仅影响优先级而非最终决策。这一设计试图在开放性和专业性之间取得平衡,但实际效果仍需观察。
多轨评审的工程思维
借鉴排队论中的SITA算法,按争议度分配时间盒,类似超市快速结账通道,旨在避免大提案阻塞小提案。这种工程化方法体现了对流程效率的追求,但能否适应Go社区的复杂生态,还需实践检验。
Q&A
Go 语言提案流程目前存在哪些主要问题?
Go 提案流程积压严重,每年增长23%,中位等待时间超过两年;缺乏正式的优先级排序,审查顺序全凭运气;初筛工作由志愿者英雄式维持;提案被接受后可能长期未实现;评审委员会人数少、覆盖领域广,导致专业背景不足。
Go 新提案流程将提案生命周期划分为哪几个阶段?
新流程将提案生命周期划分为四个阶段:Incoming(新入)、Ready(就绪)、Active(评审中)、Decided(已决策)。
Go 新提案流程中的 Triage 小组是如何运作的?
Triage 小组由3-5人组成,负责初筛。成员投票前看不到他人结果,可投关闭票(需三分之二多数且至少2票)、进入评审票(需三分之一多数且至少2票,并给出赛道、初始优先级、争议度)或要求补充信息(30天无回应自动转为关闭)。关闭可申诉,Triage 决策可逆。
Go 新提案流程中的社区投票是如何影响提案的?
社区投票只影响提案的优先级(何时被审查),不影响最终是否被接受。投票按贡献者等级加权:approver 一票值5分,普通用户一票值1分,初始优先级 high/medium/low 分别对应50/25/10基础分。没有点踩机制,防止负面刷屏。
Go 新提案流程如何解决评审委员会吞吐量瓶颈?
通过按领域拆分为多个评审轨道(如语言变更、Go命令、工具链、安全等),实现并行评审,提升吞吐量。同时为吸纳更多社区贡献者参与评审创造空间。
Go 新提案流程如何避免大提案拖死小提案?
借鉴排队论中的 SITA 思想,按争议度将提案分为四级(Trivial、Minor、Substantial、Contentious),并在每周评审例会中为不同争议度分配固定时间盒(如 trivial 15分钟、minor 20分钟、substantial/contentious 25分钟),确保简单提案不被复杂提案阻塞。
社区对 Go 新提案流程有哪些主要担忧?
主要担忧包括:小众提案可能因人气不足被忽视;Triage 可能异化为第二道提案委员会;已接受但未实现的提案可能形成新的前置积压。Austin 回应称会通过初始优先级、定期审查和超时机制来应对。