ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

维护者直推main必须发I‘m a naughty boy:OpenChaos社区自治实验复盘

维护者直推main必须发I‘m a naughty boy:OpenChaos社区自治实验复盘 维护者直推main必须发Im a naughty boyOpenChaos社区自治实验复盘【免费下载链接】openchaosA self-evolving open source project. Every week, the community votes on PRs, and the winner gets merged.项目地址: https://gitcode.com/gh_mirrors/open/openchaosOpenChaos 是一个正在运行的开源社区自治实验网站即仓库、仓库即网站任何人每周都可以提交 PR社区用表情符号投票票数最高的 PR 在每周六 19:00 UTC 被自动合并进 main 并自动部署上线。更绝的是它的维护者自律条款——维护者若绕过投票流程直推 main必须公开发文Im a naughty boy我是个坏孩子。这篇文章带你完整复盘这套社区自治机制是怎么设计的、为什么能跑起来。它是什么社区每周投票决定合并的自进化开源项目OpenChaos 的核心玩法用一句话概括The website IS the repo. The repo IS the website.项目基于 Next.js 16 Tailwind CSS v4 构建每周的投票结果直接决定线上网站长什么样。这意味着 有人可以投票通过一个把 UI 整个改掉的 PR 有人可以让网站变成一个游戏️ 也可以投掉某个功能️ 甚至连投票规则本身都可以被投票修改什么都可以改包括规则本身——这就是它叫 Chaos混沌的原因。每周投票机制3 步成为本周合并赢家整个循环只有 5 步任何新手都能看懂任何人提交 PR并可以在 PR 描述里加一段隐藏的竞选拉票稿用 HTML 注释chaos-pitch书写最多 256 字符只在网站上展示社区用 Reactions 投票 计 1 分 计 -1 分净分 点赞 - 踩每周六 19:00 UTC净分最高的 PR 自动合并平台自动部署网站立即变身下周继续无限循环投票的底层实现并不神秘网站的后端接口 src/app/api/vote/route.ts 只是拿着你的 GitHub Token调用 Issues Reactions 接口给指定 PR 加一个 或 。投票权与 GitHub 账号绑定天然防伪。想进 main先过这 6 道硬性关卡自动合并不是随便合的。一个 PR 想赢必须同时满足#规则说明1 标题必须押韵标题中至少有两个不同单词押韵如 botch 和 watch2✅ CI 必须通过构建失败直接出局3️ 净票数 ≥ 10没人投够 10 票那本周什么都不合并4⏰ 平局新者胜分数相同创建时间更晚的 PR 赢5 无合并冲突有冲突的 PR 跳过由下一名接棒6☣️ 不得含恶意代码维护者可一票否决其中标题押韵是最有味道的一条规则由 src/lib/rhymes.ts 实现把标题拆词后两两比对用rhymes-with库判断是否押韵。这条规则让每次取标题都变成一次小游戏也是参与感的来源。而自动合并的判断逻辑在 scripts/dry-run-automerge.mjs 里有一份完整的彩排版实现它按净票数排序、逐个检查可合并性、押韵、CI 状态最后打印出WOULD MERGE PR #xxx——真实工作流与之一模一样只是永远不真的合并。Im a naughty boy维护者自我绑定的公开条款这是全文最有趣的部分写在 README 的规则列表末尾维护者任何一次绕过社区投票流程、直接推代码到 main都必须在自己的 X 账号上发布Im a naughty boy并附上 GitHub commit 页面链接。为什么这条社死条款比任何 CI 检查都重要信任不能只靠技术约束。自动合并流程防不住有权限的人手动操作但公开社死条款把违约成本从零变成了全社区围观它承认了自治的边界维护者保留紧急权力比如阻止恶意代码但行使权力必须当众交代它是社区与唯一管理员之间的社会契约用玩笑的语气写了一条真实的问责机制唯一不可投票删除的底线RULES.md如果什么都可以改那谁来保护规则本身答案是 RULES.md该文件不可被修改或删除试图动它的 PR 会直接 CI 失败维护者可以拒绝危害用户或系统的 PR这是唯一的例外权力文件末尾一句话点题This file and its CI protections cannot be removed by vote. Everything else can.此文件及其 CI 保护不可被投票移除其他一切皆可。这其实是整个实验的架构核心把不可协商的底线硬编码进 CI其余一切交给社区投票。底线之上混沌自由。本地跑起来参与指南想围观或参与把仓库克隆下来即可git clone https://gitcode.com/gh_mirrors/open/openchaos cd openchaos npm install npm run dev本地就能看到完整效果包括一个有意思的细节src/lib/chaos-router.ts 会在每次访问时随机把你路由到 ascii / web2 / newspaper / vaporwave 四个复古主题之一——网站混沌的味道从路由层就开始了。复盘这个自治实验证明了什么自治可行但必须留底线。押韵、CI、10 票门槛、RULES.md 不可删——这些不可投票取消的约束是让投票决定一切不失控的前提对维护者的约束靠社交机制。技术上无法阻止维护者直推 main但Im a naughty boy条款让权力在阳光下运行游戏化是参与感引擎。押韵标题、隐藏拉票稿、每周六开奖式合并把枯燥的 code review 变成了一场社区综艺自进化项目是真实存在的规则本身可以被投票修改项目形态每周都在漂移这正是 OpenChaos 作为自进化开源项目最有实验价值的地方如果你也在琢磨开源项目能不能不用传统 core 维护者模式OpenChaos 给出的答案是可以只要把底线写进 CI把其余的交给每周六的投票。【免费下载链接】openchaosA self-evolving open source project. Every week, the community votes on PRs, and the winner gets merged.项目地址: https://gitcode.com/gh_mirrors/open/openchaos创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表