Fork
Un article de Wikipédia, l'encyclopédie libre.
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é.
Sommaire |
[modifier] Fonction fork dans UNIX
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.
[modifier] Embranchement d'un projet informatique
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 » :
- gforge (voir l'article : Gforge)
- Debian SF
- savannah (voir l'article : GNU Savannah)
- et d'autres qui ne sont plus maintenus
[modifier] Embranchements connus
- GNU Emacs, suite à des différences de point de vue entre le projet GNU (qui était à l'origine de cette version d'Emacs) et des développeurs externes (principalement de l'entreprise Lucid qui développait un produit utilisant GNU Emacs), donne GNU Emacs et Lucid Emacs (qui est ensuite renommé en XEmacs).
- En 1997, GNU Compiler Collection (GCC) stagne et le fork EGCS apparaît pour progresser plus vite, notamment dans le support du C++ standard. Finalement, la branche EGCS supplante la branche stagnante de GCC en 1999.
- En 2003, un fork du logiciel libre de dessin vectoriel Sodipodi, nommé Inkscape est lancé. Aujourd'hui, Sodipodi n'a pas sorti de nouvelles versions depuis février 2004 alors qu'Inkscape connaît un développement très actif. À noter que Sodipodi était déjà à l'origine un fork du logiciel libre Gill.
- En 2004, suite à un désaccord de licence, un bon nombre de développeurs de XFree86 décident de créer X.Org à partir de XFree86 4.4 RC2. Très vite, X.Org remplace XFree86 dans la plupart des distributions Linux.
[modifier] Autres acceptions
- South Fork est le nom du ranch de la famille Ewing dans le feuilleton télévisé Dallas.
- Fork est le nom d'un sort d'éphémère (Instant en anglais) du jeu de cartes à jouer et collectionner Magic : l'assemblée ; une fois joué, il duplique à l'identique un rituel ou un autre éphémère.