跳到正文
YiBoard

2026-10-29

为什么我们开源

YiBoard 的全部代码都在公开仓库里:裁判、引擎、界面、五种语言。这篇讲我们为什么这么选、代价是什么、你能拿它做什么。

#open-source#product#community

YiBoard 是一个开源棋类项目,这句话是决定,不是口号,而且它有成本。整个仓库都是公开的:裁判逻辑、alpha-beta 引擎、五种语言的词条、段位算法。一场棋的胜负是怎么判定的,谁都能读到,也可以在 issue 里跟我们吵。这篇讲我们为什么这么选、代价是什么、以及你能拿这份代码做什么。

公开的部分具体有哪些

  • 裁判:判断落子是否合法、胜负如何成立的那一层,站内所有棋种共用
  • 五子棋引擎:跑在浏览器里的 alpha-beta 剪枝,单次搜索预算 500 毫秒
  • 界面:路由、棋盘渲染、键盘操作的处理
  • 五种语言的词条文件,包括还没翻完的那些
  • 没有统计脚本,也没有广告标签,这点你不信我们的话可以自己翻源码确认

仓库按职责分目录,规则、引擎、界面、翻译各自独立。想看懂胜负是怎么判的,从规则那部分开始读最快。

为什么把源码放出来

  • 棋类规则天生会被争论。裁判代码公开,争议可以在代码里解决,而不是在评论区里吵
  • 作弊指控需要证据。引擎公开之后,"对面是不是用了软件"这个问题有可查的答案
  • 别人可以把引擎挪到自己的项目里,不必重新实现一遍
  • 我们没有客服团队。问题公开在 issue 里,答过一次之后别人搜得到

开源解决不了什么

要说实话:开源不等于有人维护。一个公开仓库如果只有一个人在提交,巴士系数还是一。放出源码也不代表我们接受每一个补丁,合并进去意味着以后要一直维护它,有时候我们判断不值得。另外,代码公开对不懂代码的人没有任何帮助,这一点我们很清楚,所以界面本身做得足够简单,让人不用读代码也能玩。

你可以拿它做什么

  • 读:不需要注册,也不需要申请加入什么组织
  • 自己部署一份,保留署名和许可声明即可
  • 发现规则判错了就开 issue,附上对局记录,这比在别处抱怨有用得多
  • 提交补丁。我们会看,但不一定合并

如果你只想下棋,这些都不重要。打开 对战页 直接开一局就行,开源是给想查的人准备的。团队的想法写在 关于页。

FAQ

YiBoard 真的开源吗?

仓库是公开的,裁判、引擎、界面、翻译都在里面,许可条款写在仓库里。你不需要注册账号就能读。

我能自己搭一份吗?

可以。保留署名和许可声明就行。我们不提供托管支持,部署和运维是你自己的事。

把引擎公开了,是不是更容易作弊?

公开让玩家能研究引擎,但对局结果仍然由服务端裁判判定,单靠读代码改不了别人的对局。引擎那一层的设计思路在 /blog/open-source-board-engine-ecosystem 里讲过。

既然免费又开源,靠什么维持?

目前是几个人的业余项目,没有广告、没有付费墙。为什么这么选,/blog/free-is-a-design-choice 里写得更细,常见问题 也有。

在 YiBoard 免费下一局

Related

继续看

YiBoard (yiboardgame.com) — 中华棋类,浏览器即玩,免费无注册。 去下一局 · 更多博客 · 玩法指南