The OGS code base is now 10 years old!

Hello OGS!

10 years ago this very day we broke ground on the online-go.com code base. That first code commit itself was quite boring, it was just checking in some basic files to get the repository initialized, however what would come in the next few months was a flurry of commits to get the first version of the site online. That same code base has continued to grow and change over the past decade and is what you use when playing one of the many millions of games that have now been played on online-go.com.

Here are some fun statistics (scroll to see more):
Note: lines of code are non comment, non blank, non generated, lines of code that are used in production or testing. Modules are counted separately from components that use them (for example the billing module is used by the python backend, but is not “double counted”, it’s counted separately)

Python backend:
      25751 lines of code
      6381 commits
Node backend
      24127 lines of code
      806 commits
Front end:
      87554 lines of code
      4971 commits
Billing module
      7615 lines of code
      139 commits
Goban module
      13600 lines of code
      495 commits (since separation from the UI)
gtp2ogs (script to allow bots to play on the site)
      5156 lines of code
      646 commits
Total: 
   163803 lines of code
   13438 commits
   92 contributors

Years since first commit: 10
Days since first commit: 3652
Average new lines of code per day: 44.85
Average commits per day: 3.68

Number of games in the database: 40484010
Number of reviews or demos in the database: 898668
Number of accounts created: 1178923
Number of groups created: 10599
Number of puzzles: 59129
Number of times puzzles have been solved: 9581897
Number of tournaments created and not deleted: 40530
Number of friend pairs: 666393
Number of Joseki dictionary position entries: 17495
Number of incidents dealt with by the moderator team: 99872

So on this day I just wanted to say thank you to the community, it’s been a wonderful decade and I look forward to the next decade of making things ever better and popularizing Go in the western world!

And a very special thank you to all of you who choose to be site supporters, your support throughout the years have made a tremendous impact by enabling me to work full time on the project, make better equipment purchases, and pay for all the expenses that go along with running things so that we can provide an ad-free cost-free best-in-class place to play Go :slight_smile:

– anoek

104 Likes

congratulation!

11 Likes

Cross-posting this to mark the occasion

10 Likes

Here is a nice mini-recap of OGS history :slightly_smiling_face:

10 Likes

What kind of things are run on python vs node?

4 Likes

Node runs all of our real time stuff, so playing of games, chat, stuff like that. Python handles the more classic webpage / database stuff.

7 Likes

Congratulations! It has been a fun ride.

As a system admin, programmer, Go player, and member of this server from (arguably before) the beginning, I have some understanding of the effort required to produce one of (if not the) best online Go servers.

I look forward to next 10 years (and more).

17 Likes

I am new on the platform! I found it extraordinary! Congratulations!

7 Likes

What a fun milestone. Congratulations anoek!

9 Likes

Congrats! As a go player & cs student I really respect and appreciate your work. Thank you anoek

6 Likes

Millions of codes! You guys are genius! Thanks for making it free for us all! Go is not dead!

6 Likes

Nice! Congrats. I think there are some important stats missing though. Where is the source code swear count?

5 Likes

Love the stats.

For some of the more discussed aspects of OGS…

How many lines (or modules) is the AI analysis?

Same question about the Score Estimator.

I realize these modules would have been counted somewhere in the original posting, just want to get a feel for those modules, since they are complained (er… discussed)

4 Likes

AI: 4486 lines on the backend, 2391 on the front end
Score estimator: 2242 (not included in the above counts)

Hah, have a favorite swear word counter? Some quick googling didn’t give me any quick tools to run that check, but I’m quite sure that’s just a fail on my part, I’m sure it’s been done and readily available somewhere.

5 Likes

I’m just going to leave this here.

5 Likes

Congrats anoek! And thanks for such an awesome Go server all these years!

6 Likes

Feels like a longer time. And as my first game here dates back to 2009, it is longer ago.

Ten years is the age of the white version of OGS, and the blue version is not taken into account on this note?

6 Likes

I think you and anyone who has helped you have done an excellent job with the website. Thank you for putting in all the time in making this a great place to play go.

8 Likes

Congratulations! I know it’s been an incredible effort not just to have such a successful debut, but to keep improving and innovating this entire time. All your success is well-earned!

7 Likes

Yep I’m talking about the code base that is running the site now, the one that I started with matburt. Before that it was all in PHP i think, and before that it was an ASP project if I recall correctly. The domain was originally registered and went live in 2005 by @topazg, at some later date it was transfered to @drf who I presume rewrote it in PHP, and then in 2013 we took over maintenance of the site and migrated all of the games and users into our code base.

9 Likes