Your network blocks the Lichess assets!

lichess.org
Donate

Noobmasterplayer123

The Case for Chess Open Source Nobody Maintains

Software Development
Is it worth contributing to newer chess open source software projects?

This is the question I get asked a lot when I tell people I contribute to my own little chess open-source pet project, Chessagine. Whenever I'm at a chess meet-up or just talking about what I do on the side, many ask this question; after all, there already exists Lichess, Chess.com, Chesstempo, ChessDojo and many other great open source and non-open-source chess sites, so why bother spending your free weekends and late nights on some small chess app you built which no one knows about or even cares about?

I think this question is interesting, and that is why I'm writing a small opinionated blog about why newer chess applications need to be developed and why contributing to open source is still important for many chess players worldwide.

Why care?

Why write blog posts about random math ideas? Why bother integrating with the Lichess board API if someone can already play on Lichess? Why bother maintaining the software when I could have done something else to make money? These are questions I ask myself sometimes on days I don't even feel that well, and I think that I'm just wasting my time and effort on something (I care about) and not something actually useful to chess players. After all, the platform you're reading this blog post on is already 100x better than what I have been building on the side; these are again just some negative thoughts I get, and some questions are just questions that shouldn't be answered because they don't deserve an answer.

I started Chessagine because really I wanted MY own little version of a chess app that I can fully own, something I can have say in and also listen to other users say and implement it, something open to the world where anyone can just NOT sign up and still do chess actions that they see elsewhere. In the start, it was to, of course, explore the AI side of things, which I have made progress on over the last year, with a self-hostable Chessagine MCP server, but also from UI to having query neural nets via API, I tried to explore various places that have problems that haven't been fixed for end users.
I think to myself, the reason why many chess developers should create chess applications (mainly open source ones) is to first challenge the existing applications with newer ideas, and 2nd to create chess developer communities that grow the future of chess applications. When we think of any real chess software that is open source and free, we can easily think of Lichess, Stockfish, LC0, and a few more, but did we notice that if I asked you the same question for paid chess software, you probably would say plenty more names like Chess.com, Chessable, TTT and more. The problem here is that many chess developers are all behind maintaining a handful of applications, but don't want to create or maintain a new one because of the many negative questions I got, but also chess players simply won't use it, or that's what they think before they even start a project.

What if it's a complete disaster? What if this? What if... and so many what-ifs. I think if newer projects were never created by open-source devs, how would we innovate chess software? If all open source is meant to replicate commercial projects and make it open source, I think it's quite wrong. With the rise of AI and so-called "vibe coding," I have seen plenty of Lichess blogs by various devs and non-devs creating a solution to a problem they fixed, building an application, and open-sourcing it. I haven't seen the same developer post about that application for longer periods of time; most of the time it's either me, Hollowleaf and totalnoob who talk about our applications here and there. Maybe there are a few more, but I think in general I feel many chess developers just stop contributing to open source chess applications for many reasons I explained above. They stop bothering because either Lichess has already done a better job of implementing it, so they only contribute to Lichess, or they simply don't care because the project was created to solve that problem, and in the long run there is no benefit to keeping the project alive to the maintainer itself.

Why care? Because caring about creating and contributing to chess software that is open source, and doing it, can bring various newer ideas to the developer community that we can share the ideas with. It's not really about personal gain, and more about gain to the open source community; someone might take your idea and do a better job of it and make a better fix.

The dropout problem

This is really the part that bugs me the most. Chess open source doesn't have a discovery problem, it has a retention problem. Someone posts a blog about their new tool, gets a nice round of upvotes, maybe a few hundred people try it out, and then... six months later the repo hasn't seen a commit. Not because the idea was bad, but because maintaining software long after the initial "I built a thing" high wears off is genuinely unglamorous work. It's answering the same GitHub issue for the third time. It's fixing a broken API call because Lichess changed a response shape. It's writing docs nobody reads until they desperately need them.

Compare that to Lichess itself, which has managed to keep a rotating cast of contributors showing up for over a decade. That's not an accident; it's a culture. And I think that's the actual thing worth building when you start a project like Chessagine: not just a tool, but a reason for other people to stick around and care about it too.

It's not really about competing with Lichess

I want to be clear about something, because I think it gets lost every time I explain this project to someone at a meet-up: Chessagine was never meant to dethrone Lichess, or Chess.com,. That would be a strange goal for a side project maintained mostly by one person doing this after work. The point was never "build a better Lichess." The point was "build the thing I wished existed alongside Lichess" an AI-assisted analysis layer, an MCP server so an LLM can actually reason about a position instead of just describing it, a place where I could test an idea on a Tuesday night and have it live by Wednesday without going through anyone's roadmap but my own.

Small projects get to move at a different speed than institutional ones. That's the trade you're making: you give up scale and polish, and in exchange you get to try the weird idea that a bigger platform would never prioritize. Most of those weird ideas don't pan out. A few of them do, and when they do, they tend to get absorbed into the bigger platforms eventually, or they inspire someone else's better version. Either way, the ecosystem moves forward. That absorption isn't a loss. It's the whole point.

What I'd say to someone thinking about starting their own

If you're a chess player who codes, or a dev who plays chess badly like I do, and you have an itch about something Lichess or Chess.com hasn't solved for you, build it anyway. Don't build it because you think it'll get users. Don't build it because you think it'll make money. Build it because you want to own a small corner of the game where you get to decide what matters. Write the blog post about it even if three people read it. Post the repo even if nobody stars it for a year.

The "what if it's a disaster" question answers itself eventually: it probably will be, for a while. Mine still is, most days. But disaster is a fine place to start from, because it's the only place real ideas ever come from. The open source chess community doesn't need another perfect clone of an existing tool. It needs more people willing to be a little embarrassed by their own unfinished project in public, long enough for something useful to fall out of it.
That's why I care. That's why I'm still doing this on weeknights instead of watching TV. And if this post gets even one more person to open a new repo and commit something half-broken to it, then it did its job.

That I wanted to share in this blog post.

Thanks for reading,

Noob