Fork
16689
31609613
2008-07-15T21:23:34Z
81.53.197.107
'''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 [[normano-picard]] ''forque''. C'est souvent dans ce sens figuré « d'embranchement », de « différenciation » 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é.
== Fonction fork dans UNIX ==
La fonction ''fork'' fait partie des appels système standards d'[[UNIX]].
Cette fonction permet à un [[Processus (informatique)|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 (informatique)|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éger]]s.
La fonction ''fork'' est beaucoup utilisée dans les applications client-serveur avec plusieurs clients simultanés.
== 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 [[logiciel libre|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 « [http://www.fsfeurope.org/news/article2001-10-20-01.fr.html dérive de sourceforge] » :
* [http://gforge.org/ gforge] (voir l'article : [[Gforge]])
* [http://www.nongnu.org/debian-sf/ Debian SF]
* [http://www.gnu.org/server/standards/README.savannah.html savannah] (voir l'article : [[GNU Savannah]])
* et d'autres qui ne sont plus maintenus
=== 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 (logiciel vectoriel)|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]].
== Autres acceptions ==
* South Fork est le nom du [[ranch]] de la famille Ewing dans le [[feuilleton télévisé]] ''[[Dallas (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.
== Voir aussi ==
* [[Fork bomb]]
* [[Jamie Zawinski]]
== Liens externes ==
* [http://www.xemacs.org/About/XEmacsVsGNUemacs.html Le fork Emacs selon l'équipe de XEmacs]
* [http://www.jwz.org/doc/lemacs.html Le fork Emacs selon Jamie Zawinski, de Lucid]
{{Portail informatique}}
[[Catégorie:Développement logiciel]]
[[Catégorie:Système d'exploitation]]
[[Catégorie:Programmation concurrente]]
[[ca:Fork]]
[[cs:Fork]]
[[de:Abspaltung (Softwareentwicklung)]]
[[en:Fork (software development)]]
[[es:Bifurcación (desarrollo de software)]]
[[it:Fork (sviluppo software)]]
[[ja:フォーク (ソフトウェア開発)]]
[[nl:Fork (ontwikkeling)]]
[[pl:Fork]]
[[pt:Fork]]
[[ru:Форк]]
[[sk:Fork]]
[[sv:Fork]]