lunes, 14 de abril de 2014

Goldman Sachs, unos piratas de tomo y lomo

Me salta en el RSS de Barrapunto «La triste historia del programador sentenciado a 8 años por publicar código». Resumiendo: el banco Goldman Sachs tenía contratado a un programador para hacer aplicaciones para ellos. Este programador usaba código libre en dichos proyectos. Poco antes de dejar el trabajo allí decide publicar todo el código libre que ha usado y trabajado, lo cual incluye las modificaciones para Goldman Sachs. El bufete de abogados de la empresa basura no se corta un pelo en demandar al programador y logra una condena para su empleado, pero no queda ahí la cosa.
El programador trabajaba sobre la herramienta de HFT (High Frequency Trading) de la compañía que para más inri su máxima era «Si hay una manera de hacer dinero inmediatamente, hagámoslo», cortoplacismo puro y duro, nada de inversiones que creen verdadero valor (supongo que para eso ya están las empresas de capital riesgo).
Dicha política de trabajo significaba modificaciones constantes en la aplicación lo cual significa que si no hay una buena especificación y posterior diseño el mantenimiento del mismo termina siendo imposible. Dos años empleó el hombre cuyo nombre es Serge en añadir modificaciones y más modificaciones para mantener la herramienta al día con las nuevas reglas de bolsa para que los usureros puedan hacer HFT.
Todas esas modificaciones provenían de software libre disponible abiertamente en Internet. El desarrollador preguntó a su jefe si tenía permiso para publicar sus modificaciones, a lo que éste respondió que no argumentando que no creaba propiedad intelectual, sólo un programa que hacía algo. En el juicio que se celebró el abogado de Serge mostró dos páginas de código en el que se veía el código original con licencia libre en la cabecera y una réplica del mismo con dicha licencia reemplazada por la licencia de Goldman Sachs, es decir, el banco se agenciaba los derechos del trabajo de otros.

Un día le llegó una oferta de crear una nueva plataforma de HFT desde cero en vez de ir realizando modificaciones a lo frankenstein a una ya existente (lo que estaba haciendo hasta ese momento) y la aceptó. Antes de irse tuvo que entrenar a la gente de Goldman para poder continuar arreglando el programa de HFT que allí trataban.
Durante ese tiempo se envío a sí mismo el código fuente sobre el que estaba trabajando. Los archivos contenían software libre que él había ido modificado, mezclado con código desarrollado para Goldman Sachs. Según el tipo de licencia libre, dicho código también debe ser software libre y ya no hablemos si dicho código son las modificaciones realizadas al código libre obtenido de fuera. Teniendo en cuenta que la agencia realizó cambios en el copyright de los archivos y se mostró como prueba de culpa de la agencia, me atrevería a decir que el código de Goldman que no consistía en modificaciones al código libre, también debía ser licenciado como libre. Todo ese código terminó en un repositorio subversion público (a pesar de que Sergei sabía que Goldman no se lo tomaría demasiado bien). Un acto de devolver a la comunidad lo que se había tomado de ella.

El último día de trabajo en Goldman, al salir del avión de vuelta a casa tras visitar sus nuevos empleadores, unos agentes del FBI lo detuvieron y llevaron a una sala de interrogatorio. El motivo de la detención fue el de robar código propiedad de Goldman Sachs (mentira en parte). 32 MB de código.
Durante todo el interrogatorio el agente decía cosas sin ningún sentido, repitiendo frases hechas que ni él mismo entendía. Muy parecido a lo que se estila aquí con todas las acusaciones a redes P2P y páginas de enlaces.
Al final el acusado terminó firmando una confesión que no era bien bien lo que él había dicho, manipulada. Su abogado le recomendó que no hablara durante el juicio ya que a pesar de que pudiera dar una fiel explicación de lo que realmente significaba lo que había hecho, nadie la entendería como ya le pasó con el agente del FBI que lo acusaba de cosas bastante graves como espionaje y demás.
Fue sentenciado a 8 años de prisión sin posibilidad de libertad condicional más 3 años de libertad vigilada y 12.500 dólares de multa. En la página de Wikipedia del tío se describen con mayor precisión temporal la sucesión de los eventos.

El caso es que aquí ambas partes han cometido un grave error: no respetar la licencia. Por una parte Goldman Sachs apropiándose del código fuente, cambiando el copyright (recordemos que el software libre lleva copyright sólo que se sirve de éste para garantizar derechos a sus usuarios no quitárselos, por eso se las llama también licencias copyleft).
Por otra parte el señor Serge ha publicado un código que no tenía porqué publicar. Dichas licencias hablan de que el código fuente debe estar al alcance de los usuarios (clientes) del software libre. Siendo el cliente la propia Goldman Sachs, Serge no tenía necesidad de publicar el código o añadir información de contacto para poder obtenerlo. Otra cosa distinta es si dicho software o modificaciones terminase en otras áreas de Goldman u otras empresas. Entonces tendría que establecer las vías necesarias para que esos agentes externos pudieran acceder al código fuente.
Sin embargo Goldman Sachs en mi opinión (no sé que opinará la ley estadounidense al respecto) pierde cualquier derecho a reclamar nada desde el mismo momento en el que también infringe las leyes del copyright, apropiándose de código que no es suyo.

A mí la verdad, me parece un poco irreal que el tal Serge fuera tan inocente como para colgar en un subversion dicho código, más aún cuando su jefe le había dicho que no tenía permiso para colgarlo y estaba cobrando nada menos que $400.000 al año como vicepresidente (de su departamento se entiende) en Goldman y el triple en la empresa a la que se cambió. En la explicación de los sucesos parece que dicha publicación de código la hizo por costumbre, al haber trabajado antes en numerosos proyectos libres como Erlang y CPAN. También es cierto que parece que se cambió de empresa porque el ambiente de trabajo de Goldman no era muy bueno: primaba la competitividad y premios al individuo por encima del equipo.

Un caso de secretos de empresa y software libre en el que el acusado fue liberado de prisión y de todos los cargos en las sucesivas apelaciones, pasando un total de 11 meses en prisión acabando sin esposa ni ahorros. Probablemente también lo tenga más complicado para que alguien lo contrate tras lo ocurrido. También un caso de abuso de derechos por parte de una empresa (por lo del cambio de copyright y demás) que seguramente lleve el tema de recursos informáticos como algo accesorio pero necesario (nada más y nada menos que el software que compra y vende de forma automática para su beneficio).

Aquí en España disponemos de un artículo de la LPI que reza lo siguiente:
Artículo 97. Titularidad de los derechos.
1. Será considerado autor del programa de ordenador la persona o grupo de personas naturales que lo hayan creado, o la persona jurídica que sea contemplada como titular de los derechos de autor en los casos expresamente previstos por esta Ley.
2. Cuando se trate de una obra colectiva tendrá la consideración de autor, salvo pacto en contrario, la persona natural o jurídica que la edite y divulgue bajo su nombre.
3. Los derechos de autor sobre un programa de ordenador que sea resultado unitario de la colaboración entre varios autores serán propiedad común y corresponderán a todos éstos en la proporción que determinen.
4. Cuando un trabajador asalariado cree un programa de ordenador, en el ejercicio de las funciones que le han sido confiadas o siguiendo las instrucciones de su empresario, la titularidad de los derechos de explotación correspondientes al programa de ordenador así creado, tanto el programa fuente como el programa objeto, corresponderán, exclusivamente, al empresario, salvo pacto en contrario.
5. La protección se concederá a todas las personas naturales y jurídicas que cumplan los requisitos establecidos en esta Ley para la protección de los derechos de autor.
De haber ocurrido en nuestro país el acusado podría haberse librado de todo problema ya que quería colgar ese código, si hubiera publicado sólo el código fuente libre original separando sus modificaciones debidamente que como mucho quedarían definidas para poder usarse pero no estaría todo el código mezclado, algo que en el texto enlazado al inicio de esta entrada se denota como parte de las intenciones del programador pero que al final parece no llevó a cabo.

No hay comentarios:

Publicar un comentario