En el caso de una renombrada empresa de servicios de tecnología contra otra que provee adicionalmente sistemas operativos para dispositivos móviles se plantea la siguiente cuestión: ¿Puede pantentarse el código fuente o lenguaje de programación que le dio origen? Los grandes desarrollos se caracterizan por la habilidad de satisfacer una serie de requerimientos mediante el uso de patrones y lenguajes de programación, los cuales proveen una interfaz de programación conocida como API, la cual siguiendo una semántica concreta definen los tipos de datos que pueden manejar, estructuras de control e incluso pequeños programas que satisfacen tareas genéricas de cualquier flujo de un programa como el manejo de una pila o una estructura maś compleja como un árbol.
La característica fundamental de toda API es la de contar con suficientes herramientas para facilitar la tarea de programar, de tal forma que ya no es necesario para ciertas funcionalidades el crear un programa especializado ya que seguramente la API lo contiene como un método o funcion que pertenece a una Clase o Libreria del programa fuente.
Los proveedores de estas API's siempre han prometido que mediante el uso de su interfaz es posible incrementar la velocidad del desarrollo de aplicaciones (el tiempo es crucial por los altos costos que presenta) y que el mantenimiento de las mismas será más fácil, de tal forma que el programador siempre esta expuesto a la mejora continua de las API's. Algunas de estos lenguajes de programación son de código cerrado, lo que significa que podemos usar sus librerias pero no modificarlas, y hasta se han creado metodologías para encapsular sus métodos(funciones) de modo que sabemos que hacen más no como lo hacen y no importa porque la velocidad es la prioridad más no inventar de nuevo el hilo negro.
Pero ¿qué pasa cuando un lenguaje de programación no cumple con las expectativas de los requerimientos? Pues simplemente se reescriben las librerías o API's y se crean nuevas a partir de los elementos básicos del lenguaje y hasta donde su propia semántica lo permita. Este hecho no significa que se este haciendo ingeniería inversa, violando el código fuente o modificando a cierta Clase, sino todo lo contrario: se está enriqueciendo el código.
Toda esta explicación cobra sentido cuando la compañía que usa un API modificada se está embolsando millones de dolares cuando la que es dueña del API original no y entonces nos preguntamos si el código fuente debe ser o no sujeto de patente. Pero la respuesta, lejos de los tribunales y la propiedad intelectual debe fincarse en relación con la creatividad y la innovación porque ¿que tan lejos puede llegar un lenguaje de programación que no permita incorporar nuevos métodos para resolver problemas? Es como decir que un picasso no es obra de el artista tanto como el que le vendió las pinturas y por eso si se cotiza en millones debe pagarle regalías.
Cuando una obra(SW) es exitoso los beneficios tanto económicos como el prestigio pega en todas partes: en el que creo la plataforma de desarrollo, en el que creo el Lenguaje de programación, en los dueños, los stakeholders, los proveedores del hardware y la sociedad en su conjunto. Por eso el desenlace de esta demanda es interesante porque aunque toda idea merezca pertenecer y ser explotada por su creador original, el que la mejora tiene igual o más mérito por su genialidad.
- Log in to post comments