Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

0PARTAGES

4  1 
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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Traroth2
Membre chevronné 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.
9  2 
Avatar de 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.
8  2 
Avatar de 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à...
3  0 
Avatar de a028762
Membre confirmé 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
3  0 
Avatar de 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...
5  3 
Avatar de mangobango
Membre averti https://www.developpez.com
Le 02/05/2014 à 18:57
Je voudrais juste signaler une petite évolution. En effet, la notion de fork était synonyme de "communauté divisée", guerre de clans, etc... Toutefois, récemment et très lié aux SCM distribués et aux plateformes comme GitHub, le fork est devenu un acte innocent et contributif: "j'aime ton projet, je fork et je tripatouille, tiens regarde mes changements, veux-tu les fusionner ou as-tu des modifs à me faire faire avant?".

Pour moi cette nouvelle définition du fork est extrêmement dynamisante pour un projet libre et les plateformes comme GitHub contribuent à améliorer les échanges et la qualité du code qui s'en suit.
2  0 
Avatar de Traroth2
Membre chevronné https://www.developpez.com
Le 04/05/2014 à 11:43
Une vidéo (45 minutes) parlant de forks :



En particulier à 2:25 et 21:15, mais aussi un peu ailleurs...
2  0 
Avatar de imikado
Rédacteur https://www.developpez.com
Le 04/05/2014 à 23:37
Github propose une bonne vision du fork en effet: une personne veut contribuer à votre projet, elle le fork (en un clic) et, une fois la modification stable peut la proposer au développeur(s) du projet (via pull request en un clic)

Cela permet également de participer à un projet collaboratif comme "blogMvc" https://github.com/Grafikart/BlogMVC
Ou l'on forke pour proposer notre version d'une application développée avec le framework de son choix
2  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 05/05/2014 à 13:28
Citation Envoyé par Hinault Romaric Voir le message
Quand devrait-on avoir recours au fork ?
Selon moi quand on veut pousser des modifications / améliorations qui ne vont plus dans le sens du projet d'origine, ou bien si ce dernier est mort.
On trouve malheureusement beaucoup de fork qui rentrent dans les autres cas (comptez le nombre de distribution linux qui ne font que modifier le bureau ou pire... le papier peint...).
Je me ferrai sans aucun doute moinser sur ce commentaire mais je l'assume parfaitement. Etre à la tête d'un projet c'est bien plus cool que d'être un maillon d'une centaine de développeur. Faut pas chercher plus loin pourquoi il y a autant de fork inutiles...

Citation Envoyé par Hinault Romaric Voir le message
Pensez-vous que l’open source abuse de ce moyen ?
Oui et non. Faut pas généraliser.
Il y a des forks inévitables, d'autres qui ne servent absolument à rien.
Après je n'ai pas de chiffres de tous les projets forkés et donc je serai bien incapable de justifier si abus il y a ou non.

Citation Envoyé par Hinault Romaric Voir le message
Quels sont les avantages et les conséquences de la naissance des fork selon vous ?
L'avantage premier est de faire revivre un projet quand le projet forké est abandonné ou à l'abandon.
Une mauvaise conséquence peut être une prolifération de fork d'un produit jusqu'à un point où il est difficile de trouver le produit correspondant à notre besoin tellement il est difficile de trouver toutes les différences entre les forks. (tous les projets n'ont pas 100 pages de descriptifs de ce qu'ils font, quand on a 5 lignes de description pour certains c'est déjà cher demandé je trouve...)

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 ?
Si on part du principe que le fork est une bonne chose on peut dire que cela donne l'avantage de la réactivité pour apporter des améliorations/fonctionnalités.
2  0 
Avatar de pglondu
Nouveau Candidat au Club https://www.developpez.com
Le 12/05/2014 à 4:14
J'ai suivi le fil de discussion et je me rends compte avec bonheur que de jour en jour, la raison prend le pas sur la passion.

J'utilise Linux depuis plus de 10 ans maintenant (15 an en fait mais 10 ans exclusif perso) et ce qui m'a toujours plus dans ce "système" c'est le rapport directe qu'il a à la nature...
Bon OK! Je devine gros yeux et stupeur , je m'explique:

Ce qui a fait qui fait et qui fera la force de Linux c'est GNU-GPL dont je rappelle "l'esprit et l'objectif" (selon wikipédia)

L'objectif de la licence GNU GPL, selon ses créateurs est de garantir à l'utilisateur les droits suivants (appelés libertés) sur un programme informatique:

  • La liberté d'exécuter le logiciel, pour n'importe quel usage ;
  • La liberté d'étudier le fonctionnement d'un programme et de l'adapter à ses besoins, ce qui passe par l'accès aux codes sources ;
  • La liberté de redistribuer des copies ;
  • L'obligation de faire bénéficier à la communauté des versions modifiées.



Si on considère que GPL reste générique dans le monde Linux (il y a bien sûr d'autres licences) on peut en déduire que dans les principes fondateurs du logiciel libre, les évolutions et modifications mineures ou majeures font partie intégrante du processus.

Et j'en reviens là à ma métaphore biologique (un peu osée je l'avoue surtout si l'on n'est pas adepte de la théorie de l'évolution) : dans la nature, la vie teste (mutations) et améliore (évolutions) continuellement les espèces végétale et animales à des fins d'adaptations souvent pour faire face à des situations particulière.
Certaines de ces évolutions ont des effets bénéfiques (survie d'espèces) d'autres plus malheureuses sont plus désastreuses (disparition d'espèces) mais c'est la vie.

Ceci prend forcément beaucoup de temps et aujourd'hui il est coutume de dire que le temps c'est de l'argent mais "fort heureusement" c'est toujours la passion qui anime les développeurs open-source.
On peut dire encore aujourd'hui qu'un développement open-source est "désintéressé" (au début tout du moins). Tout comme l'est la nature ! Jusqu'à preuve du contraire.

De ce point de vue, le monde du logiciel propriétaire en est l'antithèse et je suis d'accord avec l'un des intervenant : il n'y a pas bataille entre "propriétaire" et "open-source" mais complémentarité.

Tout cela pour dire que : (et cela n'engage que moi) : Les questions posées n'ont pas lieu de l'être.
Les évolutions induites par chacun d'un projet open-source est l'essence même de ce système.
En y regardant bien, nous ne parlons de FORK que pour les projets "institutionnels" (Apache, Mysql, Compière, Ubuntu, Mint...) mais il ne s'agit là que de l'évolution "naturelle" des choses dans le monde des systèmes non propriétaires.

En d'autres termes, je suis d'accord avec "a028762"... De quoi parlons nous ? Du sexe des anges ?
2  0