Ciclo de vida del lanzamiento de software
En la programación de código abierto los números de las versiones, o los términos estable e inestable, normalmente distinguen las fases del desarrollo. En el pasado, el núcleo Linux usaba el número de versión para denotar si una versión era estable o inestable. En efecto, las versiones estaban formada por cuatro números, separados por un punto. Una cifra impar en el segundo número de la versión indicaba una versión inestable. Hoy en día ya no se usa esta convención, y todas las versiones son estables independientemente del número de versión. En la práctica el uso de números pares e impares para indicar la estabilidad de un producto ha sido usado por otros muchos proyectos de "software" libre.
Control de versiones
Aunque un sistema de control de versiones puede realizarse de forma manual, es muy aconsejable disponer de herramientas que faciliten esta gestión dando lugar a los llamados sistemas de control de versiones o VCS (del inglés "Version Control System"). Estos sistemas facilitan la administración de las distintas versiones de cada producto desarrollado, así como las posibles especializaciones realizadas (por ejemplo, para algún cliente específico). Ejemplos de este tipo de herramientas son entre otros: CVS, Subversion, SourceSafe, , Darcs, Bazaar, Plastic SCM, Git, SCCS, Mercurial, Perforce, Fossil SCM, Team Foundation Server.