Bleeding edge technology
El software de computador “bleeding edge”, especialmente Código abierto, es especialmente común. En realidad, es una práctica habitual para los desarrolladores de código abierto para publicar nuevas versiones “bleeding edge” de su software con bastante frecuencia, a veces en un estado bastante incompleto para permitir que otros lo ayuden a revisar, probar, y en muchos casos, contribuir. Por lo tanto los usuarios quienes quieren características que no fueron implementadas en antiguas, pero más estables versiones del software pueden elegir la versión “bleeding edge”. En estos casos, el usuario está dispuesto a sacrificar la estabilidad o facilidad de uso en aras de una mayor funcionalidad.
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.