La bifurcation consiste à prendre le code source d'un logiciel open source et à développer un programme entièrement nouveau. Une impasse au sein d'un projet open source peut souvent conduire à la bifurcation. Cela se produit généralement lorsque les membres de l'équipe de développement sont incapables de résoudre des conflits personnels ou ne parviennent pas à un consensus sur les prochaines étapes. Les bifurcations peuvent également se produire lorsque les membres principaux d'une équipe de développement open source décident de ne pas traiter les cas d'utilisation que d'autres membres de la communauté de développement jugent importants. Bien que les bifurcations de logiciels ne soient pas toujours une bonne idée car elles peuvent faire double emploi, la plupart des développeurs s'accordent à dire qu'il s'agit de la plus grande force des logiciels libres. Les bifurcations peuvent faire gagner du temps, aider les développeurs à trouver de nouvelles utilisations pour un code plus ancien et ouvrir des possibilités commerciales. La nouvelle version du logiciel doit porter son propre nom et avoir sa propre communauté de développeurs pour être considérée comme un fork. Un fork superficiel est un fork qui reste compatible avec un programme plus ancien. Le nom fork est dérivé de la norme POSIX pour les systèmes d'exploitation. Un fork fait référence à un processus qui crée une copie exacte de lui-même.