Propiedad industrial e intelectual y software: ¿patente, derecho de autor o secreto?

Compartir en linkedin
Compartir en twitter
Compartir en email

Esta entrada está disponible en: English Español

Al inicio del sistema de patentes, las invenciones más habituales eran dispositivos mecánicos y eléctricos. El tiempo necesario para desarrollar un prototipo, lanzarlo al mercado y la vida útil del mismo determinaron plazos para los que el sistema de patentes se adaptaba muy bien.

La aparición de nuevos ámbitos de la tecnología donde el ritmo de evolución y mejora es más rápido que antaño, genera la pregunta de si el sistema de patentes tiene plazos que resultan excesivamente largos. Este es el caso del software donde un código fuente puede estar actualizándose incluso cada pocas horas.

¿Se adapta el sistema de patentes al ritmo de cambio del software?

En este contexto, la evolución del software no necesariamente implica que una patente que describe y protege una versión anterior del mismo se quede obsoleta. La clave reside en si las evoluciones afectan a las características esenciales del software tal y como se recogen en la patente.

En muchos casos, las evoluciones representan optimizaciones del software inicial que no alteran los principios esenciales de su anterior versión. Por lo tanto, en esas situaciones no se verá afectado el valor de la patente como instrumento efectivo de protección.

Es cierto que habrá casos en los que la evolución del software sea profunda y sí afecte a las características esenciales tal y como se recogen en la patente. Sin embargo, pese a la evolución del software, puede ser interesante desde un punto de vista comercial mantener cubierta la protección de la versión anterior del software.

Existen grandes ejemplos de una rápida popularización de un algoritmo (el conocido método de compresión de imagen en “jpg” o de música en “mp3”) donde la aparición de algoritmos alternativos con mejores prestaciones no necesariamente implicó que estos se adoptaran por la mayoría de los usuarios. En este caso, cualquier protección mediante patente del software más antiguo puede seguir siendo efectiva durante muchos años.

La evolución del software en el tiempo en forma de modificaciones y mejoras debe ser comparada con lo protegido mediante patente, valorando si dicha patente sigue otorgando protección porque los cambios no difieren de la invención tal cual ha sido reivindicada o si se ha generado una nueva invención.

En cualquier caso, en todos los escenarios debe valorarse la protección del software y de sus evoluciones mediante otras figuras legales, que pueden ser una alternativa o un complemento a la protección por patente.

Proteger el código fuente: ¿patente, copyright o secreto empresarial?

Se entiende por código fuente al conjunto de líneas de texto con los pasos que debe seguir la computadora para ejecutar el programa. Habitualmente estas líneas de texto están expresadas en un lenguaje de programación específico y que es traducido al código máquina, el código directamente entendible por el procesador, después de ser traducido o bien mediante un intérprete o mediante un compilador.

Cuando un programador modifica un programa, modifica el código fuente y, posteriormente, vuelve a utilizar alguno de los “traductores” para que este sea ejecutable.

Derecho de autor y patente

El copyright está destinado principalmente a la protección de obras que permanecen inalteradas en el tiempo. En la práctica, un programa de ordenador, para ser útil, debe estar debidamente mantenido encontrando fallos o incluyendo nuevas funcionalidades. De otra forma, se consideraría un proyecto muerto y dejaría de ser utilizado. Si bien es posible la protección del software por copyright, la protección se limita a la combinación de líneas de código que componen el programa de ordenador y la versión del código queda “congelada” a la versión depositada ante el registro de la propiedad intelectual.

Otra limitación de la protección mediante copyright es que un programa de ordenador es considerado un trabajo literario expresado por palabras (palabras reservadas del lenguaje de programación), números u otros símbolos independientemente de la naturaleza del objeto que representa.

La consecuencia de esta limitación es que la protección mediante copyright no se extiende a la funcionalidad o técnica que subyace como solución implementada en ordenador. Un tercero podría desarrollar un software que replicase la misma funcionalidad incluso haciendo uso de la misma solución en un lenguaje de programación distinto sin que estuviese invadiendo el ámbito de protección conferido por el copyright.

Como se explicó en la primera parte de este artículo (aquí) la protección mediante patente conlleva la selección de características esenciales y no esenciales y estas se plantean independientemente de su implementación; es decir, independientemente del lenguaje de programación utilizado para su implementación. Dicho de otra forma, la protección mediante patente no depende del modo específico en el que se expresa un programa de ordenador, por ejemplo, a través del lenguaje de programación utilizado.

Adicionalmente, la evolución del software en el tiempo implica en todos los casos que el código protegido por copyright mediante registro es distinto al código comercializado o utilizado por terceras partes. Este hecho dificulta cualquier acción en la que se pretenda ejercer los derechos que otorga la protección mediante copyright.

Por el contrario, como vimos anteriormente, la evolución del software puede seguir estando amparada por el juego de reivindicaciones de una patente antigua y, por lo tanto, la patente mantiene su efectividad frente a la copia.

Pese a esta importante limitación del copyright, también es cierto que la protección del código mediante esta figura es un buen complemento, es barata, muy rápida y, en circunstancias en las que no ha existido una modificación reseñable del software por parte de un tercero infractor, facilita enormemente las acciones en tribunales por infracción.

El secreto empresarial en CII

Como alternativa, es posible distribuir programas de ordenador solo en forma de ejecutables. Esto es, programas formados por instrucciones específicas para la máquina en la que va a ser ejecutado. La ventaja de esta forma de distribución es que impide o dificulta enormemente el acceso a la codificación. Sin el acceso al código fuente es muy difícil saber qué hace un determinado programa de ordenador.

Sin embargo, sigue existiendo el riesgo de fuga de información confidencial sobre el código fuente. La fuga de información se puede producir principalmente desde dentro de la propia empresa donde tiene lugar el desarrollo a terceras personas. Incluso cuando una solución implementada en ordenador se divulga a través de la publicación de una patente o con otro tipo de divulgación, existe un gran volumen de código fuente que no es divulgado y que requiere un gran esfuerzo en recursos (humanos, técnicos, monetarios, etc…) llegar a él, aunque su implementación sea obvia para un experto en la materia.

Incluso en estos casos y en aquellos de poco riesgo de hacer uso de ingeniería inversa por parte de terceros, sigue siendo recomendable hacer uso de un plan de implantación de medidas razonables de protección de secretos empresariales para blindarse frente a las mencionadas fugas de información sensible.

La nueva Directiva Europea 2016/943, implementada aún más recientemente en España a través de la Ley 1/2019, de Secretos Empresariales, fortalece el marco de protección de los secretos empresariales para que un determinado know-how pueda adquirir el estatus de secreto empresarial en los tribunales.

En una empresa, aunque todo know-how comienza siendo secreto en el sentido común de la lengua, una buena base de protección en toda actividad empresarial debería empezar con la implantación de un plan de protección del secreto empresarial para que el know-how pueda considerarse también secreto en el sentido legal.

La implantación de un plan de protección del secreto empresarial requiere, entre otras medidas razonables de protección, que la evolución del software desarrollado sea registrada por autoridades certificadoras destinadas a generar una marca de tiempo (timestamping) y un resumen de contenido inalterable (hash) que sirve para verificar que la marca de tiempo se ha generado sobre dicho contenido, y no otro.

Figuras de protección compatibles

Dado que la protección mediante patente y por copyright no son incompatibles, es una buena medida hacer uso de ambas modalidades y beneficiarse así de las ventajas que cada una de ellas proporciona.

Lo mismo ocurre con la implantación de un plan de protección de secretos empresariales. Combinar todas las figuras es la clave para conseguir la máxima exclusividad para el uso de la invención y evitar que haya terceros que se aprovechen económica, comercial o estratégicamente del esfuerzo que se ha realizado.

Patentes y uso de software de código abierto (open source)

En el ámbito de la programación está cada vez más extendido el uso de software en el que el código fuente se pone a disposición del público, siendo en este caso un aspecto interesante el tipo de licencia con el que se distribuye.

Se denomina software de código abierto (open source) aquel cuyo código fuente se pone a disposición del público. Esto no significa que el propietario no pueda hacer negocio con el software o se reserve ciertos derechos.

Dentro del código abierto se encuentra el software libre donde las licencias bajo las que el propietario distribuye el software otorgan para cualquier propósito, ya sea en la forma modificada o en su forma original:

  1. el derecho a utilizar,
  2. a modificar, y
  3. redistribuir el software

En cualquiera de los casos, quien distribuye nuevamente el software está obligado a licenciar el software en los mismos términos, de ahí que se considere una condición viral.

Revisión de librerías

El uso de software libre para desarrollar soluciones que son posteriormente patentadas supone la aceptación de acuerdos de licencia que limitan la capacidad para hacer valer las patentes.

Por este motivo, si se tiene la intención de proteger una invención implementada por ordenador es necesario revisar las librerías utilizadas por si sus licencias estableciesen una limitación no deseada. Si esto es así, es habitual encontrar librerías denominadas propietarias que evitan las limitaciones impuestas por el software libre.

El ejemplo de Apple

Un caso conocido por todos es el sistema operativo de Apple. Apple, en sus inicios, escribía su sistema operativo desde cero pero se encontró con fuertes limitaciones, por ejemplo, al implementar la multitarea. La multitarea que llegó a desarrollar permitía tener abiertas dos aplicaciones o más a la vez pero solo una estaba realmente en primer plano, mientas el resto estaban “dormidas”.

Este problema y otros está resuelto de un modo muy eficiente en sistemas operativos tipo UNIX. Apple consideró como alternativa utilizar el núcleo de Linux para incluir una implementación tipo UNIX, en su momento en un grado de desarrollo bastante avanzado y extendido, para luego añadir una capa visual atractiva que ocultase la complejidad del sistema operativo tal y como nos tiene acostumbrados.

No obstante, prefirió basarse en un núcleo alternativo BSD desarrollado en la Universidad de Berkeley debido a que la licencia bajo la cual estaba distribuido este último le permitía producir un producto derivado (el sistema operativo personalizado de Apple) con una licencia privativa y no libre, opción que no permite un núcleo Linux con licencia GPL (General Public License) que obliga a cualquier producto derivado el ser publicado manteniendo la licencia libre.

La clave: librerías con licencias libres

En resumen, en un proyecto basado en software complejo que se quiere proteger y revalorizar con patentes es necesario que no incluya librerías con licencias libres y el motivo es doble: porque es posible seguir manteniendo el código sin divulgar y porque las patentes concedidas sobre una o más soluciones implementadas no tienen un ámbito de protección limitado por la aceptación de las cláusulas incluidas en toda licencia libre.

Infracciones en patentes de software

Esta pregunta es una pregunta recurrente cuando se valora la protección del software mediante patente. Las dudas, muy pertinentes en muchos casos, surgen porque en el momento de valorar la infracción de una patente de software (“invenciones implementadas por ordenador” o “computer implemented inventions”), por ejemplo, por la comercialización de un determinado programa de ordenador o porque se sospecha que un proceso productivo está gestionado por un software que reproduce la patente, esta valoración requiere enfrentar las etapas ejecutadas por un ordenador con las etapas reivindicadas en la patente.

Etapas ejecutadas vs etapas reivindicadas

Determinar las etapas ejecutadas por un ordenador cuando solo se dispone de un fichero ejecutable no es una tarea fácil. Muchas veces ese trabajo requiere de la aplicación de técnicas de ingeniería inversa, un esfuerzo que puede estar disponible para muy pocos y que puede requerir en algunos casos años de trabajo.

Dicho esto, estas dificultades no son mayores que otras encontradas cuando se valora la infracción de un método que solo se ejecuta a “puerta cerrada” y sobre el que no hay un acceso directo para verificar cómo se lleva a cabo.

No obstante, en el contexto del software, en la mayor parte de los casos se tienen varias ventajas con respecto a cualquiera de los métodos ejecutados “a puerta cerrada” que permiten valorar con más facilidad la infracción. Algunas de ellas se identifican a continuación:

  • El software comercial se distribuye con manuales y especificaciones que proveen de información sobre qué hace y muchas veces sobre cómo lo hace.
  • Los propietarios del software pueden publicar artículos científico/técnicos donde se describen las técnicas que luego se implementan en el software
  • Si bien la ingeniería inversa basada en el desensamblado del código máquina, el código directamente ejecutable por el ordenador, es una labor muy compleja, existen pruebas sobre el código que evidencian su comportamiento sin ser necesario, por ejemplo, esta labor de desensamblado.

Al igual que cualquier otro ámbito de la técnica, en el proceso de redactado de una patente es importante buscar si un determinado método deja trazas de su uso y que estas trazas queden reflejadas en la descripción.

Incluso cuando todas las evidencias obtenidas sobre la infracción de la patente sean indirectas y solo queden como “importantes indicios”, existen recursos jurídicos como la solicitud de diligencias de comprobación de hechos que dotan de instrumentos de obtención de prueba que permitirían tener acceso incluso al código fuente o, incluso, información que guíe en la interpretación del código para posteriormente valorar con un mayor grado de precisión si un determinado software infringe o no una patente.

En cualquier caso, los recursos para ejercer los derechos conferidos por la patente son, al menos, los mismos que en cualquier otro ámbito de la técnica y se puede disponer de recursos adicionales que permiten llevar a cabo lo que se denomina “análisis forense” para el que hay diversas empresas especializadas.

Combinar figuras de protección

A modo de resumen, habría que empezar por decir que, en una empresa, todo valor empresarial comienza siendo secreto. De ahí que una buena base de protección en toda actividad empresarial debería comenzar con la implantación de un plan de protección del secreto empresarial.

La divulgación del know-how debe realizarse siempre bajo control. El desarrollo y la comercialización de software suponen una divulgación cuyo alcance depende del modo específico en el que el software se pone a disposición del mercado.

Cuando el software involucra una solución técnica a un problema técnico, entonces el sistema de patentes es una forma de divulgación controlada que permite su protección ya que se considera una “invención implementada por ordenador”. Esta protección no excluye la posibilidad de proteger el código mediante copyright donde será necesario mantener actualizados los registros conforme el código sufra cambios.

En cualquiera de los casos, la implantación de un plan de protección del secreto empresarial requiere como medida razonable que la evolución del software desarrollado sea registrado por autoridades certificadoras destinadas a generar una marca de tiempo “timestamping” y un resumen de contenido inalterable “hash” que sirve para verificar que la marca de tiempo se ha generado sobre dicho contenido y no otro.

La evolución del software en el tiempo (en forma de modificaciones y mejoras) implica que debe igualmente ser comparado con lo protegido mediante patente, valorando si dicha patente sigue otorgando protección -porque los cambios no difieren de la invención tal cual ha sido reivindicada- o si se ha generado una nueva invención.

Por lo tanto, la protección del software requiere de una monitorización constante y de  una combinación de las diferentes figuras para no perder la exclusividad y los beneficios que confieren los derechos de propiedad industrial e intelectual.

Fernando Prieto
Fernando se incorporó a ABG en 2004 y es socio en los Departamentos de Ingeniería & Física y Tecnología de la Información & de las Comunicaciones (TIC). Inició su trayectoria profesional en el campo de la Propiedad Industrial en el año 1994. Su ámbito de trabajo se desarrolla en la tramitación y defensa de patentes y modelos de utilidad, así como en dar servicio de asesoramiento como experto en informes de infracción y patentabilidad de invenciones. Sus sectores de especialidad son las patentes electromecánicas y de software. Es Agente Europeo de Patentes (EQE, 2008).
Fernando Prieto on EmailFernando Prieto on Linkedin

Comparte este post

Compartir en linkedin
Compartir en twitter

Suscríbete a nuestra newsletter

Próximos eventos

¡No hay eventos!

En nuestro blog

Services