Duda Sobre Versiones de Software

kembe
09 de Abril del 2006
Me gusta la programación a pesar de no tener bases universitarias, lo que he aprendido es por investigar en libros o Internet, pero tengo una duda que aun no encuentro la respuesta; cuando desarrollo un Software X como se cual version es?, acaso la invento, no creo por eso pregunto e imagino que cada numero representa algo pero que representa?? por ejemplo desarrollo un software que le llamare "e-agenda version 1.1.1" que significado tiene cada numero?? en este caso puse tres numeros pero si tuviera 2??? ej "e-agenda 1.1".
Esa es mi duda que significa cada uno de esos digitos, porque no creo que los programadores los pongan porque son sus numeros de la suerte, saludos Gracias

hiei
09 de Abril del 2006
Son convenciones... algunas mejores otras peores pero hay algunas cosas que puedes tomar prestadas.
Por ejemplo el vercionado del nucleo Linux sigue el siguiente esquema:

Linux-X.YY.ZZZ

X es el numero de vericon mayor. Entre las distintas verciones de uno y otro se supone que hay grandes modificaciones que, incluso, puedes hacer que el software para las verciones 1 no funcione en lo absoluto con las verciones 2 (como paso con Linux-1.X a linux 2.2 con el cambio del formato de los ejecutables)

YY es el numero de vercion menor. Hay grandes cambion entre ellos pero se supone que la arquitectura basica no cambia demaciado (aunque puede haber cosas que dejen de funcionar entre uno y otro, son mucho menos comunes) En Linux particularmente, estos numeros tienen un significado especial, pero no necesariamente tiene que ser asi... es una convecion repito... Los numeros pares corresponden a verciones del nucleo estables y usables sin grandes errores o problemas de seguridad, tambien llamados de produccion mientras que los numeros impares pertenecen a las verciones de desarrollo en las que puedes encontrar codigo inseguro, de prueva y hasta que directamente no funciones... es para desguasar...

ZZZ: Son las diferentes subverciones. Estos numeros son para determinar los cambios menores dentro de las verciones menores cuando se agregan caracteristicas (nucleos inestables con numero impar) o cuando se corrigen bugs que habian pasado desapercibidos en las verciones de desarrollo (nucleos de produccion con numero par) De estos numeros se ha llegado a vercionar mas alla del 1000 el Linux... (en las atinguas verciones 1.Y.ZZZZ era comun ver esas cosas dado la gran cantidad de cosas que habia que hacer)

Tambien, y desde las verciones 2.6.ZZZZ se ha agregado un cuatro parametro para determinar el estado del nucleo Linux segun su vercionado:
Los Release candidate (atras llevan el postfijo RCX donde X es un numero, normalmente entre 1 y 9) son los "mas que listos para usar" y los que no lo tiene son vercione sAplha o de prueba (eso quiere decir que son nucleos de prduccion finales pero que faltan ser testeados contra bombas y explociones nucleares)

Sin embargo esto es solo un convencion... Supongo que pocos programas necesitan tanto vercionado como el nucleo Linux. Por ejemplo KDE solo usa dos numeros y el prefijo RC, deja de lado el asunto de los numeros pares e impares porque le alcanza con Alpha y Release. Eso si, las verciones X.Y de KDE siguen el esquema de las librerias en las que se basa (las QT) Si una vercion particular de usa las librerias Qt2.X se llamara KDE 2.Y (no tiene nada que ver el X con el Y) o si usa las 3.X sera KDE 3.Y (como chibo la ultima vercion de KDE es la 3.5.2 -el 2 ese fue porque querian agregarle algunas correcciones menores a la vercion 3.5, pero no es muy comun que ese numerito pase de 3 o 4- pero la proxima vercion que saldara no sera 3.6 sino diractamente la 4.Y porque se basara en las flamantes librerias Qt4)
Otra cosa... RC en KDE quiere decir release candidate pero la vercion final de uso no tiene ese RC al final... es solo para ir sacando verciones de prueba una vez que tiene la gran malloria de una vercion terminada asi se puee ir probando...

Bueno, en terminos generales podemos decir que los numeros separados por punto en la vercion indican los cambios entre verciones en orden de importancia decreciente de izquierda a derecha (2.4.3 es mejor que 2.1.1 pero mas bieja que 4.0.1)

Lo importante es que tengas bien en claro tu el sitema de vercionado que inventes (siempre respetado los lineamientos generales) y que lo dejes especificado en alguna parte para que el que usa tu programa sepa que vercion tiene.

Sudos.