A short history, based on interviews with the protagonists, of how Go arrrived to the Internet, and how the Internet forever changed the world of Go
Today, Go is, more than anything else, an Internet game. There have never been so many matches played every day in so many places around the world. Even if all the federated players or members of any European club played a tournament at the same time, they would not generate the figures that the main Go servers churn out any single day.
This massive virtualization of a millennial social practice was not the product of massive Internet giants. In fact, some, such as Yahoo!, tried and failed miserably. Go resisted the recentralization of Google, Facebook, and others, by itself. It led to an ecosystem in which a dozen large servers – most of which are specialized SMEs – coexist with hundreds of small community servers where classes are held and games are shared daily. No doubt, in the West, the cultural background that ties the game to libertarian and technological environments played an important role in this process, but like all complex processes, like a Go match, the result was not the product of planning by a sole, powerful visionary mind or company, but of the interaction among many individuals looking to create their own spaces and freedoms.
The birth of an ecosystem
In the late eighties, players had already start using the tools of the time, basically Telnet, to play with each other over those green phosphorous screens in the university libraries of the time. We were far from the virtual boards which we are used to today, but the momentum was strong. In 1992, a group of volunteers from the University of New Mexico create the first Go server: IGS (“Internet Go Server”). The protocol was still very simple, the Internet was young, the WWW still didn’t exist, and the communication logic is still based on the transmission of text. René Grothmann, then a young student of mathematics in Bavaria, tells us:
Before I started with JaGo (about 1993), I used the text-based Telnet with an ASCII display of the board. You can see the remainders of this in the Telnet protocol of the Internet Go Server (IGS). In fact, one of the main obstacles when writing JaGo was to decipher text messages and translate them into Go positions, moves, game requests, and other transmitted data.
Soon the first installations of IGS in Europe appear (at the Pasteur Institute), with the associated problems of maintaining a then very expensive hardware infrastructure and connections. Meanwhile, JaGo, developed in Java, becomes the first widely used graphical client and one of the main vectors of online innovation and expansion for the game. Its creator tells us:
One of the main aims was to see a beautiful board. For this I used a method similar to ray-tracing to design the stones with brightness and shadows. The wooden structure of the board is a mathematical function. Another aim was to be able to edit games with variations. Other aims were added later. E.g., it was obvious to me that XML should be used to store games. So JaGo got the first XML based game format besides the ubiquitous Smart Go Format (SGF). JaGo has a point-to-point protocol that still looks modern today. It can build a network of players without any server. The possibility of playing against the computer via GnuGo and its Go Modem Protocol was added later.
Meanwhile, in 1995 a Korean company buys the IGS network, covering the costs of running it, and in 1997, a Japanese communications company begins selling subscriptions in Japan. The massive influx of Asian players allows for the refinement of the rough original business model, and finally the IGS server network becomes PandaNet, locating its machines in Tokyo. A business model based on virtual services for players is emerging. The most important part is to allow them to play against each other.
Immediately, competition arises. Still in 1997, “No Name Go Server,” an “international club” of players that releases the code of its server creating the first open standard (still using Telnet as the transmission protocol), appears.
The first version of CGoban was a client for IGS and (later) NNGS (NNGS was an IGS competitor). My problem was I really wanted to add features to CGoban that could only be done with the cooperation of the server, which wasn’t going to happen, so I scrapped that and wrote my own server. Originally it was “VGO,” the Virtual Go Server.
On April 30, 2000, a message on the rec.games.go newsgroup announces the launch of IgoWeb, a new alternative to both IGS and Cosmic, the first public nngs server.
Soon after, I wrote Olaf, a friend of mine who was in Japan and met Richard Bozulich; he was looking for a Go server that he could use to promote his business, so Olaf showed him VGO. He liked it, we made an arrangement, and VGO became the Kiseido Go Server.
Bozulich’s company, Kiseido, was then the largest English-language publishing house on Go and sponsored the server until 2006. During those years the server had become so popular that Shubert decided to keep the name as an acronym: KGS.
The recentralization of Go
In May 2005 nngs stopped working as a service. Most players had moved to KGS, by then the main Go server outside Asia. In 2006 Shubert completely rewrote the server code. Without significant updates, nngs stalled against a closed-source model that seemed to have discovered the path to sustainability without external sponsors.
No few players criticized Bill for abandoning open-source development, but he surely is right when he notes that the cause of the relative backwardness of free software for Go must be sought elsewhere:
I decided to do the premium content because I was hoping I could make KGS into a business. It was successful enough for KGS to be profitable, but just barely!
Rene Grothman makes a more in-depth analysis:
As usual, there are two reasons for lack of innovation. First, there is now a monopoly with the KGS Go server and its closed protocol. Almost everyone goes there. It simply attracts the most players and makes the most money. To compete with this you would have to build enough mass. That is very difficult. Secondly, there are now lots of nice programs to make diagrams and study games. There simply is no urgent need to write a new one.
Another reason is the decay of Java. It is still widely used, but not in the browser, where it has been incorrectly accused of being insecure. Now it is very difficult to produce a Java applet that runs on client browsers without a lot of fiddling with the security settings. So nobody is willing to invest in this technology.
Grothmann also highlights the difficulties with the new standard:
The future that is arriving
The path that Grothmann talks about is precisely the one that a new generation of fans and developers seems to be following. The success of OGS, which hosts a growing number of new tournaments, reinforces the ideas of the pioneers. But OGS, even despite being built on free software, does not seem willing to open its code, and the only way to overcome the need for large servers that the new programming paradigm entails would be to count on a new open standard installed by many user groups who would then connect with each other.
The idea is in the air. Free tools are beginning to flourish again. Machi Mizumaki launched a version of JaGo for Android in September 2014. qGo, one of the most serious attempts to build a good cross-platform, free desktop program that was abandoned in 2008, was resumed in 2013 by Pavel Zorin-Kranich. Pavel says he maintains “qGo for private use” and that it “has at most a couple hundred users.” Presumably most of them are also nngs server users, because together with JaGo his is surely the best free compatible program available today.
And the fact is that in 2012 a Japanese developer, Shigeaki Matsumura updated nngs for the first time in a long time, uploading the code to GitHub. Perhaps there is no urgency, but there is certainly demand and consensus on the next level of Go software: a free online platform with exits to both client programs and the Web, starting from the legacy of code and functionality of the first generation of software and services for the game.
What is it that motivates people like Grothman or Shubert to dedicate so much effort and even to change their career paths for Go? We asked both of them. Bill Shubert:
When I was very young my father taught me to play Go, but he was a beginner himself so we only played a few games. Later, in my early 20’s, I was browsing newgroups and stumbled across rec.games.go. “Hey, that was that game my dad taught me!,” I thought. In the newsgroup I saw a reference to the go server “IGS,” so I logged in, played a game, and was hooked!
In my youth, I played a lot of chess. I was never a master but a decent tournament player. I discovered Go in 1978 on my own from a book in the library: “Go, a Guide to the Game” by D.B. Pritchard. I talked about the game with a friend, and we visited a club in Heidelberg together to play there.
When asked about his relationship with Go, Shubert emphasizes relationships with others:
As for how it contributed to my vision of the world, learning, and social relations? Hard to say. I’ve had a lot of fun playing Go and met lots of nice people that way.
Grothmann highlights the intellectual challenge:
The attraction of Go for me as a mathematician were the simple rules, which nevertheless lead to surprising complexity. Especially, the logic of Chinese counting is astonishing.
For the beginner, it appears as if Go is a game of strategy. It looks as if the right strategical attitude is all you need. You read a lot of talk about the Eastern way of thinking versus the Western way of brute force. As I have been demonstrated by playing against stronger players, Go is also a game of tactics where a small oversight can cost the game. The masters tell you that the golden way to get stronger in the basics of the game is the study of problems. I second that. I liked solving problems.
The motivations and their relationship to the game couldn’t have been more different. Maybe the only thing they have in common is a hacker spirit of sorts, a certain way of understanding that an interesting life, one way or another, is guided by curiosity.
If that were extrapolatable in some way, it is quite possible that the new revolution of Go on the Internet, the one who will ultimately make the software that will change the overall ecosystem of the game, is reading this post now. Maybe it will be you.