La evolución de la distribución de software
En el año 2011, desoyendo mi propio consejo sobre jamás hacer predicciones en materia de tecnología, escribí en la desaparecida revista Linux+DVD un artículo sobre cloud computing. En él decía que la evolución de la distribución de software iba definitivamente hacia la nube.
Aunque las cosas no fueron tan rápidas como los expertos y yo pensábamos, el rumbo parece inevitable. Más aún si la moda de incorporarle inteligencia artificial a todo software escrito o por escribir se termina convirtiendo en tendencia.
Más allá del retraso por la pandemia, es la propia industria la que parece poner trabas al cambio definitivo del paradigma. Dispositivos pensados para la nube como el Chromebook son difíciles de reparar y quedan rápidamente obsoletos. Las alternativas baratas, conocidas como Cloudbook son verdaderos Frankenstein en los que se combinan hardware con versiones de Windows demasiado pesadas para ellos. Y, el precio de las tabletas de gama alta no las justifica como reemplazo de un ordenador.
No creo que haya una resistencia al cambio del usuario promedio, El uso continuo de teléfonos inteligentes los ha acostumbrado a la interacción permanente con la nube.
Evolución de la distribución de software
En los primeros tiempos de la industria informática, las empresas solo vendían hardware. Los propios usuarios escribían el software que necesitaban utilizando tarjetas perforadas.
A medida que los ordenadores se fueron haciendo más pequeños y accesibles, los aficionados empezaron a escribir sus propios programas y a compartirlos. Se popularizaron lenguajes de programación como Basic que usando palabras del idioma inglés permitían desarrollos de aplicaciones sin necesidad de aprender código máquina o lenguajes más complejos.
Cuando los ordenadores se hicieron populares fuera del círculo de aficionados a la informática, aparecieron usuarios que no querían o podían escribir su propio software y estaban dispuestos a pagar por que otro lo hiciera. Dado que era mucho más barato pagar por un producto estandarizado que por uno hecho a medida, surgió un modelo de distribución de software basado en un soporte magnético. El usuario no pagaba por el producto físico sino por el derecho a usarlo, así apareció el famoso Acuerdo de Licencia de Usuario Final. Este acuerdo establecía bajo que circunstancias se podía usar el producto.
Cada vez que una nueva versión salía, el usuario debía comprar una nueva licencia para la actualización o instalación nueva.
Con la aparición de Internet y el aumento del ancho de banda, se abandona el formato físico sustituido por las descargas de las tiendas de aplicaciones (Que dicho de paso son los gestores de descargas de toda la vida de las distribuciones Linux con un lavado de cara de Steve Jobs)
Sin embargo, el modelo de licencias permanece inalterable.
Software como un servicio
A mediados de la primera década del siglo XXI comienza a gestarse un nuevo modelo que, en realidad, es una vuelta a las raíces. En los primeros tiempos de la industria un usuario introducía información en una terminal que era enviada al servidor central para su procesamiento. El principio del Software como un Servicio es muy parecido.
Con esta modalidad el usuario no necesita tener instalado más que un navegador con soporte para Javascript. El software que necesita está instalado en un servidor externo y lo mismo sucede (Si el usuario así lo desea) con los archivos de trabajo.
En este caso, el usuario ya no paga por la licencia sino por el acceso. Este puede ser a cambio de una tarifa plana mensual, una tarifa por tiempo o por cantidad de usuarios o por características.
¿En dónde queda el software libre y de código abierto en esto?
Es un hecho conocido que el movimiento del software libre comenzó porque Richard Stallman pensaba que el controlador de una impresora era una basura, pidió el código fuente para mejorarlo y se lo negaron. Al principio su desarrollo siguió el modelo de licencias. Solo que estas no ponían trabas a la modificación, copia y distribución de los programas.
El paso al modelo de Software como un servicio se hizo de dos formas:
- Esquema dual: Empresas que ofrecen su producto como un servicio web y una versión comunitaria bajo licencias libres que el usuario puede instalar en su propio servidor.
- Aplicaciones autoalojadas: Un proyecto comunitario ofrece el código fuente para que el usuario lo instale en su propio servidor web y lo utilice desde otro ordenador desde el navegador.
En el próximo artículo discutiremos las ventajas de ambos modelos y recomendaremos alternativas locales a los servicios en la nube