Modas y versiones o como pasar no actualizar a sacar verisones como churros

enter-key-appleHacia tiempo que no escribia un post incendiario y creo que hoy es un buen día para ello. Últimamente estoy viendo una moda en las versiones de las aplicaciones que yo clasificaría en la de "estamos todos locos" o como diría vayavoragine "vamos a morir todos" y es que últimamente aparecen versiones como churros. Pero voy a hacer un poco de abuelo cebolleta y os voy a contar como ha evolucionado la moda con el paso de los últimos 15 o 20 años en la industria del software para que os hagais un poco a la idea de este brutal cambio.

Cuando Adan y Eva andaban por el paraiso y cogiendo la manzana prohibida acabaron por NextStep, alla por los años 80 y 90, las versiones del software era como un buen artículo de la Wikipedia expondría y es que son numeradas con {version}.{subversion}.{revision}.{commit,fecha,codigoquequeramos}.

La idea es que nuestra versión solo se actualiza cuando sufre cambios importantes y que afectan tanto que podría significar que se trata de una version completamente nueva, aquí podemos poner como ejemplos: una reescritura del código, cambio de lenguajes o librerías, o un cojunto de tantos cambios de golpe que podamos considerar que es un nuevo programa y de ahi su salto de version. Muchas veces tambien se asocia a un cambio de diseño, sobre todo en versiones web.

La subversión (con confundir con SVN), hace referencia a cambios, que aunque también grandes, no varian brutalmente el diseño de la web, por ejemplo añadir una o varias nuevas funcionalides. Imaginemos que tenemos wordpress y de repente hay una nueva funcionalidad que añade un nuevo módulo de galeria de fotos, esto sería una subversión, pero si por el contrario, la funcionalidad fuera permitir (de forma nativa y sin plugins) un sistema de multidioma para los artículos que conlleva la reescritura de medio core de wordpress, entonces, se podría considerar una versión nueva.

De revisión hasta el final, es algo opcional y solo informativo, normalmente la revision suelen ser las releases oficiales, aunque no se hayan hecho públicas, por ejemplo, cada vez que compilamos para sacar una versión en producción o en entornos de desarrollo, podríamos considerarlo como revisión y puede tener pocos o ningún cambio. Igual pasa con los siguientes parámetros, que suelen hacer referencia, si es que se usan, a número de commit en el control de código, la fecha del día, un número aleatorio o algún código que haga referencia a la fecha y número de veces que hemos compilado.

Hasta aquí la explicación, ahora vamos con la historia. Hace años se respetaba esta teoría en mayor o menor medida, cada versión nueva era un software nuevo, cientos de funcionalidades nuevas, mejoras importantes, rediseños completos, algo grande y por tanto, las versiones de los software eran pequeñas y una buena muestra es el propio Microsoft Windows que en 30 años y 14 versiones oficiales, realmente la version de Windows 8 es la 6.2.9200. A veces se daba el caso en que algún software, para competir un poco, se saltaba alguna versión para dar mas apariencia de software maduro, como por ejemplo y sin salir del ejemplo de Microsoft, nos encontramos con SQL Server, que salto de la versión 1.1 a la 4.21 haciendo un chasquido de dedos... y ¿Dónde quedaban la versión 2 y 3? Pues cuando le preguntaron esto, como si de guionistas de Lost se trataran, con otro chasquido de dedos, estabamos ante la versión 6 ¿Y la 5? y lo que sería la llegada a la normalidad en las versiones de SQL Server.

Algunos pensaran, que Microsoft, que malo es, vade retro, pero en realidad era una práctica común cuando un software se quedaba atras y es que por aquella época, Oracle con 15 años mas de desarrollo a sus espaldas, contaba con su versión 7 de base de datos, mientras que SQL Server solo la 1.1, por lo que se vieron obligados a saltar hasta una versión 6, indicando que eran inferiores a Oracle pero no estaban tan lejos. Caso así encontramos a Firefox, que el pobre, tuvo que optar por la moda del rapid release para poder competir con Chrome que saca versiones como churros.

¿Qué es eso del rapid release? Es cambiar la forma de obtener versiones, en lugar de tener varios branchs de desarrollo en versiones diferentes, las  versiones nacen y mueren rápidamente para centrar todo el esfuerzo en una funcionalidad, sacarla con una versión y pasar a la siguiente. Esto tiene cierta lógica en desarrollos en producción y que no necesite de excesivo testeo, por ejemplo, implementar en el caso de Firefox, ciertas funcionalidades experimentales de HTML5 que pueden fallar pero que de entrada funcionan mas o menos.

De todos es conocido que Google Chrome, utiliza rapid release, que se puede ver como en cuestión de 3 años han sacado 25 versiones y para no quedar descolgado, Firefox se ha subido al carro del rapid release. Ya con esto nos podemos echar en cierta medida las manos a la cabeza, ya que cada mes o dos meses tenemos una nueva versión, pero el colmo ha sido Linux. Hace como un año, leia la noticia que la versión del Kernel de Linux iba a ser actualizada hasta la versión 3, no por los cambios que conllevaba, sino por pasar de la version 2.6 en la que llevaba anclada prácticamente 6 años. Cual es mi sorpresa que ayer leia que se había publicado la versión 3.8 del Kernel de Linux y es que habían publicado 8 subversiones.

Cada día hay mas proyecto/empresas que adoptan el rapid release y aunque cada uno pone las versiones que les da la gana, digo yo, si seguimos sacando versiones como churros, apareceran doodle por versión en Chrome, tal como desactivar el modo incognito en la version 69, o haciendo referencia al hombre el la luna. Lo curioso del caso es que, hace unos años, habia otra moda, la moda del "beta" y como recordar a tantos proyectos marcados como "beta", sin ir mas lejos GMail o el "peta" de meneame.

¿Pasamos 5 años en modo beta y luego adoptamos un rapid release y sacamos 14 versiones en 2 años? Así que publico esto en mi WordPress 33, con mi OSX 21.37 y luego veo el post con mi iphone 11. Y como colofón, mencionar como Apple con la tontería, hace tiempo que su iPad3 es solamente iPad y el resto de versiones, son solo iPad, sin versión. Y es que el mundo se ha vuelto loco.

Un comentario en “Modas y versiones o como pasar no actualizar a sacar verisones como churros

  1. Pingback: Bitacoras.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *