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.
Licencia de software libre
Durante los años noventa, estas licencias de software libre empezaron a incluir cláusulas para protegerse contra las patentes de software. Esta nueva amenaza era una de las razones para escribir la versión 3 de la GPL de GNU en el 2006. En los últimos años, están apareciendo dispositivos específicamente diseñados para prevenir que los usuarios ejecuten versiones modificadas del software en ese hardware. Esto es visto por la FSF como una manera de transformar el software libre en no libre de manera efectiva, por lo que esta práctica es incompatible con la tercera licencia de la GPL. Las licencias de software libre escritas recientemente incluyen alguna forma de cláusulas contra patentes. Estas medidas estipulan que los derechos de uno bajo la licencia, tales como la de la redistribución, pueden ser eliminadas si se llevan a cabo prácticas, como la anteriormente mencionada, que restringen las libertades del usuario.