It’s been a bit over a year since I decided to stop playing in (and paying for!) Chess.com, and adopted Lichess as my only site for playing chess online. I wanted to celebrate that today I got my highest blitz rating to date (see my profile), to write a blog post about some aspects of Lichess I love.
David and Goliath
According to Lichess’ public financial information (beware, it redirects to a Google spreadsheet), the total yearly cost of the project (running the platform, paying servers, salaries, etc.) is just $517,087.61. This is of course a lot of money from an individual perspective, but taking into account the number of games it serves worldwide every day (~5.2M games) with a cost per game of $0.00027, I would say it is very, very cost-efficient. I would encourage you to check their donations page if you’d like to economically support the project.
What amazes me the most is that a non-profit project with a modest budget can be such a great competence to companies like Chess.com, with 500-1k employees according to their LinkedIn page. As I mentioned in a previous blog post, I used to pay a diamond membership in that platform for several years to have unlimited games analyzed, unlimited puzzles, etc. All of this and much more is free, for everyone, forever, in Lichess.
Distributed analysis of games
I was shocked when I learned that a Chess.com paid feature like game analysis was free without limits in Lichess. Being a software developer myself, I know that the computational cost of running a chess engine like Stockfish is several orders of magnitude higher than listing games or storing moves. What I did not know until last week is that Lichess has a network of volunteers who donate their spare computing power to analyze other people’s games. Be it in their personal laptops, or on shared/dedicated servers.
From the technical perspective, I think it is a great idea to offload the heavy work from the main Lichess server into secondary servers contributed by the community. The readme of the project explains that computing donors are encouraged to unplug the process anytime they need their CPU for something else. Designing a platform to be failure-tolerant, and to not depend on the availability of a particular node, is key to achieve a high level of resiliency.
From the philosophical (or even political) stand point, I think it’s a great example of how selfless collaboration can be more efficient than a private initiative. Some contribute money, some computing power, some code, designs, translations, documentation, time, etc. And every donor is not getting back anything specifically, but we are all getting everything in return. And, personally, I am only willing to do that because it’s for everyone, forever.
Lichess’ open database
A couple of years ago, while I was switching jobs, I stayed unemployed for a couple of months. During that time, I started working on a pet project that involved downloading and analyzing my chess games from Chess.com. Therefore, I know how costly it is to compute thousands of positions. And now, how absurd is to do that just for myself.
Every month, Lichess exports a database with all games that have been played in PGN format. At the time of writing this post, the database contains more than 6.6 billion games. It also contains a database of more than 232 million position evaluations, and 4.8M puzzles. For free. Forever. Now, I think it was ridiculous to start my own collection of games and position evaluations instead of contributing to this huge, common database. What would have taken me years of computing power, now I can download in a few hours. Again, an example of collective, altruistic effort compared to the private, selfish initiative.
As a closing note, I want to emphasize the importance and effectiveness of collaboration to build a better future for everyone. Not just for those who can afford a paid membership. And not until the CEO of a company decides that what used to be free, won’t be anymore.
Use free software.