¿Por qué el Software tiene números de versión?

¿Por qué el Software tiene números de versión?

Cuando hablamos de software, los números de versión están por todas partes. Pero, ¿por qué son tan importantes? Existen varias razones para darle un número de versión a un software, y todas ellas aportan valor de distintas formas.

1. Mostrar Progreso

Una de las principales razones para asignar números de versión es mostrar el progreso del software. Por ejemplo, la versión 2.0.0 viene después de la 1.0.0, lo que significa que una versión es distinta a otra anterior. Cada número refleja mejoras, cambios y avances en el desarrollo.

2. Marketing

Otra razón para numerar las versiones es el marketing. Los números de versión permiten resaltar las nuevas características: "La versión 2.0.0 tiene 100 funciones nuevas frente a la versión 1.0.0". Este enfoque permite destacar las mejoras del software y, en el mundo del marketing de productos, ayuda a captar el interés de los usuarios cuando lanzas una nueva versión.

3. Compatibilidad

Los desarrolladores de software también usan los números de versión para indicar compatibilidad. Así, al ver dos números de versión del mismo software, un desarrollador puede saber si son compatibles entre sí o si requieren ciertos ajustes.

Este enfoque de compatibilidad en las versiones da origen a lo que llamamos Versionado Semántico, o SemVer.

SemVer = Versionado Semántico

Existen muchas formas de versionar software, pero SemVer es una de las más reconocidas y aceptadas, especialmente porque facilita la compatibilidad. Sin embargo, no seguir estas prácticas puede tener consecuencias.

En una conversación con un cliente, descubrí que él no usaba mi plugin ochOpenGraph porque "seguía en beta". Esto me tomó por sorpresa, porque el plugin ya estaba en cientos de sitios y mantenido de forma constante. Resultó que el cliente consideraba que todo software con una versión menor a 1.0.0 era "beta" y no lo usaba en producción. Me di cuenta de que, además de mostrar progreso y compatibilidad, los números de versión también afectan la percepción del software.

Por eso, decidí cambiar al sistema SemVer. Este método de numeración es un estándar ampliamente utilizado y respetado.

¿Qué es el Versionado Semántico?

Un número de versión semántico consiste en tres partes separadas por puntos, como 1.3.7. Cada número tiene un significado específico que indica la compatibilidad del software. El formato es el siguiente: breaking.feature.fix

  • Versión de Breaking (rompimiento): Cambios incompatibles que rompen la funcionalidad anterior del software.
  • Versión de Feature (funcionalidad): Nuevas características añadidas de forma compatible con versiones anteriores.
  • Versión de Fix (corrección): Correcciones de errores que son compatibles con versiones anteriores.

Ejemplos de Versionado Semántico:

  • 0.1.0: Es una versión en progreso. Puedes esperar que este software no sea completamente estable y no se recomiende para entornos de producción.
  • 1.0.0: Primera versión estable.
  • 1.1.0: Versión con nueva característica; no rompe la compatibilidad con versiones anteriores.
  • 1.1.1: Primera versión de corrección de errores; no rompe la compatibilidad.
  • 2.0.0: Versión estable que rompe la compatibilidad con versiones anteriores. Al actualizar a esta versión, generalmente es necesario migrar o realizar ajustes en la funcionalidad.

Consejo de JadrDev:

Recuerda que versionar adecuadamente tu software no solo muestra el progreso, sino que también afecta la percepción de tus usuarios. Usa SemVer para comunicar la estabilidad y compatibilidad de cada versión. ¡Y asegúrate de que tus usuarios comprendan las ventajas de cada nueva versión para que tu software gane la confianza que merece! 🛠️

Read more