{"id":530,"date":"2013-06-04T09:50:04","date_gmt":"2013-06-04T08:50:04","guid":{"rendered":"http:\/\/www.retrobits.es\/?p=530"},"modified":"2013-06-04T09:50:04","modified_gmt":"2013-06-04T08:50:04","slug":"el-dia-que-atari-violo-la-licencia-gpl","status":"publish","type":"post","link":"https:\/\/retrobits.es\/?p=530","title":{"rendered":"El d\u00eda que Atari viol\u00f3 la licencia GPL"},"content":{"rendered":"<p><a href=\"https:\/\/www.retrobits.es\/wp-content\/uploads\/2022\/10\/uploads_2013_06_GPL.jpg\"><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-629 aligncenter\" alt=\"GPL\" src=\"https:\/\/www.retrobits.es\/wp-content\/uploads\/2022\/10\/uploads_2013_06_GPL-300x176.jpg\" width=\"300\" height=\"176\" \/><\/a><\/p>\n<p>No pasar\u00eda de una mera an\u00e9cdota si no fuera porque la liaron bien gorda. Todos conocemos a Atari, la otrora empresa de videojuegos l\u00edder del sector que hoy es casi una mera distribuidora de videojuegos para m\u00f3viles (y que den gracias, que el anuncio de bancarrota de principios de a\u00f1o lo siguen arrastrando&#8230;). Seguramente no sea esta la raz\u00f3n de sus malos tiempos, pero s\u00ed que les ayud\u00f3 a llegar a donde est\u00e1n hoy. Esto ocurri\u00f3 hace unos 4 a\u00f1os, pero siempre est\u00e1 bien recordar que no todo es gratis en internet.<\/p>\n<h1>Pre\u00e1mbulo<\/h1>\n<p>Hace un tiempo, all\u00e1 por 1999, Atari (bueno, Infogrames por aquella \u00e9poca) compr\u00f3 la empresa \u201cHumongous Entertainment\u201d, creadora de algunos juegos tipo \u201caventuras gr\u00e1ficas\u201d para ni\u00f1os. Esa empresa era responsable de juegos como \u201cFreddi fish\u201d, \u201cSPY Fox\u201d o \u201cPajama Sam\u201d, y en 2009 Atari decidi\u00f3 \u00a0reeditarlos para Wii. No pasar\u00eda de ser un \u201cport\u201d m\u00e1s de otros tantos, si no fuera porque las cosas no se hicieron bien. Es m\u00e1s, todo lo que se pudo hacer mal se hizo.<\/p>\n<p>Los juegos llegaron a las tiendas, y gracias a algunas herramientas algunos curiosos pudieron \u00a0sacar el ejecutable de dentro del DVD. La sorpresa fue que se encontraron con c\u00f3digo perteneciente al proyecto \u201cScummVM\u201d, conocido por muchos de nosotros por emular gran parte de las aventuras gr\u00e1ficas de anta\u00f1o, entre las que se encuentran los juegos indicados al inicio. Ya est\u00e1 mal coger algo sin avisar, pero en este caso es c\u00f3digo que est\u00e1 bajo licencia GPL (ojo, ser\u00e1 gratis, pero no puedes hacer lo que te de la gana), que choca \u00a0con las licencias de Nintendo (bueno, se da de hostias con ella). Para los que quer\u00e1is ver el art\u00edculo original, aqu\u00ed ten\u00e9is el enlace al blog de Sev, uno de los componentes de ScummVM:<\/p>\n<p><a href=\"http:\/\/web.archive.org\/web\/20110101185325\/http:\/\/sev-notes.blogspot.com\/2009\/06\/gpl-scummvm-and-violations.html\">Blog de Sev<\/a><\/p>\n<p>Como dijo descartes vayamos por partes:<\/p>\n<h1>\u00bfQu\u00e9 es la GPL?<\/h1>\n<p>Esta parte va para los que nunca hayan o\u00eddo hablar de licencias GPL (y algunos estudiantes de publicidad a los que les cay\u00f3 en el examen y suspendieron&#8230;.). Seguramente hay\u00e1is o\u00eddo de ella al mirar alg\u00fan readme de emuladores o si est\u00e1is metidos en el mundillo de Linux. La GNU GPL (GNU General Public License , o Licencia P\u00fablica General de GNU ), es una licencia que se cre\u00f3 para proteger los derechos de libre distribuci\u00f3n, modificaci\u00f3n y uso del software libre. \u00a0A grandes rasgos, la licencia GPL protege los derechos anteriores de la siguiente manera:<\/p>\n<p>&#8211; Obliga a que cualquier proyecto basado en un c\u00f3digo existente bajo la licencia GPL, sea a su vez GPL<br \/>\n&#8211; Obliga a distribuir el c\u00f3digo fuente modificado junto con el binario (bueno, aqu\u00ed hay varias opciones, la idea es que est\u00e9 disponible de alguna forma)<br \/>\n&#8211; Obliga a mantener la lista de todos los que han participado en el proyecto hasta ese momento. Es decir, si modificas algo y creas una nueva versi\u00f3n, deben aparecer los anteriores participantes.<\/p>\n<p>Eso es un resumen centrado para licencias software, podr\u00e9is encontrar variantes dirigidas a documentos, hardware&#8230; A grandes rasgos, la idea de la GPL es compartir y mantener la lista de los participantes de un proyecto, protegiendo sus derechos como autores.\u00a0No he puesto todo, ya que algunas partes dependen de la versi\u00f3n de GPL que estemos tratando, y que la licencia es un poco larga. En este caso, ScummVM est\u00e1 bajo la GPLv2, aqu\u00ed ten\u00e9is el enlace a la licencia que viene junto con \u00e9l:<\/p>\n<p><a href=\"http:\/\/web.archive.org\/web\/20110101185325\/http:\/\/scummvm.svn.sourceforge.net\/viewvc\/scummvm\/scummvm\/tags\/release-0-13-1\/COPYING\">Licencia<\/a><\/p>\n<h1>\u00bfQu\u00e9 hizo Atari?<\/h1>\n<p>Atari contrat\u00f3 a Majesco Entertainment, para que creara el port de su juego original. Majesco Entertainment, a su vez subcontrat\u00f3 a la empresa Mistic Soft, que fue la que hizo el trabajo final. Bueno, no exactamente. A ellos les suministraron el c\u00f3digo fuente de los juegos originales, gr\u00e1ficos, etc\u2026 para que pudieran reproducir su trabajo sobre wii. Sin embargo ellos prefirieron tomar otro rumbo.<\/p>\n<p>La Wii lleva un procesador PowerPc, y eso suele dar problemas a la hora de portar c\u00f3digo de PC (normalmente X86). Seg\u00fan parece, el int\u00e9rprete original podr\u00eda tener problemas con eso, as\u00ed que en vez de lidiar y resolver los problemas (hacer el port del juego, que era lo que les estaban pidiendo) decidieron que era m\u00e1s f\u00e1cil coger el c\u00f3digo de ScummVM (funciona perfectamente en powerpc). Hacer eso es relativamente m\u00e1s f\u00e1cil, teniendo en cuenta que:<\/p>\n<p>&#8211; Ya hay un port de ScummVM para wii<br \/>\n&#8211; El c\u00f3digo de ScummVM es bastante f\u00e1cil de configurar para otras plataformas<br \/>\n&#8211; Ellos contaban con el SDK de Nintendo<br \/>\n&#8211; Se les estaba pagando para ese trabajo, as\u00ed que le pod\u00edan dar una dedicaci\u00f3n a tiempo completo<\/p>\n<p>Seg\u00fan Sev les deber\u00eda haber llevado 2 semanas si le dedicaban todo el tiempo a eso.<\/p>\n<h1>\u00bfC\u00f3mo los descubrieron?<\/h1>\n<p>Como ya os he comentado, es posible sacar el ejecutable de un juego de Wii, as\u00ed que algunos desarrolladores curiosos decidieron ver qu\u00e9 hab\u00eda en ese ejecutable. La sorpresa fue que se encontraron muchas partes del c\u00f3digo de ScummVM. La verdad es que demostrar que un c\u00f3digo ha sido robado es una tarea dif\u00edcil. Tened en cuenta que lo m\u00e1s normal es encontrarse con \u201cc\u00f3digo m\u00e1quina\u201d dentro del ejecutable. Para que lo ve\u00e1is m\u00e1s claro, os pongo los pasos para crear el ejecutable:<\/p>\n<p>&#8211; Primero los programadores escriben el c\u00f3digo fuente del programa en cuesti\u00f3n. Ese c\u00f3digo es una serie de l\u00edneas de texto escritas en el lenguaje de programaci\u00f3n que se desee usar (en este caso C o C++).<\/p>\n<p>&#8211; Despu\u00e9s se traduce a c\u00f3digo m\u00e1quina. Ese paso se llama \u201ccompilar el c\u00f3digo\u201d, y se usa un programa llamado compilador. Ese compilador es el encargado de leer una linea de texto del programa escrito por el programador, y traducirlo al \u201cidioma\u201d que hablan las m\u00e1quinas. Ese idioma consiste en una serie de instrucciones del lenguaje ensamblador (el de m\u00e1s bajo nivel para la m\u00e1quina) ya traducidas al c\u00f3digo que use el procesador en cuesti\u00f3n. Si no lo hab\u00e9is entendido, dejadlo en que est\u00e1 en c\u00f3digo binario.<\/p>\n<p>Se puede recuperar el c\u00f3digo fuente original en texto (m\u00e1s o menos) usando desensambladores. Esos programas se encargan de coger el c\u00f3digo m\u00e1quina y traducirlo a c\u00f3digo ensamblador, algo m\u00e1s o menos entendible por el ser humano. Eso permitir\u00eda averiguar si un c\u00f3digo est\u00e1 basado en otro anterior. Cuando se pusieron manos a la obra, encontraron suficientes pruebas:<\/p>\n<p>&#8211; Cadenas de texto haciendo referencia al equipo ScummVM (que curiosamente estaba vac\u00edo)<br \/>\n&#8211; Cadenas de texto de debug, que hac\u00edan referencia a miembros del equipo de ScummVM. En concreto \u201cThis might be broken \u2014 please report where you encountered this to Fingolfin\u201d (Esto puede estar roto, por favor dile a Fingolfin donde lo encontraste), o \u201cTell sev how to reproduce it\u201d (Dile a Sev como reproducirlo).<\/p>\n<p>Adem\u00e1s, encontraron un bug que pertenece a las versiones 0.9.0 de ScummVM (las actuales lo tienen arreglado), en las que se puede ver una mancha en el ojo del pez Freddi en una de las escenas del juego. Con todo esto ten\u00edan pruebas suficientes para demostrar que hab\u00edan usado su c\u00f3digo fuente, y que adem\u00e1s no hab\u00edan sido muy cuidadosos para ocultarlo.<\/p>\n<h1>Medidas legales<\/h1>\n<p>Esto lo pod\u00e9is encontrar en el blog de Sev, aqu\u00ed os pongo un resumen. Primeramente el grupo de ScummVM se puso en contacto con sus abogados, y luego le mand\u00f3 una carta a Atari-Alemania para ponerles en conocimiento de los hechos. La respuesta de Atari no fue demasiado buena, al principio\u00a0lo negaron todo, seguramente debido a que ni se dar\u00edan cuenta. Los que de verdad trabajaron con el juego fueron los del equipo de Mistic Soft, as\u00ed que las v\u00edas intermedias hasta llegar a atari \u00fanicamente se dedicaron a testear si el juego funcionaba y ver si habr\u00eda alg\u00fan error grave.<\/p>\n<p>Atari pensaba que les iban a demandar por violaci\u00f3n de derechos de autor, lo que significar\u00eda desembolsar una gran suma de dinero. Lo cierto es que el equipo de ScummVM solo quer\u00eda que se les reconociera su trabajo, y que a\u00f1adieran lo necesario para cumplir la GPL (publicar c\u00f3digo fuente, logos de GPL, logos de ScummVM, reconocimiento de los colaboradores que hubieran participado \u2026). Aunque se trate de software libre, no hay nada que impida que se venda (ScummVM ya se vende de forma legal a trav\u00e9s de p\u00e1ginas de descarga de juegos antiguos, como gog.com). En ese momento, las cosas se relajaron, ya que parec\u00eda que para Atari esa era una soluci\u00f3n f\u00e1cil y r\u00e1pida\u2026 hasta que se encontraron con una de las normas de las licencias de uso del SDK de Nintendo:<\/p>\n<ul>\n<li>Prohibido usar c\u00f3digo c\u00f3digo libre junto con su software. Es decir, que si aceptaban el acuerdo anterior, dar\u00edan la voz de alarma en Nintendo, donde s\u00ed que les podr\u00edan sacar bastante dinero.<\/li>\n<\/ul>\n<p>Atari estaba vendida, y el siguiente paso fue hacer chantaje \u00a0al equipo de ScummVM. La parte de ScummVM que se encarga de hacer funcionar los juegos de \u201cHumongous Entertainment\u201d fue creada mediante ingenier\u00eda inversa sobre el ejecutable de los juegos. Como os cont\u00e9 unos p\u00e1rrafos m\u00e1s arriba, se puede sacar el c\u00f3digo fuente a partir del c\u00f3digo m\u00e1quina. Hay muchas t\u00e9cnicas de ingenier\u00eda inversa, unas son m\u00e1s legales que otras, y en caso de demostrar que se ha violado alguna licencia al crear ScummVM mediante ingenier\u00eda inversa no legal podr\u00eda crear un gran problema dentro del proyecto.<\/p>\n<p>En este aspecto hay que decir que hay varios documentos que ense\u00f1an las \u00abbuenas pr\u00e1cticas\u00bb de ingenier\u00eda inversa. M\u00e1s claro a\u00fan, te ense\u00f1an a aprender a hacer tu mismo algo sin robar (algo que podr\u00edan haber intentado hacer en Mistic Soft&#8230;).\u00a0Sev confiaba en que sus m\u00e9todos de ingenier\u00eda inversa hab\u00edan sido los m\u00e1s correctos, as\u00ed que se plantearon seguir con las demandas. Lo malo es que hay que pagar los costes de juicios, abogados, etc&#8230; aunque se gane y se reintegren los gastos es un tiempo que nadie va a recuperar.<\/p>\n<p>Resumiendo:<\/p>\n<p>&#8211; Atari viol\u00f3 la licencia GPL<br \/>\n&#8211; Atari no pod\u00eda acatar la licencia GPL, debido a la licencia del SDK de Nintendo<br \/>\n&#8211; Atari no pod\u00eda ignorar al equipo de ScummVM<br \/>\n&#8211; ScummVM no puede relicenciarse (al menos la parte del motor usado)<br \/>\n&#8211; Y el equipo de ScummVM no aceptaba \u201cdinero por callarse\u201d<\/p>\n<p>Finalmente hubo que transigir. Los juicios pod\u00edan extenderse mucho y hab\u00eda que adelantar dinero, as\u00ed que aceptaron una de las ofertas de Atari:<\/p>\n<ul>\n<li>Atari realizar\u00eda una\u00a0\u201cdonaci\u00f3n\u201d de dinero a la fundaci\u00f3n de Software Libre<\/li>\n<li>Cesaron la producci\u00f3n de esos juegos (los que llevan el software de Scummvm).<\/li>\n<li>Se permiti\u00f3 un\u00a0margen de tiempo para que se vendiera el stock de las copias que se encontraban en tiendas, y destruy\u00f3 el resto que hubiera en los almacenes de la empresa.<\/li>\n<li>Atari pag\u00f3 con los gastos de abogados.<\/li>\n<\/ul>\n<p>As\u00ed que para aquellos que busquen rarezas, aqu\u00ed tienen una tirada de juegos que tienen bastante m\u00e1s historia de la que cuentan, y que quiz\u00e1s lleguen a ser uno de esos \u201cmost wanted\u201d del cat\u00e1logo de wii (no lo creo, pero tampoco me estra\u00f1ar\u00eda ver en unos a\u00f1os un \u00abvery rare\u00bb en ebay).<\/p>\n<h1>Moraleja<\/h1>\n<p>Como en todo en esa vida, si vas protegido mucho mejor. A veces hablo con alumnos que se toman a broma las licencias GPL, parece algo de frikis que no lleva a ning\u00fan lado. Este es uno de los ejemplos m\u00e1s claros donde se ve que funciona, pero hay muchos m\u00e1s. Profesores que \u00abasimilan\u00bb el trabajo de alumnos sin el menor miramiento los hay a patadas, con cuatro l\u00edneas se pueden proteger perfectamente y poner un poco de orden.<\/p>\n<p>Espero que os haya resultado interesante, aqu\u00ed ten\u00e9is algunos enlaces para ampliar detalles:<\/p>\n<p>Anuncios desde la p\u00e1gina de ScummVM:<\/p>\n<p><a href=\"http:\/\/web.archive.org\/web\/20110101185325\/http:\/\/www.scummvm.org\/news\/20090623\/\">http:\/\/www.scummvm.org\/news\/20090623\/<\/a><\/p>\n<p><a href=\"http:\/\/web.archive.org\/web\/20110101185325\/http:\/\/www.scummvm.org\/news\/20090616\/\">http:\/\/www.scummvm.org\/news\/20090616\/<\/a><\/p>\n<p>Blog de Sev:<\/p>\n<p><a href=\"http:\/\/web.archive.org\/web\/20110101185325\/http:\/\/sev-notes.blogspot.com\/2009\/06\/gpl-scummvm-and-violations.html\">http:\/\/sev-notes.blogspot.com\/2009\/06\/gpl-scummvm-and-violations.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>No pasar\u00eda de una mera an\u00e9cdota si no fuera porque la liaron bien gorda. Todos conocemos a Atari, la otrora empresa de videojuegos l\u00edder del sector que hoy es casi una mera distribuidora de videojuegos para m\u00f3viles (y que den gracias, que el anuncio de bancarrota de principios de a\u00f1o lo siguen arrastrando&#8230;). Seguramente no [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":629,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[22],"tags":[65,206,249,422],"_links":{"self":[{"href":"https:\/\/retrobits.es\/index.php?rest_route=\/wp\/v2\/posts\/530"}],"collection":[{"href":"https:\/\/retrobits.es\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/retrobits.es\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/retrobits.es\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/retrobits.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=530"}],"version-history":[{"count":0,"href":"https:\/\/retrobits.es\/index.php?rest_route=\/wp\/v2\/posts\/530\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/retrobits.es\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/retrobits.es\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrobits.es\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrobits.es\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}