LasIndias.blog

Conquistar el trabajo es reconquistar la vida

Grupo de Cooperativas de las Indias

videoblog

libros

Cuando el Go se mudó a Internet

Una historia breve, basada en entrevistas a los protagonistas, de cómo el Go llegó a Internet y cómo Internet cambió para siempre el mundo del Go.

tenge

Hoy en día el Go es, antes que ninguna otra cosa, un juego de Internet. Nunca se jugaron tantas partidas cada día en tantos lugares de todo el mundo. Aunque todos los jugadores federados o miembros de algún club europeo jugaran un torneo al mismo tiempo, no se llegaría a cifras como las que, un día cualquiera, arrojan los principales servidores de partidas.

KGS-TakemiyaEsta virtualización masiva de una práctica social milenaria no fue el producto de grandes empresas de Internet. De hecho, algunas, como Yahoo!, lo intentaron y fracasaron estrepitosamente. El Go resistió a la recentralización de Google, Facebook y demás, por sí mismo. Dio pie a un ecosistema en el que conviven una docena de grandes servidores -que son en su mayoría PYMEs especializadas- con cientos de pequeños servidores comunitarios en los que se dan clases y se comparten juegos diariamente. No cabe duda de que en Occidente el fondo cultural que lo liga a los ambientes libertarios y tecnológicos jugó un rol importante en este proceso, pero como todos los procesos complejos, como en una partida de Go, el resultado no fue el producto de la planificación de una sola mente visionaria o una empresa poderosa, sino de la interacción entre muchos individuos buscando crear sus propios espacios y libertades.

El nacimiento de un ecosistema

igs-estilo-telnetA finales de los ochenta empiezan ya a aparecer jugadores que usan las herramientas de la época, básicamente telnet, para jugar entre sí sobre aquellas pantallas de fósforo verde de las bibliotecas universitarias de la época. Estamos lejos de los tableros virtuales a los que hoy estamos acostumbrados, pero el impulso es fuerte. En 1992 un grupo de voluntarios de la Universidad de Nuevo México crea el primer servidor de partidas: IGS («Internet Go Server»). El protocolo es todavía muy sencillo, Internet es joven, todavía ni siquiera existe la WWW y la lógica de comunicación sigue reposando sobre la transmisión de texto. Rene Grothmann, por entonces un joven estudiante de matemáticas en Baviera, nos cuenta:

Antes de que empezara con JaGo (sobre 1993), usaba Telnet en modo texto con una representación ASCII del tablero. Puedes encontrar trazas del protocolo Telnet en IGS. De hecho, uno de los principales obstáculos al escribir JaGo fue descifrar mensajes de texto y convertirlos en posiciones de Go, movimientos, solicitudes de partidas y otro tipo de datos que se transmiten en el juego.

jagoPronto aparecerán las primeras instalaciones de IGS en Europa (en el Instituto Pasteur) y los problemas de mantener una infraestructura, entonces muy cara, de hardware y conexiones. Mientras, JaGo, desarrollado en java, se convierte en el primer cliente gráfico de amplio uso y en uno de los vectores principales de innovación y expansión online del juego. Su creador nos cuenta:

Uno de mis principales objetivos era ver un tablero bonito. Para eso usé un método similar al «raytracing» para diseñar las piedras con brillos y sombras. La estructura de madera del tablero es una función matemática. Otro objetivo era ser capaz de editar juegos con variaciones. Otras metas llegaron después, por ejemplo, era obvio para mi que debía usar XML para almacenar el registro de las partidas. Así que JaGo tuvo el primer programa de Go basado en XML más allá del omnipresente SGF. JaGo tiene un protocolo punto a punto que todavía parece moderno hoy: puede construir una red de jugadores sin conectarse a ningún servidor. La posibilidad de jugar contra el ordenador vía GnuGo y su «Go Modem Protocol» fue añadida después.

nngsMientras, en 1995 una empresa coreana comprará la red IGS haciéndose cargo de los costes, y en 1997 una empresa de comunicación japonesa comenzará la venta de suscripciones en Japón. La entrada masiva de jugadores asiáticos permitirá redefinir el tosco modelo de negocio original y finalmente la red de servidores IGS se convertirá en PandaNet, localizando sus máquinas en Tokio. Está naciendo un modelo de negocio basado en servicios virtuales para los jugadores. El más importante de ellos: darles oportunidad de jugar entre sí.

Inmediatamente surge competencia. Todavía en 1997 aparece «No Name Go Server», un «club internacional» de jugadores que libera el código de su servidor creando el primer estándar libre (que sigue utilizando telnet como protocolo de transmisión).

Un joven ingeniero de Intel, Bill Shubert, adapta para la ocasión CGoban 1, un programa cliente para IGS que ha creado como software libre y que todavía aparece por defecto en la mayoría de distribuciones de Linux.
bill shubert

La primera versión de CGoban era un cliente para IGS y -después- para NNGS (que era un competidor de IGS). Mi problema era que en realidad yo quería añadir opciones a CGoban que solo podían ofrecerse en colaboración con el servidor, lo que no iba a ocurrir, así que lo abandoné y escribí mi propio servidor. Originalmente se llamó «VGO» (Virtual Go Server).

El 30 de abril de 2000, un mensaje en el newsgroup rec.games.go anuncia la puesta en marcha de IgoWeb, una nueva alternativa tanto a IGS como a Cosmic, el primer servidor público nngs.

Poco después escribí a Olaf -nos cuenta Bill Shubert- un amigo mío que estaba en Japón, donde había conocido a Richard Bozulich; éste buscaba un servidor de Go que pudiera usar para promocionar su propio negocio, así que Olaf le enseñó VGO. Le gustó, hicimos un acuerdo, y VGO se convirtió en «Kiseido Go Server».

La empresa de Bozulich, Kiseido, era entonces la principal editorial en inglés sobre Go y patrocinó el servidor hasta 2006. Durante esos años el servidor se había hecho tan popular que Shubert decidió mantener como nombre el acrónimo: KGS.

La recentralización del Go

cgobanEn mayo de 2005 nngs dejó de funcionar como servicio. La mayoría de jugadores se habían mudado a KGS, convertido ya por entonces en el principal servidor de Go fuera de Asia. En 2006 Shubert reescribió completamente el código del servidor. Prácticamente sin actualizaciones, nngs quedó estancado frente a un modelo de código cerrado que parecía haber descubierto el camino de la sostenibilidad sin necesidad de patrocinadores externos.

No pocos jugadores reprochan a Bill haber abandonado los desarrollos libres, pero seguramente lleva razón cuando apunta que el atraso relativo del software libre para Go hay que buscarlo en otro lado:

Me decidí a hacer contenido premium porque tenía la esperanza de convertir KGS en un negocio. Fue ya todo un éxito para KGS convertirse en rentable, ¡aunque fuera por los pelos!

rene grothmannRene Grothmann hace un análisis más completo.

Como casi siempre, hay dos razones para la falta de innovación. La primera es que el servidor KGS y su protocolo cerrado conforman ahora un monopolio. Casi todo el mundo va allí. Simplemente atrae a la mayoría de los jugadores y la mayoría del dinero. Para competir con él habría que crear una masa suficiente de usuarios. Y eso es muy difícil. Además hay ahora muchísimos programas estupendos para hacer diagramas y estudiar partidas. Así que no hay una necesidad urgente.

Otra razón es la decadencia de Java. Todavía se usa mucho, pero no en el navegador, donde ha sido erróneamente acusado de ser inseguro. Ahora es muy difícil hacer un applet de Java que corra en el navegador cliente sin tener que trastear demasiado en la configuración de seguridad. Así que nadie quiere invertir en esta tecnología.

Un argumento con el que concuerda Shubert:

En el futuro veo el cliente java [de KGS] desapareciendo, reemplazado por uno sobre HTML. He hecho bastante en ese sentido, pero se necesita más. Oracle ha hecho todo lo que ha podido por acabar con Java como plataforma cliente, así que me he rendido y no haré más trabajo real en esa dirección; HTML+Javascritp, aunque en muchos sentidos es una plataforma horrenda, al menos está bien apoyada y prospera, así que -junto con los clientes para Android- es la dirección en la que necesito avanzar.

Grothmann también apunta a las dificultades del nuevo estándar:

Es muy difícil hacer en JavaScript lo que JaGo puede hacer. Pero el otro sistema que podría competir, Flash, está muerto también. La nueva forma de hacer cosas como JaGo sería un servicio web en el que solo la representación del tablero estaría hecha con JavaScript. Pero eso requeriría mucho poder del lado del servidor. Ni siquiera KGS lo hizo.

El futuro que está llegando

qgoEl camino que apunta Grothmann es precisamente el que parece seguir una nueva generación de aficionados y desarrolladores. El éxito de OGS, que alberga cada vez más torneos de nuevo tipo, refuerza las ideas de los pioneros. Pero OGS, aun a pesar de estar construido sobre software libre, no parece dispuesto a abrir su código, y la única manera de superar la necesidad de grandes servidores que apunta el nuevo paradigma de programación del Go sería contar con un nuevo estándar libre que instalaran muchos grupos de usuarios y luego conectaran entre sí.

La idea está en el aire. Las herramientas libres empiezan a reverdecer de nuevo. Machi Mizumaki lanzó en septiembre de 2014 una versión de JaGo para Android. qGo, uno de los intentos más serios de hacer un buen programa libre y multiplataforma para escritorio, que había sido abandonado en 2008, fue retomado en 2013 por Pavel Zorin-Kranich. Pavel asegura que mantiene «qGo para su uso particular» y que en realidad solo «tiene como mucho un par de cientos de usuarios». Cabe pensar que la mayoría de ellos lo son también de servidores nngs, pues con JaGo seguramente el suyo sea el mejor programa libre disponible compatible a día de hoy.

torneo-mx-clY el caso es que en 2012 otro desarrollador japonés, Shigeaki Matsumura actualizó por primera vez en mucho tiempo nngs, subiendo el código a github. Tal vez no haya urgencia, pero ciertamente hay demanda y consenso sobre el siguiente nivel en el software para Go: una plataforma online libre con salida tanto a programas cliente como a web, partiendo de todo el legado de código y funcionalidades de la primera generación de software y servicios para el juego.

Apéndice

¿Qué es lo que mueve a personas como Grothmann o Shubert a dedicar tantos esfuerzos e incluso cambiar el rumbo profesional de sus vidas por el Go? Le preguntamos a ambos. Bill Shubert:

Cuando era muy pequeño mi padre me enseñó a jugar al Go, pero él mismo era un principiante y solo jugamos unas cuantas partidas. Más tarde, cuando ya tenía veintitantos, estaba navegando grupos de noticias cuando tropecé con rec.games.go. «¡Ey! ¡Esto es lo que mi padré me enseñó!», pensé. En el grupo de noticias vi una referencia al servidor de go «IGS», así que me logueé, jugué una partida y… ¡me enganché!

pritchardRene Grothmann se remonta al tormentoso 78 alemán:

En mi juventud jugué mucho al ajedrez. Nunca fui un maestro pero llegué a ser un jugador digno de torneos. Descubrí el Go en 1978 por mi propia cuenta gracias a un libro de la biblioteca: «Go, una guía de juego» de D.B. Pritchard. Hablé sobre el juego con un amigo y visitamos un club en Heildelberg juntos para jugar allí.

Preguntados por su relación con el Go, Shubert apunta a las relaciones con otros:

Es difícil decir cómo contribuyó a mi visión del mundo, el aprendizaje y las relaciones sociales. Me he divertido mucho jugando al Go y he conocido muchísima gente maja así.

Grothmann apunta al reto intelectual:

La atracción por el Go para mi, como matemático, nacía de sus reglas sencillas que conducían a una sorprendente complejidad. En especial la lógica del recuento chino es sorprendente. (…) Para el principiante, el Go parece un juego de estrategia. Parece como si todo lo que necesitaras es una actitud estratégica correcta. Lees muchísima cháchara sobre la forma oriental de pensar en oposición a la fuerza bruta occidental. Pero como me demostró jugar con jugadores más fuertes, Go es también un juego de tácticas en el que un pequeño descuido puede costarte la partida. Los maestros te dirán que la forma ideal de ganar fortaleza en los principios del juego es hacer problemas. Lo secundo. Me gusta resolver problemas.

Los móviles y la relación con el juego no podrían ser más distintas entre los dos. Tal vez solo les una un cierto espíritu hacker, una cierta forma de entender que una vida interesante, de un modo u otro, se deja guiar por la curiosidad.

Si eso fuera de algún modo extrapolable, es muy posible que el nuevo revolucionario del Go en Internet, aquel que finalmente hará el software que cambie el ecosistema global del juego, esté leyendo este post ahora. Es muy posible que seas .

«Cuando el Go se mudó a Internet» recibió 10 desde que se publicó el jueves 30 de octubre de 2014 dentro de la serie «» . Si te ha gustado este post quizá te gusten otros posts escritos por David de Ugarte.

Deja un comentario

Si no tienes todavía usuario puedes crear uno, que te servirá para comentar en todos los blogs de la red indiana en la
página de registro de Matríz.