L'open source et le fork : quand devrait-on avoir recours au fork ?
Quelles sont les conséquences sur un projet ?

Le , par Hinault Romaric, Responsable .NET
Le fork, est-il le moyen d’expression favori des communautés open source ?

Suite à une faille dans la solution de chiffrement open source OpenSSL, le fondateur du projet OpenBSD a procédé au fork de celle-ci pour créer LibreSSL, au lieu de contribuer à l’amélioration de la bibliothèque qui est largement supportée par l’industrie. Pour lui, le code d’OpenSSL ne serait pas assez propre.

La naissance de ce nouveau fork, dont la justification ne nous semble pas assez convaincante, outre le fait que la diversité est non sans nous déplaire, nous amène à cette réflexion sur l’open source et les avantages/conséquences du fork.

Pour rappel, le fork est la création d’un nouveau projet en utilisant le code source d’un projet existant. Il semblerait que ce soit devenu le moyen de communication privilégié par des personnes qui participent au développement d’un projet open source, pour exprimer leur divergence de point de vue ou leur frustration suite au chemin emprunté par le projet.

Le code source des projets open source étant mis à la disposition des développeurs, le fork de ceux-ci se révèle assez simple. L’un des exemples palpant est le nombre de distributions Linux qui existent, dont plusieurs sont nées des divergences lors du développement de celles existantes. C’est le cas notamment de Debian, qui a été forké pour donner naissance à Ubuntu, qui à son tour a vu la naissance d’un embranchement : Linux Mint.

Si le fork est un élément qui peut se révéler bénéfique pour assurer la relance d’un projet suite à une impasse de son équipe de développement ou pour offrir une alternative suite à des dérives, cette pratique peut être néfaste par la confusion et la dispersion des ressources qu’elle entraine.

Quand faut-il procéder au fork d’un projet ? Quand ne faut-il pas avoir recours à cette pratique ?

Les réponses à ces questions se situeraient au niveau des motivations qui ont entrainé le fork d’un projet.

Pour certains projets, des fork sont nés suite au contrôle d’une entité, c’est notamment le cas des projets LibreOffice et Jenkins, qui sont nés suite à une crise entre Oracle et les communautés open source sur les projets OpenOffice.org et Hubson. Pour d’autres, les fork ont vu le jour pour relancer le développement des projets qui stagnent, c’est le cas de Wordpress qui a vu le jour à cause de l’abandon du moteur de blog b2. Dans ces situations, le fork est justifié et c’est l’unique moyen pour la communauté de continuer à participer et assurer la pérennité de ces projets.

Des fork peuvent naitre également suite à des changements drastiques entre les versions d’un produit. Ce fut notamment le cas entre GNOME 2 et GNOME 3, qui a entrainé la naissance du bureau MATE, dont l’objectif était de redonner vie à GNOME 2.

Dans certaines situations, des fork sont nés à cause des conflits entre les développeurs. Parce qu’il s’est fait exclure du projet NetBSD par les autres développeurs, Theo de Raadt a procédé au fork de celui-ci pour créer OpenBSD. Dans ce registre, on peut également citer XFree86, qui a donné naissance X.Org suite à une mésentente entre les développeurs sur la licence à adopter.

Le fork éloigne-t-il l’open source de son principal ennemi ?

Si on s’en tient aux déclarations de Richard Stallman, militant du logiciel libre et père du projet GNU, le premier ennemi du logiciel open source n’est rien d’autre que le logiciel propriétaire. Cependant, le fork apporte-t-il un plus à l’open source dans sa bataille contre le logiciel propriétaire ? Si on se limite au nombre important de distributions Linux, et la part de marché de ceux-ci face à Windows, on serait tenté de dire non. Un autre exemple est le fork d’OpenOffice.org en LibreOffice, qui n’a contribué qu’à séparer les utilisateurs de la suite bureautique, sans lui fournir un avantage concurrentiel contre Microsoft Office.

L’un des aspects clés favorisant l’innovation au sein de l’open source est le développement collaboratif, qui n’est pas, cependant, favorisé par le fork, qui crée une dispersion des ressources. De plus, la multiplication des fork génère une incompatibilité entre les différentes versions et la confusion chez les utilisateurs et les développeurs, qui ont du mal à les supporter dans leur projet. À ce jour, la pléthore de distribution Linux et d’environnement de bureau est devenue un fardeau pour les développeurs, ce qui ne favorise pas leur adoption.

Loin de vouloir lancer un débat interminable, et conscient du fait que nous nous lançons sur un terrain glissant, le but est de ressortir le bon et mauvais côté du fork et son impact sur l’open source, au-delà des idéologies.

Historique de Wikipedia sur les fork

Et vous ?

Quand devrait-on avoir recours au fork ?

Pensez-vous que l’open source abuse de ce moyen ?

Quels sont les avantages et les conséquences de la naissance des fork selon vous ?

Le fork donne-t-il un avantage concurrentiel aux logiciels open source par rapport aux logiciels propriétaires ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Paul TOTH Paul TOTH - Expert éminent sénior https://www.developpez.com
le 02/05/2014 à 13:53
dans toute communauté il y a des meneurs et des suiveurs, dans l'OpenSource c'est également vrai, sans une volonté forte d'un petit nombre pour donner de la cohésion à un projet, il ne peut pas avancer.

quand dans ce petit groupes les avis diverges, le fork est une bonne solution, même si cela divise l'entité pensante, on a deux fois plus de change d'avoir un projet qui avance et innove, quitte à ce qu'une des deux branches meurt et que l'autre en ressorte plus forte.
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 02/05/2014 à 14:00
Citation Envoyé par Hinault Romaric  Voir le message
Pensez-vous que l’open source abuse de ce moyen ?

Oui

Citation Envoyé par Hinault Romaric  Voir le message
Quels sont les avantages et les conséquences de la naissance des fork selon vous ?

Les conséquences sont immanquablement, comme M$ avec ses versions, une incompatibilité et , in fine, une lassitude des utilisateurs..

Citation Envoyé par Hinault Romaric  Voir le message
Le fork donne-t-il un avantage concurrentiel aux logiciels open source par rapport aux logiciels propriétaires ?

Je dirais le contraire, au vu de ma remarque précédente
Avatar de Traroth2 Traroth2 - Expert éminent sénior https://www.developpez.com
le 02/05/2014 à 15:02
@souviron34 : c'est marrant, mais dès qu'on parle d'une spécificité du développement open-source qui peut être considéré comme un avantage par rapport au logiciel propriétaire, tu es parmi les premiers à dire qu'en fait non, pas du tout. C'est une attitude de principe ?

Parce que des utilisateurs lassés par les forks incessants dans le monde du libre ou de l'open-source, je n'en ai jamais rencontré. Ca reste quand même rare, et c'est surtout un moyen de faire en sorte qu'un projet ne s'enterre pas. L'article Wikipédia cité dans la news donne des exemples assez parlants.
Avatar de Shuty Shuty - Membre éprouvé https://www.developpez.com
le 02/05/2014 à 15:08
Citation Envoyé par Hinault Romaric  Voir le message
Quand devrait-on avoir recours au fork ?

Quand la communauté ne parvient plus à répondre aux besoins des utilisateurs. Mais aussi quand on souhaite ré-orienter le projet.

Citation Envoyé par Hinault Romaric  Voir le message
Pensez-vous que l’open source abuse de ce moyen ?

Le but du système de contribution est d'apporter un plus aux projets existants, je ne pense pas qu'être forké est un mal, tout au contraire. Ca veut dire que le projet initial est bien mais incomplet. Etre forké, c'est la classe !

Citation Envoyé par Hinault Romaric  Voir le message
Quels sont les avantages et les conséquences de la naissance des fork selon vous ?

Avantage : Le projet avance plus vite et des idées ou nouvelles features voient le jour.
Désavantage : Si le fork n'est pas suivi, il devient vite obsolète.

Citation Envoyé par Hinault Romaric  Voir le message
Le fork donne-t-il un avantage concurrentiel aux logiciels open source par rapport aux logiciels propriétaires ?

Certainement oui ! Pour toutes les raisons ci-dessus.
Avatar de Viish Viish - Rédacteur https://www.developpez.com
le 02/05/2014 à 15:19
Suite à une faille dans la solution de chiffrement open source OpenSSL, le fondateur du projet OpenBSD a procédé au fork de celle-ci pour créer LibreSSL, au lieu de contribuer à l’amélioration de la bibliothèque qui est largement supportée par l’industrie. Pour lui, le code d’OpenSSL ne serait pas assez propre.

C'est pas tout à fait ça : apparemment il y aurait beaucoup de code spécifique aux plateformes Microsoft dans OpenSSL rendant le code "moins propre" (sans doute), plateforme qui ne sera pas supportée par LibreSSL, ce qui lui permet de faire pas mal de nettoyage dans le code.

Moi je suis pour ce fork pour la simple raison que si un projet n'a pas pour objectif de tourner sur Microsoft, LibreSSL sera sans doute un meilleur choix qu'OpenSSL.
L'autre avantage d'avoir plusieurs librairies pour un même usage est que lorsqu'une faille très grave est trouvée dans une librairie, ça limite le nombre de machines compromises.
Avatar de Philippe Bastiani Philippe Bastiani - Membre éprouvé https://www.developpez.com
le 02/05/2014 à 15:22
Citation Envoyé par Hinault Romaric  Voir le message
Cependant, le fork apporte-il un plus à l’open source dans sa bataille contre le logiciel propriétaire ?

Qu'elle bataille ? il ne faut pas s'arrêter à la vision du monde de Stallman... Le libre / open existe car il y a un besoin qui n'est pas couvert par les solutions commerciales. Le libre / open cohabite très bien à côté du commercial !

Citation Envoyé par Hinault Romaric  Voir le message
Si on se limite au nombre important de distributions Linux, et la part de marché de ceux-ci face à Windows, on serait tenté de dire non.

Oui et non !
Oui : il y a fragmentation
Non : une solution unique n'apporterait guère plus d'audience à Linux.
Les utilisateurs de Linux font nécessairement un choix; et, ce choix n'est pas imposé mais réfléchi... L'utilisateur Linux s'autorise donc le choix de choisir sa distrib, son bureau, etc... et, en celà la multiplication des distribs n'est pas une limitation pour cet utilisateur averti. Bref, c'est une autre façon de penser son environnement de travail !

Pour OpenOffice/ LibreOffice & Hudson/Jenkins : nous avons assisté à une fronde contre Oracle (ici on peut parler de bataille). Personnellement, je n'avais pas approuvé ces nouvelles directions... Et, je n'ai pas compris pourquoi les communautés Libre et Open n'ont pu se réconcilier... Aujourd'hui, on peut se demander quelles intérets ont eu les fondations Apache & Eclipse à la récupération des projets initiaux ! Y-a-t'il une vie pour Hudson/OpenOffice après Oracle ?

Citation Envoyé par Hinault Romaric  Voir le message
L’un des aspects clés favorisant l’innovation au sein de l’open source est le développement collaboratif, qui n’est pas, cependant, favorisé par le fork, qui crée une dispersion des ressources.

Pourquoi donc ? Si une idée ne peut s'épanouir dans un projet, pourquoi devrait-elle mourrir ? Le fork au contraire favorise l'innovation, l'expérimentation, etc ! Par contre une bataille de communauté nuit nécessairement au produit (c.f. office).

Citation Envoyé par Hinault Romaric  Voir le message
De plus, la multiplication des fork génère une incompatibilité entre les différentes versions et la confusion chez les utilisateurs et les développeurs, qui ont du mal à les supporter dans leur projet. A ce jour, la pléthore de distribution Linux et d’environnement de bureau est devenue un fardeau pour les développeurs, ce qui ne favorise pas leur adoption.

Pour le logiciel 'majeur' n'y a pas autant de fork que tu le sous-entends ! C'est même assez rare...
Pour Linux j'ai déjà répondu : Linux est un choix ! Le choix de sa distrub est pour moi un plus... et, c'est un utilisateur Windows qui dit celà...
Avatar de souviron34 souviron34 - Expert éminent sénior https://www.developpez.com
le 02/05/2014 à 15:37
Citation Envoyé par Traroth2  Voir le message
@souviron34 : c'est marrant, mais dès qu'on parle d'une spécificité du développement open-source qui peut être considéré comme un avantage par rapport au logiciel propriétaire, tu es parmi les premiers à dire qu'en fait non, pas du tout. C'est une attitude de principe ?

Non, mais Philippe ci-dessus a donné en gros mes arguments :

On pouvait penser à la fin des années 90 que Linux "battrait" Windows justement par une stabilité, puisque la partie "commerciale pure" serait éliminée..

Résultat : on a X "flavours" ou distributions, chacune tentant d emettre en évidence sa force et la faiblesse des autres, de même que pour les navigateurs etc..

Au bout du compte, au lieu que Linux ait remplacé ou très fortement écorné Windows chez le "lambda" à cause de sa stabilité et simplicité, il continue plus de 15 ans après à n'être "parqué" que chez des "avancés", des semi-pros, et le "lambda" est tout autant qu'avant laissé pour compte, que ce soit du point de vue simplicité ou "unicité"..

C'est tout...
Avatar de mermich mermich - Membre expérimenté https://www.developpez.com
le 02/05/2014 à 15:53
Bon, je sais que je vais me faire trasher par le terre entière, mais forker un projet car on est mécontent de l'indentation et que l'on utilise des goto, c'est un peu montrer les limites du libre, de la contribution ouverte et sa qualité inhérente, et que l'on a un ego surdimensionné.

Depuis la fenêtre du monde "pas libre", ça donne vraiment une vision du foutoir, de combat des chefs, et de bordel sans nom. J'aimerai bien savoir coté décideurs, ce ce qu'ils en pensent.

Pour revenir au sujet:
Quand devrait-on avoir recours au fork ?
Le moins possible.

Pensez-vous que l’open source abuse de ce moyen ?
Oui

Quels sont les avantages et les conséquences de la naissance des fork selon vous ?
Tres souvent un peu de pub, effet marketing et pétard mouillé
S'approprier un projet non maintenu en fin de vie

Le fork donne-t-il un avantage concurrentiel aux logiciels open source par rapport aux logiciels propriétaires ?
Hors sujet: si c'est propriétaire ce n'est pas open source, donc on ne peut pas le forker.
Avatar de _skip _skip - Expert éminent https://www.developpez.com
le 02/05/2014 à 17:24
Citation Envoyé par Hinault Romaric  Voir le message
Quand devrait-on avoir recours au fork ?

En dernier recours, par exemple lorsque les développeurs du projet original passe à complètement autre chose en laissant tomber les utilisateurs.

Pensez-vous que l’open source abuse de ce moyen ?

Contrairement aux autres avis, pas tant que ça...
A part linux, je ne sais pas vraiment citer beaucoup de projets open source où le "fork" (avec + ou - d'abus de langage) a provoqué un partage en cacahouète total avec la multiplication incontrôlée des versions / flavours etc... Et ça au final, même si des gens sur ce forum refuseront catégoriquement de l'admettre par idéologie, c'est un problème lorsque ça devient extrême.

Quels sont les avantages et les conséquences de la naissance des fork selon vous ?
Le fork donne-t-il un avantage concurrentiel aux logiciels open source par rapport aux logiciels propriétaires ?

Oui, la possibilité de forker est un avantage, mais c'est un avantage qui est à relativiser. A titre d'exemple, même si beaucoup d'utilisateurs du framework java Play! ont hurlé leur mécontentement lors du changement de direction entre les versions 1.x et 2.x, les tentatives de forks décidés à chaud n'ont pas été bien loin. Pourquoi cela? Parce que ça coûte de l'argent de forker des projets et de les maintenir lorsqu'ils ont une certaine importance. Pour moi, le plus grand intérêt de l'open source n'a jamais été la possibilité de forker car bien souvent on n'a pas les ressources suffisantes pour s'occuper soi-même d'un projet délaissé. Et si la communauté prend sur elle de continuer le développement, elle est vite limitée dans ses ambitions sans un gros sponsor.
Donc aussi bien pour de l'open source que du propriétaire, si votre logiciel est soudainement plus maintenu, vous ne maîtrisez plus grand-chose.
Avatar de a028762 a028762 - Membre averti https://www.developpez.com
le 02/05/2014 à 18:55
le fait de forker OpenSSL est en effet plutôt malheureux, même si un peu d'hygiène ne fait jamais de mal...
d'autres exemples sont plutôt justifiés, comme Mariadb et LibreOffice, dont les forks sont surtout à la position ambigûe d'Oracle avec Mysql et OpenOffice.
D'ailleurs le fait de débattre du caractère nécessaire ou pas du fork des logiciels open source est de l'ordre du sexe des anges.
L'open source est forkable par essence, maintenant est-ce intéressant ? Chaque développeur qui forke risque de se retrouver seul, mais c'est son choix.
Ol
Offres d'emploi IT
Architecte technique des systèmes d'information H/F
Safran - Ile de France - Évry (91090)
Architecte électronique de puissance expérimenté H/F
Safran - Ile de France - Villaroche - Réau
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil