Como programador nunca me he preocupado por la protección «jurídica» del software que he programado. Las empresas de software donde trabajé tenían abogados y/o expertos que se dedicaban a ello. Ahora, cuando programo alguna herramienta a título personal (por afición o para automatizar algún proceso tedioso), no me preocupa su posible copia e intento compartir el código (por ejemplo, este script). Sin embargo, como perito informático sí suelo recibir con relativa frecuencia peticiones de desarrolladores que denuncian la desprotección de sus creaciones ante terceros que, supuestamente, se aprovechan del trabajo de los programadores. En el mundo de las startups siempre hay alguien que, antes de escribir una línea de código, pregunta «Y si después de programar todo esto, ¿viene alguien y copia todo mi trabajo: mi idea, mis desarrollos, mis diseños…?».
Basado en mi experiencia personal como perito identifico tres tipos de casos en relación con la protección del software:
– La copia del software tal cual. Este caso hace referencia al copyright (derechos de autor) que protege el código fuente, los ejecutables y los recursos incluidos en el software -imágenes, logos, animaciones, … incluso los manuales-.
– La copia de la «idea» o de «las ideas» detrás de una aplicación. En este caso puede ocurrir que alguien denuncie que le han copiado una idea de un desarrollo o que le han copiado algoritmos o patrones incluidos en el desarrollo.
– Uso inadecuado del software, violación de uso de las licencias o «pirateo» de aplicaciones comerciales.
COPYRIGHT DEL SOFTWARE
El software puede registrarse como una propiedad intelectual para evitar que sea explotado por aquellos que no son sus legítimos creadores o propietarios. Lo que se protege es el software (código fuente, ejecutables, recursos, ficheros de ayuda, manuales, etc.) frente a terceros que, de forma malintencionada, intenten apoderarse de esta creación y hacerla pasar por suya para obtener un beneficio. Gracias al convenio de Berna, la protección del software mediante registro alcanza simultáneamente a los 172 países firmantes del convenio. No es una protección «potente» pero, al menos, es extensa geográficamente y otorga a las obras registradas en cualquier país la misma protección que si las obras hubiesen sido creadas en el país donde se produce el litigio.
Lógicamente, los desarrolladores que quieran proteger su software deben registrar las aplicaciones (el código fuente, ejecutables, etc.) depositándolas en algún registro (ante notario, registro de la propiedad intelectual o similar).
En caso de demanda por infracción del copyright, el perito informático debe practicar una prueba pericial que valore si la parte demandada ha infringido el copyright del demandante. Para ello, el perito tomará del registro el software original y lo comparará con el software denunciando, valorando las similitudes entre ambos y certificando el grado de coincidencia entre ambos.
Habitualmente, los juristas suelen pedir al perito que calcule «el porcentaje de parecido entre la copia y el original», por ejemplo: ambos software son idénticos (100%), no se parecen en nada (0%), es una copia con ligeras modificaciones (más del 80%), etc.
Hace unos años tuve un caso de este tipo: una empresa de software que comercializaba un paquete de gestión vertical detectó que las ventas en algunas provincias eran prácticamente inexistentes. Además, uno de los clientes potenciales al ver una demo de la herramienta afirmó «yo tengo un programa que hace lo mismo y me costó 10 veces menos». Esta persona conocía, además, todos los trucos del programa original (incluyendo la opción de regenerar los índices de la base de datos desde una función oculta en el cuadro de diálogo «Acerca de»). La cuestión es que unos estafadores habían cogido el programa original y, cambiando los archivos de recursos que estaban en una DLL, habían sustituido el nombre del programa y el logotipo de los creadores originales por el suyo propio. Excepto la DLL en cuestión, todos los ejecutables y demás archivos de ambos programas coincidían. En mi informe afirmé que la coincidencia era superior al 90% y que, claramente, el programa denunciado era una copia del original.
Los casos realmente complicados son aquellos en que los autores de la copia «des-compilan» el programa original, cambian algunas opciones del compilador y vuelven a generar los ejecutables obteniendo programas idénticos en su comportamiento pero totalmente diferentes si se comparan los binarios de cada uno. Otro caso bastante complejo es cuando un programador abandona una empresa y se lleva el código fuente de alguna aplicación y lo utiliza en los desarrollos de su nueva empresa.
COPIAR LA IDEA (O IDEAS) DE UN DESARROLLO
El mundo (especialmente, el mundo de las start-ups) está poblado por personas que tienen grandes ideas que creen únicas, extraordinarias y que, por sí mismas, merecerían un premio (a ser posible cuantioso económicamente). Muchos de estos «futuros CEOs» no ponen en marcha su proyecto porque temen ser copiados, a veces ni siquiera cuentan «su idea» a nadie porque otros podrían hacer realidad lo que ellos no han hecho más que imaginar.
La realidad es que en Europa las simples ideas de servicios o aplicaciones no son patentables. Ni siquiera las ideas complejas. Tampoco son patentables los algoritmos, diseños técnicos o los patrones que «inventan» los programadores todos los días para solucionar los complejos problemas computacionales que se les presentan.
Algunas empresas de software afirman que sus desarrollos (y los algoritmos que incluyen) son «secretos industriales» que, por una parte, forman parte de su activo (tienen valor en sí mismos) y, por otra, están protegidos y su acceso es muy restrictivo.
El debate sobre la «patentatibilidad» de la funcionalidad de un software (o «la idea» o los algoritmos y patrones utilizados) es más un debate entre juristas que un problema técnico. Como técnico, el perito informático puede analizar dos aplicaciones y determinar si su funcionamiento es similar pero en ningún caso se puede afirmar que un algoritmo es una copia de otro anterior porque aplique el mismo patrón a la solución de un mismo problema.
Este tema surgió en un caso en el que me preguntaron si unos programadores habían hecho «ingeniería inversa» de un programa de la competencia para analizar su funcionamiento interno y conseguir que el software «nuevo» fuera más rápido que el «original». En aquella ocasión no se pudo demostrar que hubiera ningún tipo de copia y a mí, personalmente, me pareció que la nueva empresa simplemente tenía mejores programadores (y mucho más trabajadores).
En este apartado metafísico (de las «ideas») se incluiría también la protección de la marca. El mismo CEO que no cuenta a nadie su idea, no duda en hacer público el nombre que tiene pensado para su proyecto («dentro de unos años esta marca será más famosa que WhatsApp»). La marca, su protección y los diferentes niveles de similitud entre marcas afines no ha sido nunca, por suerte, materia sobre la que tengamos que pronunciarnos los peritos informáticos.
LICENCIA DE SOFTWARE
La licencia de uso del software no es más que un acuerdo formal (un contrato) entre el desarrollador y el usuario del software. Normalmente, sirve para limitar el uso del software por parte del comprador del mismo. Se suele decir que el comprador de un programa «paga por poder usar el software una vez en un ordenador pero no es dueños del software y, por tanto, no puede hacer lo que quiera con el mismo».
En general, el conflicto en este caso se produce cuando un usuario sobrepasa los permisos que le concede la licencia y utiliza el software sin permiso: no paga la licencia, instala el software en más ordenadores de los permitidos, vende el software a terceros, distribuye un software comercial de forma gratuita, etc. Es el conocido «pirateo de software».
Los desarrolladores deben definir claramente el tipo de licencia que quieren para su software (por tiempo limitado, por número de equipos, número de ejecuciones, etc.), implantar un mecanismo de control para detectar y evitar el abuso de la licencia y, armándose de paciencia, denunciar los casos que detecten de uso de su software fuera de los límites de la licencia.
La prueba pericial que se encarga habitualmente en estos casos consiste en analizar los ordenadores del denunciado; extraer la lista de programas instalados, enumerar las licencias de los programas (número de licencia, fecha de instalación, fecha de expiración de la licencia, nombre del licenciatario -si lo hubiese-) y trasladar esta información a las partes para que: 1) el usuario presente las facturas de adquisición de las licencias en cuestión, o 2) el desarrollador demuestre que esas licencias son ilegítimas.
Hace tiempo (cuando el siglo XXI no había hecho más que comenzar) eran comunes «las redadas» que organizaba la BSA (Business Software Alliance) contra empresas que utilizaban software sin licencia o, peor aún, distribuían software de terceros que no era suyo. Recuerdo un caso en el que una empresa de Madrid que vendía ordenadores permitía a los compradores elegir el software que incluiría su ordenador. El catálogo de software «disponible gratuitamente» ocupaba más de 100 páginas. Nos presentamos allí a las 8 de la mañana acompañados de la policía judicial y descubrimos clonadoras de discos duros que generaban, para cada ordenador vendido, un paquete de software ilegal valorado, de media, en más de 500.000€. El trabajo fue sencillo pero tedioso ya que el secretario del juzgado pidió imprimir la lista de archivos contenidos en todos los discos duros localizados.
En resumen, los desarrolladores de software tienen algunos mecanismos para proteger su trabajo, denunciar a los que se aprovechan de los mismos y demostrarlo ante un tribunal con ayuda de peritos informáticos profesionales.