为什么我们开源
YiBoard 的全部代码都在公开仓库里:裁判、引擎、界面、五种语言。这篇讲我们为什么这么选、代价是什么、你能拿它做什么。
YiBoard 是一个开源棋类项目,这句话是决定,不是口号,而且它有成本。整个仓库都是公开的:裁判逻辑、alpha-beta 引擎、五种语言的词条、段位算法。一场棋的胜负是怎么判定的,谁都能读到,也可以在 issue 里跟我们吵。这篇讲我们为什么这么选、代价是什么、以及你能拿这份代码做什么。
公开的部分具体有哪些
- 裁判:判断落子是否合法、胜负如何成立的那一层,站内所有棋种共用
- 五子棋引擎:跑在浏览器里的 alpha-beta 剪枝,单次搜索预算 500 毫秒
- 界面:路由、棋盘渲染、键盘操作的处理
- 五种语言的词条文件,包括还没翻完的那些
- 没有统计脚本,也没有广告标签,这点你不信我们的话可以自己翻源码确认
仓库按职责分目录,规则、引擎、界面、翻译各自独立。想看懂胜负是怎么判的,从规则那部分开始读最快。
为什么把源码放出来
- 棋类规则天生会被争论。裁判代码公开,争议可以在代码里解决,而不是在评论区里吵
- 作弊指控需要证据。引擎公开之后,"对面是不是用了软件"这个问题有可查的答案
- 别人可以把引擎挪到自己的项目里,不必重新实现一遍
- 我们没有客服团队。问题公开在 issue 里,答过一次之后别人搜得到
开源解决不了什么
要说实话:开源不等于有人维护。一个公开仓库如果只有一个人在提交,巴士系数还是一。放出源码也不代表我们接受每一个补丁,合并进去意味着以后要一直维护它,有时候我们判断不值得。另外,代码公开对不懂代码的人没有任何帮助,这一点我们很清楚,所以界面本身做得足够简单,让人不用读代码也能玩。
你可以拿它做什么
- 读:不需要注册,也不需要申请加入什么组织
- 自己部署一份,保留署名和许可声明即可
- 发现规则判错了就开 issue,附上对局记录,这比在别处抱怨有用得多
- 提交补丁。我们会看,但不一定合并
如果你只想下棋,这些都不重要。打开 对战页 直接开一局就行,开源是给想查的人准备的。团队的想法写在 关于页。
FAQ
YiBoard 真的开源吗?
仓库是公开的,裁判、引擎、界面、翻译都在里面,许可条款写在仓库里。你不需要注册账号就能读。
我能自己搭一份吗?
可以。保留署名和许可声明就行。我们不提供托管支持,部署和运维是你自己的事。
把引擎公开了,是不是更容易作弊?
公开让玩家能研究引擎,但对局结果仍然由服务端裁判判定,单靠读代码改不了别人的对局。引擎那一层的设计思路在 /blog/open-source-board-engine-ecosystem 里讲过。
既然免费又开源,靠什么维持?
目前是几个人的业余项目,没有广告、没有付费墙。为什么这么选,/blog/free-is-a-design-choice 里写得更细,常见问题 也有。
Related
- 开源棋盘引擎生态
2026-09-12
- 性能基准:我们能跑多快
2026-10-26
- 开放 API 的设想
2026-10-24