Las reglas del juego del software libre – Introducción

Aquellos que me conocen saben que soy aficionado a un juego de origen chino, llamado Weiqi (围棋); y del que hay mucha afición en Asia. No voy a hablar de este juego ahora, aunque sí haré una entrada futura sobre él.

Ser un jugador de Weiqi en Málaga es muy complicado, especialmente porque hay muy pocos jugadores, a la mayor parte de ellos les he enseñado yo, y esto hace complicado encontrar gente nueva para jugar. Por ello, aprovecho todo jugador potencial para echarle unas partidas.

Hace unos años, de visita en casa de una amiga japonesa que vive en Málaga, le propuse echar una partida. En Japón, llaman go (囲碁) a este juego. También era popular en Japón, donde tubo mucha aceptación en al época feudal, y entre los militares por su profundidad estratégica. Desgraciadamente, en Japón hoy en día es un juego que practican ancianos, y gente muy culta; y mi amiga sabía jugar apenas al 将棋 -shogi-, un juego que culturalmente es como nuestras damas: juego familiar, que juegan los niños con las madres…

Mi amiga, -y ahora adversaria-, me preguntó si sabía jugar. Yo recordaba las reglas de haberlas leído hace tiempo, pero no había jugado nunca una partida real contra nadie. Le pregunté los distintos movimientos de las piezas, y ella me refrescó la memoria respecto a dichos movimientos.

La estructura de la partida parecía similar a la del ajedrez -distintas fichas con distintos movimientos, y un rey que capturar-, por lo que confié en la transferibilidad de mis conocimientos en ajedrez. Es cierto que no soy bueno en ajedrez -es un juego que no me ha llamado la atención nunca-, pero si he jugado algo y conocía algunos trucos.

Comenzamos. Pronto noté que me estaba haciendo con el juego. Parecía que valían las mismas tretas: le hice a mi adversaria un doble ataque por descubierta, y poco después una clavada. Noté como mi contendiente o se estaba comenzando a sentir incómoda o se le estaban durmiendo las piernas en seiza (正座). Esto es muy poco probable, teniendo en cuenta que es una buena japonesa tradicional.

En este punto, comencé a envalentornarme. Ya tenía seguridad que mis habilidades eran completamente transferibles. Comencé a planificar tácticas de ataque.

La partida seguía su curso, y vi como mi adversaria hizo algunas jugadas que me parecieron no tener sentido. Finalmente, hizo un cambio de calidades realmente estúpido, cambiandome un 飛車 -hisha, que se comporta como una torre de ajedrez-, por un 香車 -kyosha, que solamente se puede mover hacia delante-. Noté que ponía una sonrisa de oreja a oreja -algo extraño en un japonés, que no son precisamente expresivos-; pero yo seguí a mi ritmo. Ella tenía pocas piezas, y mal situadas.

Ella movió su 角行 -kakugyo, que se mueve como un alfil-, amenazando a mi 王将 -osho, el rey-. 王手!, dijo mi adversaria -puede ser traducido como “jaque”. Vale, estaba pensado. Está lejos. Puedo protejer el osho. Muevo el 金将, interponiendolo entre el 角行 y mi 王将. Sonrío. Pero ella sonríe más. Coge el 香車 que me había capturado, lo pone en el tablero y dice “王手詰み!”: literalmente, “jaque mate”. Ha ganado.

En estos momentos se te pone cara de tonto. Y, aunque me tengo por jugador deportivo -cualquiera que me ha visto recibir paliza tras paliza en los torneos nacionales de weiqi puede atestiguarlo-, lo de tomar una ficha y ponerla en el tablero era demasiado fuerte como para no poner cara de estar viendo extraterrestres.

Los europeos somos mucho más transparentes en nuestras expresiones faciales que los japoneses, por lo que ella se percató con facilidad de mi estado mental. Entonces me explicó que aquello de poner fichas en el tablero era una jugada legal.

En esos momentos resumí mentalmente la situación: había luchado desde el principio con posibilidades de ganar, mi posicionamiento táctico era bueno, y mi mayor experiencia con este tipo de juegos me había permitido controlar la partida. Además, me faltaban pocas jugadas para ganar. Y era inevitable haber ganado…

…si las reglas del juego hubiesen sido las que yo creía. El error había sido enteramente mio: recordaba vagamente las reglas, pero no las conocía bien. Particularmente, no conocía la de volver a poner en el tablero las fichas capturadas. No tenía experiencia real en partidas
al shogi, por lo que había confiado plenamente en la transferibilidad de mis conocimientos de ajedrez. Debía haber repasado todas las reglas con mi invitada, en lugar de dar por supuesto que sabía jugar por haber leído algo sobre el juego hace tiempo, y apenas conferir que recordaba los movimientos de las distintas piezas.

La conversación posterior con ella me permitió descubrir lo que había pasado, y la diferencia con lo que yo estaba creyendo que pasaba.

Al comenzar la partida, mi invitada, ya adversaria mía, se encontró con la desagradable sorpresa que hacía cosas no predecibles para un 外人 -gaijín, un no japonés-. No es que los japoneses sean racistas; sino que son plenamente conscientes que son raros -�?��?��?��?�る, creo que es el término que emplearían los propios japoneses-, y que nuestras costumbres son muy distintas; por lo que aceptan y perdonan nuestra (mala) educación y nuestro aparente escaso やる気. De hecho, le sorprendió que un gaijín jugase a mi nivel al shogi.

A lo largo de la partida, mi adversaria se vio en varias situaciones complicadas. Pero lo que más le incomodaba es que, jugando al nivel que yo jugaba, no remataba la faena poniendo piezas entre las capturadas cuando podía ya haber terminado la partida ganando; por el contrario, veía como yo coleccionaba las piezas. En determinados juegos -como el weiqi o el propio shogi-, eso es una muestra de recochineo. Sin embargo, conociendome y viendo como iba el percal, sumó: gaijín, no ha jugado nunca, recuerda las reglas de haberlas leído hace tiempo… ya conocía mi vulnerabilidad: me autoimponía algunas limitaciones importantes que suponían un handicap demasiado grande por el hecho de no conocer adecuadamente las reglas del juego y haber supuesto una transferibilidad total de mis conocimientos de ajedrez.

Aquí ella desarrolló su táctica: muy consciente de lo que hacía, acorraló al osho de una forma que nadie que conociese el juego aceptaría -pero que yo, desconocedor de una regla clave, encontraba inofensiva-, hizo un cambio de calidades que nadie en su sano juicio, conociendo las reglas, haría. Y ganó.

Vale, ¿Y que tiene que ver esto con el título del post?

Todo.

El software libre y el software privativo, para el que no sepa las reglas de estos juegos, son dos juegos muy similares. Los dos se basan, aparentemente, en sentarse delante de un ordenador y escribir miles de líneas de código; y luego ganar dinero de este código.

En principio, el software privativo gana dinero de la venta de las licencias del código, del soporte de uso, de desarrollo a medida, de personalización, y de consultoría sobre el código generado. Cada empresa de software privativo ha desarrollado un modelo de negocio basado en uno o varios de estos elementos.

Ahora que el software libre se está poniendo de moda, muchas personas piensan que el software libre es como el software privativo, con la única diferencia que no se gana dinero con la venta de licencias de uso, pero que se gana dinero con todo lo demás. Y presuponen que toda la habilidad buscando las personas adecuadas -recursos humanos-, programando, coordinando equipos y dirigiendo empresas es transferible del software privativo sin adaptaciones. Y esto es un error muy grande.

El software libre nos permite tomar cualquier pieza de código que ya sea software libre, por grande que sea el código, e incorporarla a nuestro código. E incorporar cualquier trozo de código bueno disponible en el “corpus” de software ya liberado. Esto significa que si dos programadores igual de buenos comienzan a desarrollar un proyecto desde cero, uno hace un desarrollo de software privativo y otro hace un desarrollo de software libre, ¿quien tendrá el código mejor, de más calidad y antes?

Respuesta: el de software libre. Simplemente, porque el software libre puede tomar muchos módulos de otros proyectos desarrollados por terceros, e incorporarlos. No necesita programar desde cero el mejor algoritmo que haga la tarea “X”; sino que lo toma de otro proyecto, y lo incorpora a su proyecto. Esto le permite ganar mucho tiempo por no necesitar reinventar la rueda: termina antes, y tiene más tiempo para aumentar la calidad final. Y hay millones de líneas de software libre, muchas de gran calidad, esperando para ser reaprovechadas. En el mundo científico ya sabían esto; como decía Newton: “Si he llegado a ver más lejos que otros, es porque me subí a hombros de gigantes”

Si vieramos el “hacer el programa” como “andar por un camino” veríamos como el software libre se “teletrasporta” hacia adelante cada vez que aprovecha código de otros proyectos. Es injusto tomar atajos en una carrera, y más teletransportarse. Pero es que ahí está el problema: las reglas de juego no son la mismas. Del mismo modo que en mi partida yo pensaba en las reglas del ajedrez, y mi adversaria pensaba en las reglas del shogi, aquí el software privativo piensa con sus reglas, y el software libre, piensa con las suyas.

En el software privativo está explícitamente prohibido emplear código de otros. No es legal. El único código que podemos reaprovechar es el ya desarrollado por la propia compañía. Las empresas de software deben hiperespecializarse si son pequeñas, o ser tremendamente grandes, si quieren ser competitivas. Es imprescindible la mano de obra barata: surgen las software factories en las regiones subdesarrolladas en las que la hora de programador tienen costes ridículos, aprovechando la desesperación de los programadores ante la tesitura de que no hay industria local fuerte que pague buenos salarios. Este es un escenario lose-lose para las pequeñas empresas y los trabajadores donde solamente ganan los directivos y accionistas de las multinacionales del software y de las software-factories, versiones modernas informatizadas de los telares del siglo XIX.

El problema es que hay una regla del juego que no pueden emplear: tomar código libre. Este es el lastre del software privativo, y lo que lo hace ineficiente. En el software privativo, hay que reinventar constantemente la rueda. El software libre puede “poner fichas ya capturadas”. Lo que en ajedrez es trampa, en Shogi es legal. Lo que en software privativo es ilegal, en software libre no lo es.

Salvo que por presiones legales, de monopolios o de patentes irracionales el software privativo consiga abortar la partida, el software libre la va a ganar. Es una innovación disruptiva que permite acelerar los procesos de desarrollo y mejorar la calidad. Esta nueva regla de reaprovechado ilimitado de código de otros proyectos externos hace no transferibles muchas de las habilidades propias del software privativo, y fuerza a cambiar muchas estrategias y actitudes.

A lo largo de una serie de posts vamos a ver como será necesario cambiar estrategias y actitudes para poder sobrevivir en un nuevo mercado en el que algunos pueden reciclar miles de líneas de código y ahorrar ingentes cantidades de tiempo de desarrollo. La próxima entrada sobre este tema, búsqueda y selección de personal en empresas de software libre. No se la pierdan.

Technorati tags: , ,

3 pensamientos en “Las reglas del juego del software libre – Introducción

  1. Hola,

    ¿Sabrías dónde puedo encontrar tiendas en Málaga que vendan ese tipo de juegos (go, shogi)? Buscando en internet, he terminado en tu blog, y al leer tu entrada, me he animado a hacer la pregunta.

    Gracias por todo y perdona la molestia.

    Saludos

  2. En Málaga, desgraciadamente no.

    Yo compraba en un corredor en Madrid, debajo de Plaza España, ya cerrado.

    También es posible comprar por Internet; tienes varias: Samarkand, Yutopian, o Schachversand ; entre otros muchos y eliminando a los proveedores orientales -que son la mayoría-.

    Lo más recomendable es que emplees google, y busques o por la fonética china -weiqi- o por la coreana -baduk-. Encontrarás seguro tableros.

    Un saludo.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>