En aplicaciones informáticas, una bifurcación de proyecto es una situación en la que un aspecto o característica particular de un producto de software establecido se utiliza como base para crear un nuevo producto que está orientado a aplicaciones que no son el foco del software original. La creación de bifurcaciones de proyectos es una ocurrencia común y puede tener lugar utilizando software libre o de código abierto. También hay ejemplos de un proyecto de bifurcación de proyectos que surgió mediante el uso de algún aspecto de un producto de software propietario.
Dentro del proceso de la ingeniería de software, existe el desarrollo constante de nuevos paquetes de software que satisfacen una gama cada vez mayor de necesidades de los consumidores. A menudo, el software existente proporciona la inspiración para estos nuevos productos. Una o dos características de un paquete de software actual pueden formar la base de un nuevo producto. En este escenario, se dice que el nuevo software se «bifurcó» o derivó del producto de software preexistente. La nueva bifurcación del proyecto busca mejorar el atractivo de esas características prestadas, así como agregar nuevas características que no están presentes en la oferta de software original.
El uso de software de código abierto para la creación de una bifurcación de proyecto es relativamente simple. No es necesario obtener el permiso del desarrollador original, ni ningún requisito para colaborar con los desarrolladores del software de origen de ninguna manera. Sin embargo, no es raro que el desarrollador de una bifurcación de proyecto interactúe con los desarrolladores originales, a veces hasta el punto de trabajar juntos en la bifurcación del proyecto. Sin embargo, este nivel de comunicación y colaboración es completamente voluntario y no es un requisito cuando se trata de software libre.
Con las aplicaciones de software patentado, la creación de una bifurcación de proyecto normalmente la realiza cualquier entidad que tenga la licencia del software original. Sin embargo, es posible que un desarrollador independiente celebre un acuerdo contractual que permita el uso limitado de software con licencia en el desarrollo de la sucursal o bifurcación. Más comúnmente, la empresa que controla el software original simplemente utilizará los recursos internos para desarrollar la bifurcación del proyecto y mantendrá el control total de la licencia. Este enfoque se emplea a menudo al desarrollar versiones nuevas y con más funciones de software propietario, o al crear paquetes de software complementarios que funcionarán con el software original.
Es posible que la bifurcación de un proyecto lleve al desarrollo de un paquete de software que eventualmente eclipsa e incluso reemplaza al software original. En otras ocasiones, las bifurcaciones pueden desarrollarse solo para eventualmente volver a enrutarse a la aplicación de software original y comercializarse como una versión nueva y mejorada.