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.
Dependencias de software
Los problemas de dependencias de software se pueden resolver de distintas maneras. Una de ellas es proporcionar un instalador que incluya todas las dependencias o las descargue automáticamente. Otro método alternativo es el de los gestores de paquetes, que calculan las dependencias cada vez que se instala nuevo software y las descarga. La desventaja más notoria de estos sistemas es probablemente que puede haber conflictos con bibliotecas compartidas de diferente versión. Sin embargo, en el caso de los gestores de paquetes es menos probable que esto ocurra, ya que la mayoría de los paquetes usados por los gestores de paquetes suelen ser creados por la misma persona o el mismo equipo de personas, con lo que pueden resolver dichos conflictos.