Fork est un mot anglais signifiant " fourche ", " fourchette ". Il vient du mot latin furca (qui est également à l'origine de plusieurs mots en français comme bifurcation), via le normo-picard forque. C'est souvent dans ce sens figuré " d'embranchement ", de " différentiation " qu'est employé cet anglicisme en informatique. Il désigne donc un objet (au sens large, cela peut être un projet) ayant une racine commune avec un second. Ces deux objets jumeaux au départ après s'être séparés suivent une évolution propre, différente.
Ce mot peut également être employé comme synonyme d'objet dérivé.
La fonction fork fait partie des appels système standards d'UNIX.
Cette fonction permet à un processus (un programme en cours d'exécution) de se dupliquer, par exemple en vue de réaliser un second traitement, parallèlement au premier.
Il existe une filiation dans les processus : le créateur d'un nouveau processus est appelé le père et le nouveau processus, le fils. Tous les attributs systèmes du père (par exemple les droits sur le système de fichier) sont transmis au fils, de la même manière que l' héritage.
Il est souvent avantageux de remplacer les forks, coûteux en ressources système (car un fork implique la création d'un nouveau processus), par des processus légers.
La fonction fork est beaucoup utilisée dans les applications client-serveur avec plusieurs clients simultanés.
Parfois nommé fork. L'utilisation, parfois critiquée à bon escient, de l'anglicisme fork dans le contexte de projet informatique est une utilisation imagée du mot fork utilisé en programmation : on crée un nouveau projet à partir d'un autre à l'identique, sans détruire celui-ci. Cela implique que les droits accordés par les auteurs le permettent : ils doivent autoriser la modification, l'utilisation et la redistribution du code source. C'est pour cette raison que les embranchements se produisent facilement dans le domaine des logiciels libres. Les forks sont perçus par certains comme une épée de Damoclès au dessus des auteurs des projets les moins bons, et aussi comme une méthode pour empêcher l'appropriation d'un projet par un groupe. La " peur de l'embranchement " est un des mécanismes essentiels de régulation et sélection des projets du logiciel libre. Les effets ne sont pas anodins car les ressources disponibles en termes de développeurs prêts à contribuer notamment sont réduites.
Une illustration de la régulation des projets libres par ce moyen est l'apparition d'au moins trois forks pour le projet SourceForge à l'issue de la " dérive de sourceforge " :