La bifurcación es tomar el código fuente de un programa de software de código abierto y desarrollar un programa completamente nuevo.
La bifurcación es a menudo el resultado de un punto muerto en un proyecto de código abierto que es tan insuperable que todo el trabajo se detiene. Por lo general, esto sucede cuando los miembros del equipo de desarrollo no pueden resolver conflictos personales o no logran llegar a un consenso sobre los próximos pasos. Las bifurcaciones también pueden ocurrir cuando los miembros centrales de un equipo de desarrollo de código abierto deciden no abordar los casos de uso que otros miembros de la comunidad de desarrollo consideran importantes.
Las bifurcaciones de software pueden ser controvertidas cuando duplican esfuerzos, pero la mayoría de los desarrolladores están de acuerdo en que el derecho a bifurcar es la mayor fortaleza del software de código abierto. Una bifurcación exitosa puede ahorrar tiempo de desarrollo, inspirar otros usos para el código antiguo y crear nuevas oportunidades comerciales. Para ser considerada una bifurcación, la versión más nueva del software debe tener su propio nombre y su propia comunidad de desarrolladores. Cuando un nuevo programa sigue siendo compatible con el programa original, se denomina bifurcación poco profunda.
El nombre de la bifurcación se deriva del estándar POSIX para sistemas operativos. En este contexto, una bifurcación es un proceso que genera una copia de sí mismo.