Cómo proteger el software frente a las patentes

por Richard Stallman

Una versión de este artículo se publicó inicialmente en Wired en noviembre de 2012.

Las patentes son una amenaza para todo desarrollador de software, y las guerras de patentes que durante tanto tiempo hemos temido ya han estallado. Los desarrolladores y los usuarios de software, que en nuestra sociedad constituyen la mayoría, necesitan que el software esté libre de patentes.

A las patentes que nos amenazan, a menudo se las llama «patentes de software», pero este término es engañoso, pues tales patentes no se refieren a programas concretos, sino que cada patente describe alguna idea práctica y dice que a cualquiera que aplique esa idea se lo puede demandar. Por eso resulta más claro llamarlas «patentes de ideas computacionales».

El sistema de patentes estadounidense no califica las patentes de manera que se pueda decir que esta es una «patente de software» y aquella no lo es. Son los desarrolladores de software los que distinguen entre las patentes que suponen una amenaza para ellos (las que cubren ideas que pueden implementarse en software) y las demás. Por ejemplo, si la idea patentada es el diseño de una estructura física o una reacción química, ningún programa puede implementar esa idea, por lo que esa patente no representa ninguna amenaza para el área del software. Pero si la idea patentada es un cómputo, los desarrolladores y usuarios de software están en el punto de mira de esa patente.

Esto no quiere decir que las patentes de ideas computacionales prohíben solo software. Esas ideas también pueden implementarse en hardware, y así ha sido en muchos casos. La patente normalmente cubre las implementaciones de la idea en hardware y en software.

El problema particular del software

Las patentes sobre las ideas computacionales ocasionan un problema particular en el área del software, donde es fácil implementar miles de ideas a la vez en un programa. Si el diez por ciento están patentadas, el programa queda bajo la amenaza de cientos de patentes.

Cuando Dan Ravicher, de la Public Patent Foundation, estudió en 2004 un programa grande (Linux, que es el núcleo del sistema operativo GNU/Linux), encontró 283 patentes estadounidenses que parecían cubrir ideas computacionales implementadas en el código fuente de ese programa. Ese mismo año, una revista estimó que Linux representaba el 0,25% de todo el sistema GNU/Linux. Multiplicando 300 por 400, el orden de magnitud del resultado indica que el sistema en su conjunto se encontraba amenazado por alrededor de cien mil patentes.

Si se eliminara la mitad de esas patentes por «mala calidad» (es decir, por errores del sistema de patentes), eso no cambiaría mucho las cosas. Sean cien mil o cincuenta mil, el desastre es el mismo. Por eso es un error reducir nuestra crítica del sistema de patentes a los «trolls» de patentes o a las patentes de «mala calidad». Apple, que no es un «troll» según la definición común del término, en la actualidad es la empresa más agresiva cuando se sirve de sus patentes para atacar. No sé si las patentes de Apple son de «buena calidad», pero cuanto mejor sea su «calidad», más peligrosas serán.

Hemos de resolver todo el problema, no solo una parte.

Para corregir este problema por la vía legislativa generalmente se sugiere cambiar los criterios para la concesión de patentes. Por ejemplo, prohibir la emisión de patentes sobre prácticas computacionales y sistemas para aplicarlas. Este planteamiento tiene dos inconvenientes.

En primer lugar, los abogados especialistas en patentes reformulan hábilmente las patentes para que encajen en cualquiera de las normas que pudieran resultar pertinentes, y transforman en un requisito meramente formal todo intento de limitar la patente de manera sustancial. Por ejemplo, muchas patentes estadounidenses sobre ideas computacionales describen un sistema que incluye una unidad de procesamiento aritmético, un secuenciador de instrucciones, una memoria y unos controles para llevar a cabo un cálculo concreto. Esta es una manera peculiar de describir un ordenador que ejecuta un programa para realizar alguna operación. Se formuló de esta manera para hacer que la solicitud de la patente satisficiera los criterios que durante algún tiempo se creyó que mantenía el sistema de patentes estadounidense.

En segundo lugar, en EE. UU. existen ya miles de patentes sobre ideas computacionales, y cambiar los criterios para evitar que se sigan emitiendo no nos libraría de las ya existentes. Tendríamos que esperar casi veinte años para que, con la expiración de dichas patentes, se solucionara el problema. Podríamos imaginar que se legislara la abolición de las patentes en vigor, pero eso probablemente sea inconstitucional. (El Tribunal Supremo ha insistido perversamente en que el Congreso puede ampliar los privilegios privados a costa de los derechos colectivos, pero que no puede hacerse en el sentido contrario.)

Otra forma de abordar el problema: limitar el efecto, no la patentabilidad

Lo que yo sugiero es cambiar el efecto de las patentes. Debemos legislar para que el desarrollo, la distribución y la ejecución de un programa no constituyan infracción de patentes. Esta solución tiene varias ventajas:

Esta solución no invalida por completo las patentes sobre ideas computacionales existentes, pues seguirían siendo aplicables a las implementaciones que utilicen hardware con un propósito específico. Hace unos años se aprobó en EE. UU. una ley que protegía a los cirujanos frente a pleitos sobre patentes, de modo que incluso si un procedimiento quirúrgico está patentado, los cirujanos están a salvo.

Los desarrolladores y usuarios de software necesitan protección frente a las patentes. Esta es la única solución legislativa que proporcionaría protección completa para todos. Entonces podríamos volver a competir y cooperar sin miedo a que nadie echara por tierra nuestro trabajo.

Véase también: La reforma de las patentes no es suficiente