Las APIs y otras contra-adicciones!

Tal como lo decía anteriormente, estamos en un momento de intensa preocupación por el emprendimiento en donde casi todo el mundo quiere ser emprendedor y en donde la gran mayoría de personas cree estar en capacidad de gritar “Eureka!” por creer que tiene la siguiente nueva y extraordinaria idea que revolucionará el mercado. Así pues, ya son pocos los que quieren trabajar para un tercero. Casi todo el mundo quiere trabajar para si mismo al iniciar su negocio en línea que pueda funcionar sin tener una ubicación física u oficina para reunir a los correspondientes empleados, lo cual en teoría suena bastante fácil!.

La movilidad parece ser es una característica incluida en el ADN de los emprendedores de hoy en día! La gran popularidad de los SmartPhones y tabletas ha contribuido a generar un cambio en la manera de navegar en internet; y ya la mayoría de usuarios no quiere consumir contenidos de la manera tradicional, donde se abría un navegador y se digitaba la dirección para ingresar a un determinado sitio web. Ahora lo más natural para los usuarios es descargar una determinada aplicación que funcione de manera más rápida, haciendo un uso eficiente de los recursos de la terminal.

Ahora bien; eso mismo ha llevado a los desarrolladores a adoptar una inclinación hacia un modelo para “echar código”, mucho más moderno, en donde se trabaja por servicios que se comunican entre si como piezas de un rompecabezas organizado por capas dentro del mismo software y que, además, pueden comunicarse con otras aplicaciones, para enriquecer la experiencia de uso por medio de los llamados APIs.

Tal como decía Andrés, el término API en inglés es la abreviatura de “Application Programming Interface”, que ofrece a los desarrolladores la capacidad de tener repositorios de datos por capas, que se pueden compartir entre aplicaciones, bien sea para insertar o extraer datos de un lado para otro, estableciendo un canal de comunicación que puede ser uni o bi-direccional, dependiendo de las necesidades y restricciones de seguridad. Así pues, la API impone las condiciones de la comunicación, definiendo con mucha precisión cómo se comunican entre aplicaciones y piezas de hardware como sensores.

Lo anterior suele ayudar a economizar tiempo en el desarrollo y le da cierto nivel de modularidad para ir creciendo o incrementando los servicios, que pueden llegar a proporcionar una aplicación en el tiempo. Por lo mismo, la gran mayoría de desarrolladores actuales acostumbran a incluir el uso de APIs dentro de sus buenas prácticas, para agilizar los procesos sin perder de vista la calidad del producto final.

Hasta ahí todo el mundo feliz! Pero recientemente algunos de los titantes del mercado andan de “juzgado en juzgado” cambiando las condiciones de lo que podría ser el modelo de desarrollo del futuro cercano! Se que esta última frase puede sonar un poco fatídica pero seguramente lo siguiente va a generar una serie de caras largas en los desarrolladores que lean el presente artículo.

Hace algunos días algunas Cortes de Estados Unidos se pusieron de parte de Oracle en un juicio en contra de Google, en el cual se estaba debatiendo si era posible que algunos APIs o librerías de JAVA, que hasta el momento se consideraban de uso abierto y gratuito, pudieran llegar a estar protegidas bajo un acuerdo de licenciamiento. Hasta ahí eso puede sonar muy lejano a la realidad de muchos desarrolladores, pero cuando se mira un poco más allá, las sorpresas empiezan a aparecer en el panorama, dado que Oracle adquirió Sun Microsystems hace un tiempo (un dato que puede parecer irrelevante).

Siguiendo con la historia, Sun fue el creador de Java, un lenguaje clave a nivel del núcleo de desarrollo de Android que, entre otras cosas, es el sistema operativo móvil más usado en los SmartPhones del planeta! Así las cosas, si hay un veredicto final por parte de la Corte Suprema, sin apelación por parte de Google, los desarrolladores de aplicaciones para dispositivos móviles, pueden incurrir en faltas graves a nivel de licenciamiento, al usar paquetes de código que hasta hace muy poco eran abiertos y gratuitos (bajo los términos del software libre).

La situación actual, prácticamente obliga a gran parte de la comunidad de desarrolladores a incurrir en la penosa labor de desarrollar todo “a pedal”, sin poder reutilizar algunas de las librerías o APIs que, en el pasado, solían hacerles la vida más fácil al no tener que inventar más formas de hacer exactamente lo mismo que algún otro desarrollador ya había hecho en Java optimizado para dispositivos móviles. A nivel empresarial, las cosas se podrían poner “color de hormiga” (muy mal)! dado que las compañías de desarrollo tendrían que revisar sus aplicaciones para asegurarse de no estar infringiendo la ley y, para estar más allá, tendrían que desarrollar sus propios APIs, incurriendo en nuevos costos y riesgos a nivel de seguridad y rendimiento.

Amanecerá y veremos! Pero la importancia de tener una decisión en firme está poniendo a temblar a más de uno, dadas las dimensiones y las implicaciones que están en juego! Prácticamente podríamos estar hablando del equivalente a un bloqueo económico al ecosistema de desarrolladores de Android.