Skip to content
YiBoard
Play

2026-10-29

Why We Are Open Source

The whole YiBoard repository is public: referee, engine, interface, five languages. Why we chose that, what it costs us, and what you are allowed to do with the code.

#open-source#product#community

YiBoard is an open source game project, and that sentence describes a decision with costs attached, not a slogan. The whole repository is public: the referee, the alpha-beta engine, the five language files, the ranking maths. Anyone can read how a win gets decided and argue with us in an issue thread. This post covers why we chose it, what it costs, and what you are allowed to do with the code.

What is actually public

  • The referee: the layer that decides whether a move is legal and when a game is won, shared by every game on the site
  • The Gomoku engine: alpha-beta pruning running in your browser with a 500 ms search budget
  • The interface: routing, board rendering, keyboard handling
  • Localisation files for all five languages, including the strings we have not finished
  • No analytics scripts and no ad tags, which you can confirm by reading the source instead of taking our word for it

The repository is grouped by job: rules, engine, interface, translations. If you want to understand how a win is decided, start with the rules directory.

Why we published the source

  • Board game rules get argued about by nature. A public referee settles the argument in code rather than in a comment section
  • Cheating accusations need evidence. With the engine public, the question of whether an opponent used software has an answer someone can check
  • Other developers can port the engine instead of writing another one
  • We have no support team. An issue answered once stays searchable for everyone after us

What open source does not fix

Being honest here: public code is not the same as maintained code. A repository with one committer still has a bus factor of one. Publishing the source also does not mean we merge every patch, because merging means carrying it forever, and sometimes we judge that it is not worth it. And open source does nothing for someone who does not read code, which we know perfectly well, so the interface has to stand on its own.

What you can do with it

  • Read it: no account, no request to join anything
  • Run your own instance, as long as attribution and the licence notice stay in place
  • Open an issue with the game record attached when a rule looks wrong, which does more good than complaining elsewhere
  • Send a patch. We read them, we do not merge all of them

None of this matters if you only want to play. Open the play page and start a match; the repository is there for whoever wants to check. What the team is trying to do is on the about page.

FAQ

Is YiBoard really open source?

The repository is public and holds the referee, engine, interface and translations, with the licence stated inside it. You can read it without an account.

Can I host my own copy?

Yes, as long as attribution and the licence notice stay in place. We do not offer hosting support, so deployment and uptime are on you.

Does publishing the engine make cheating easier?

It lets players study the engine, but match results are still decided by the server side referee, so reading code cannot alter someone else’s game. The design of that engine layer is described in /blog/open-source-board-engine-ecosystem.

If it is free and open, how do you keep going?

Right now it is a few people’s side project, with no ads and no paywall. /blog/free-is-a-design-choice goes into why, and the FAQ page covers the practical side.

Play a free game on YiBoard

Related

Keep exploring

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