ShowUsTheCode.com o el peligro de las patentes de software
ShowUsTheCode (Muestranos el código) es una iniciativa para contrarrestar la campaña del terror liderada por Steve Ballmer, CEO de Microsoft. El problema es que cuando se trata de patentes de software, la cosa no es tan simple como «mostrar el código».
Empecemos por el principio. Hace un par de meses, Microsoft y Novell anunciaron un acuerdo de cooperación que, entre muchas cosas positivas, incluía una clausula en que ambas empresas prometen no demandar judicialmente a los clientes de la otra. Aunque Novell ha dicho repetidamente que el acuerdo no es una admisión de que Linux viola las patentes de Microsoft, Steve Ballmer se ha dedicado a gritar a los cuatro vientos variaciones de «ven, hasta Linux y la gente del código abierto debe respetar la propiedad intelectual de Microsoft».
Y la respuesta del campo del código abierto no se hizo esperar. En ShowUsTheCode.com se desafía a Ballmer a indicar que parte del código de Linux viola la «propiedad intelectual» de Microsoft. Pero mostrar el código no es ninguna solución. Esta es una diferencia fundamental entre derechos de autor y patentes. Todo el software (incluyendo el código abierto/software libre) esta protegido por derechos de autor. Son esos mismos derechos los que le permiten a los autores licenciar esos derechos con la GPL, por ejemplo, y evitar que la otros puedan usar su código en programas cerrados. Pero las patentes son otro cuento: una patente de software protege (no existe una definición muy clara) cualquier cosa que se puede hacer con un programa computacional. Eso puede ser un método, una forma de interactuar con el usuario, y un larguísimo etc.
Digamos que yo tengo un programa llamado iFuture que al ser ejecutado te pregunta cuando naciste, y con esa información consulta una base de datos y hace unos cálculos y te dice tu horóscopo, tu bioritmo y la mejor dieta disponible para las próximas semanas. El derecho de autor protege al que escribió el programa en el sentido de que nadie puede copiar el código y venderlo sin su autorización y la licencia adecuada. Sin embargo, hay miles de formas de implementar un programa parecido sin copiar el código. De ahí que surgan «clones» de programas conocidos (pensemos Microsoft Office vs. OpenOffice) donde los autores del clon nunca violan los derechos de autor de Microsoft, porque nunca han visto ni copiado el código fuente de Word. De ahí también que cualquier persona puede escribir un programa como iFuture e implementarlas como les de la gana.
Una patente de software para el iFuture, sin embargo, podría ser así:
Un programa computacional que, al interactuar con el usuario, es capaz de aceptar información sobre su historia de vida y generar, mediante un algoritmo interno, una predicción astrológo-probabilística sobre los eventos futuros que afectarán al dicho usuario, así como una serie de instrucciones alimentarias para lidiar mejor con dichos eventos.
¿Ven el problema? Mientras que los derechos de autor no le impedirían a nadie crear un iHoróscopo, competidor del iFuture, la patente si lo hace, aunque no se comparta ni una sola línea de código. La patente impide que se otros que no sean el autor «usen» invención, independiente de como se implemente. Y eso es porque las patentes pueden proteger «invenciones» en términos mucho más generales y ambiguos que los derechos de autor.
Y es por eso que todas las buenas intenciones de ShowUsTheCode.com no servirán de mucho. Microsoft no necesita mostrar código para usar sus patentes. Pero no todo esta perdido: en muchos países (incluyendo en la Unión Europea) se está dando la pelea contra las patentes de software, y un caso que se esta discutiendo en la corte suprema estadounidense (¡y Microsoft es el demandado en ese caso!) puede debilitar el uso de patentes en software. Y por Linux, no os preocupeis, que Microsoft no es el único con patentes: Muchos amigos de Linux, incluyendo a IBM, Sun, RedHat y Novell tienen muchas patentes para defender al pingüino.