Fusionforge 5.1 & sa communauté

Posté par  (site web personnel) . Modéré par tuiu pol. Licence CC By‑SA.
28
11
juil.
2011
Technologie

Fusionforge, anciennement Gforge, anciennement Sourceforge, publie sa version 5.1, résultat de un an de développement et près de 3000 commits. Cette version est une consolidation des efforts réalisés pour relancer la vitalité de ce projet trop méconnu ou oublié.

La version 5.1 est dédiée à Alexandre Neymann, contributeur gforge puis fusionforge, décédé il y a peu.

Un point historique des forges, des nouveautés de fusionforge ainsi que de sa communauté est contenu dans le corps de cette dépêche.

Un peu d'histoire pour arriver à Fusionforge

Dans le monde des forges logicielles, il y a beaucoup d'acteurs, de nouveautés, de technologies car c'est un domaine dont personne ne peut se passer. Le terme forge logicielle est un chapeau regroupant tous les outils de génie logiciel nécessaire au cycle de vie d'un logiciel. Cela inclut habituellement un gestionnaire de source, un outil de suivi des tâches, des anomalies, des demandes d'évolution, un espace de publication de fichiers … (je pourrais continuer pendant cinq minutes à énumérer les outils que l'on peut ajouter dans une forge).

Les forges logicielles ont gagné leurs lettres de noblesse globalement vers 1999. Il existait déjà des outils de génie logiciel avant 1999 (et heureusement), mais 1999 reste une année particulière. En effet Sourceforge est publié sous licence libre en 1999 avant de redevenir propriétaire quelques moments après. C'est cette publication qui lancera le projet Gforge en 2004

En 2007, la confusion règne entre la version Gforge communautaire, la version Gforge Advanced server et la version Gforge Community Edition. Seule la première est libre et ne partage pas de code avec les deux autres. À l'initiative du mainteneur principal du Gforge communautaire, le projet change de nom pour devenir Fusionforge.

Dans le contexte des forges, Fusionforge fait partie pour ainsi dire des murs et a longtemps été considéré comme un projet sous perfusion ou en léthargie. La tendance de l'historique des commits est sans appel. Il faudra attendre 2009 pour que le projet renaisse avec le lancement du projet Coclico.

Fusionforge 5.1

Publiée ce 1er juillet, cette version est le résultat d'une année de développement. C'est une belle consolidation des efforts réalisés depuis la version 5.0. La version 5.1 représente environ 3000 commits complémentaires à la version 5.0

En effet, des améliorations et des réécritures de modules ont été réalisées depuis la version 4.8 :

  • la couche d'abstraction d'accès à la base de données a été en partie réécrite pour assurer une plus grande fiabilité (version 5.0) ;
  • le système de gestion de sources permet à présent la gestion de VCS plus moderne (git, hg, bzr, darcs, arch …) ainsi que la gestion des repositories par utilisateur (version 5.0 et 5.1) Les anciens VCS sont toujours supportés (cvs, svn) ;
  • l'intégration de Mediawiki a été revue et offre maintenant un espace wiki dédié par projet (version 5.0) ;
  • le système de trackers a été largement réécrit et amélioré, offrant une souplesse inégalée (autant de système de trackers que souhaité, workflow par système de tracker, nombre de champs illimité, barre de progression, lien entre tracker …) (version 5.0 et 5.1);
  • le système de configuration a été unifié et simplifié (version 5.1) ;
  • mise en place de modèle de projet, laissant la possibilité de créer son projet à partir d'un modèle contenant une configuration initiale (activation de modules par défaut, permissions …) (version 5.1) ;
  • le module de gestion documentaire a été réécrit (version 5.1) ;
  • le système de tooltips est activable dans vos préférences pour une aide contextuelle. (version 5.1) ;
  • les pages d'accueil des projets et des utilisateurs ont été réécrites et basées sur des widgets (version 5.1) ;
  • on dispose d'un nouveau thème funky beaucoup plus sexy que le thème par défaut (version 5.1) ;
  • de nombreux greffons complémentaires sont disponibles : hudson, block, gravatar pour ne citer qu'eux (version 5.1).

Le trunk est déjà réouvert avec des nouveautés :

  • continuité de réécriture du module de gestion documentaire ;
  • plugin de bibliothèque de hooks pour tout VCS par projet.

La documentation du projet reste encore le point faible.

La communauté actuelle

Aujourd'hui, il faut compter sur quatre à cinq contributeurs importants, en quasi-plein temps, mais aussi sur des contributeurs plus occasionnels. Certains contributeurs sont sponsorisés par de grands groupes, ce qui permet d'assurer une pérennité à fusionforge. Il est régulier de voir dans les contributions de code les noms de Orange, Alcatel-Lucent, Capgemini.
D'autres contributeurs sont issus du projet Coclico qui vise à redynamiser les communautés de forges logicielles, projet démarré en 2009. La communauté initialement française commence à s'internationaliser.

À ce jour, il est assez simple de devenir contributeur du projet, un peu de bonne volonté, de discussion avec les administrateurs actuels, de mise à disposition du code que vous voulez partager et vous voilà contributeur. Attention : devenir contributeur veut dire que vous vous engagez aussi à maintenir vos évolutions.

Comment contacter la communauté ? Le canal IRC (freenode #fusionforge) évidemment mais aussi la mailing-list (fusionforge-general@lists.fusionforge.org)

Alors si vous êtes intéressé, pourquoi ne pas essayer directement la démo de la version 5.1, en ligne ou via l'image virtuelle ?

Aller plus loin

  • # Positionnement par rapport à la concurrence ?

    Posté par  . Évalué à 2.

    Quid des avantages par rapport aux concurrents comme Indefero, Trac ou Redmine (ChiliProject) par exemple.

    Merci.

    • [^] # Re: Positionnement par rapport à la concurrence ?

      Posté par  . Évalué à 4.

      Et surtout, comment ça se compare à Github, Gitorious ou Bitbucket. Je sais qu'en théorie une forge gère plus de fonctionnalités, etc. etc., mais mon expérience pratique est que les développeurs préfèrent largement github ou bitbucket, jugés plus légers et plus facile d'utilisation.

      Pour moi les forges classiques ont un gros problème d'interface utilisateur (ces onglets partout, c'est pas très attirant, pareil le "Issue tracker" de github est sensiblement plus agréable à utiliser), et elles risquent simplement de disparaître s'il n'y a pas de gros progrès là-dessus.

      • [^] # Re: Positionnement par rapport à la concurrence ?

        Posté par  (site web personnel) . Évalué à 6.

        Je répondrais partiellement à toutes ces questions qui sont intéressantes. On m'excusera d'avance pour ces réponses incomplètes et fondamentalement orientées.

        • comparer avec github, bitbucket ? assez difficile de se comparer à ces 2 là surtout quand ils ne font pas la moitié de ce que fusionforge propose. Par exemple être opensource.
        • comparer avec gitorious.
          que fait gitorious à part repository git et suivi de pull request ?

        • beaucoup d'onglets ?
          oui, c'est vrai que l'interface n'est pas très sexy. Maintenant c'est aussi au gestionnaire de projet de n'activer que les onglets dont il a besoin. On peut se limiter à : la page d'accueil, la gestion de sources, le système de tracker et un wiki. On se retrouve alors avec les fonctionnalités de base.

        Je suis entièrement d'accord sur la simplification de l'interface. A ce jour, les outils type forge présentent des lacunes majeures en terme d'expérience utilisateur (information difficile à trouver, trop de clics pour arriver à une action, interface moche voire repoussante). Fusionforge a un gros travail à faire là-dessus.

        • [^] # Re: Positionnement par rapport à la concurrence ?

          Posté par  (site web personnel) . Évalué à 3.

          Pour gitorious, il y a aussi un module Wiki (avec possibilité d'édition en ligne ou via Git). Ce qui me manque avec Gitorious, c'est tout bête : des mailing-lists (oui, on peut en avoir ailleurs, mais c'est sympa d'avoir tout au même endroit) !

        • [^] # Re: Positionnement par rapport à la concurrence ?

          Posté par  . Évalué à 2.

          comparer avec gitorious.
          que fait gitorious à part repository git et suivi de pull request

          Justement c'est la kill feature des nouveaux forges tel que gitorious, github, etc. Passer d'une collaboration en équipe à une collaboration à large échelle sans perdre la notions des équipes, permet de bénéficier pleinement des DVCS, en particulier, donner une dimension sociale et collaborative après les avantages techniques. C'est une bonne solution pour accélérer,spontanément, la construction d'une communauté autour d'un projet, voire, une évolution naturelle de la vie du projet, ce qui évite parfois les éternels threads sur les mailing lists. Et parfois, les développeurs n'ont même pas besoin de communiquer. (j'ai bien dis parfois)

          Dans les pays où le logiciel libre est à l'échelle embryonnaire, avoir une forge avec cette fonctionnalité permet l'éducation au partage de code (dotFiles, scripts, etc.), qui ramène au notion de partage en général, la création de projets et la construction d'une nouvelle communauté.
          Croyez moi, ceux qui font des efforts dans ce sens sont ravis de voir FusionForge s'améliore d'une version à une autre, mais gitorious séduit, rien que pour çà. Et vu que la change de voir les fonctionnalités de gitorious dans FusionForge est plus forte que l'inverse, On attendra impatiemment (mais pas passivement, j'espère).

          • [^] # Re: Positionnement par rapport à la concurrence ?

            Posté par  (site web personnel) . Évalué à 2.

            Je suis bien d'accord. Maintenant il faut se retrousser les manches et implémenter. La notion de widgets nous aidera sans doute.

          • [^] # Re: Positionnement par rapport à la concurrence ?

            Posté par  (site web personnel) . Évalué à 0.

            que fait gitorious à part repository git et suivi de pull request

            Justement c'est la kill feature des nouveaux forges tel que gitorious, github, etc.

            Mais il n'y a besoin de rien pour faire une requête de git pull ! Je veux dire, ça peut se faire par téléphone, par courrier postal, par courrier électronique, par messagerie instantanée, etc. : coucou Untel, j'ai ajouté tel truc à ton projet Bidule, tu veux bien faire un git pull git://git.ortolo.eu/bidule contrib/tel-truc ?

            • [^] # Re: Positionnement par rapport à la concurrence ?

              Posté par  . Évalué à 3.

              Bien sûr, mais là, c'est directement intégré à la forge !
              Donc tous ceux (dont les auteurs) qui suivent le projet sont informés de la requête de pull et peuvent venir y jeter un œil et donner leur avis sur le code.

    • [^] # Re: Positionnement par rapport à la concurrence ?

      Posté par  . Évalué à 2.

      Trac était au départ une sorte de référence selon moi.

      A l'époque, SourceForge faisait un peu usine à gaz à côté.

      Redmine apportait un peu de dynamisme à Trac qui semblait ne plus avancer beaucoup (support du multiprojet ou support des DVCS).

      Indefero avait l'avantage d'être en PHP et donc plus simple à héberger.

      Quel est le positionnement de SourceForge ?

      • [^] # Re: Positionnement par rapport à la concurrence ?

        Posté par  (site web personnel) . Évalué à 4.

        Sourceforge est disponible là http://sourceforge.net/

        Maintenant si tu veux parler de fusionforge.
        Ecrit en PHP, support multi-projet, support de globalement tous les (D)VCS, système de plugins pour enrichir le tout, intégration mediawiki, gestion de documents, trackers, gestion de tâches ....

        Bref, tout ce qu'on attend d'une forge.

        • [^] # Re: Positionnement par rapport à la concurrence ?

          Posté par  . Évalué à 7.

          Le problème étant souvent non pas de tout faire, mais de tout faire bien et de manière efficace pour les développeurs.

          • [^] # Re: Positionnement par rapport à la concurrence ?

            Posté par  (site web personnel) . Évalué à 5.

            Ça dépends à qui tu t'adresse. Si tu veux installer une forge pour tes besoins persos, tu auras sans doute meilleur jeu d'installer un truc minimaliste et qui te conviens. Mais pour un organisation qui veut offrir une forge à un grand nombre d'utilisateurs très différents, fusionforge est un très bon choix.

            Par exemple : https://gforge.inria.fr/ ou http://forge.imag.fr/. La plupart des projets n'utilisent qu'un très petit nombre de fonctionnalité, mais à peu près quelle que soit la fonctionnalité, tu aurais des gens qui raleraient si elle n'était pas là !

            • [^] # Re: Positionnement par rapport à la concurrence ?

              Posté par  . Évalué à 2.

              Justement au boulot on est parti de la forge INRIA par ce que les outils étaient très très largement insuffisants. Ça fait tout mais ça le fait mal. Du coup on a préféré se frapper le boulot d'admin. Au final on s'y retrouve quand même en productivité.

              Un bon BTS et visionneur de code sont à des années lumières de ce que propose toutes les forges que j'ai utilisée. Et pour l'intégration continue il faut de toute façon se la farcir.

              Actuellement j'ai le même problème par ce que nos projets sont en train de se multiplier et que notre solution home-made scale assez moyennement (#utilisateur et #projet). Mais pour le moment j'ai pas trouvé de solution toute faite qui convienne.

              • [^] # Re: Positionnement par rapport à la concurrence ?

                Posté par  (site web personnel) . Évalué à 2.

                fusionforge est à la traine coté intégration continue même si des efforts sont faits. Un plugin hudson est apparu en version 5.1 par exemple. Il faut de toute façon mettre en place le serveur hudson et déclarer les jobs à la main. La forge INRIA est en version 4.8.x, soit très éloigné de la version 5.1. Pourquoi ne pas donner un coup d'oeil à la version 5.1 ?

            • [^] # Re: Positionnement par rapport à la concurrence ?

              Posté par  . Évalué à 2.

              En plus il y a un tas de raleurs qui utilisent https://gforge.inria.fr/ ;-)

        • [^] # Re: Positionnement par rapport à la concurrence ?

          Posté par  . Évalué à 3.

          Effectivement, je voulais parler de fusionforge.

          En fait, le site n'est pas très vendeur. J'ai cherché sur le site plus d'informations mais j'ai pas réussi à trouver grand chose. Je suis tombé sur un PDF mais j'ai pas trouvé Git ou Mercurial dedans.

          J'ai cherché du côté des plugins et j'ai rien trouvé sur le site. En cherchant sur Google, je suis tombé sur cette page http://fusionforge.org/plugins/mediawiki/wiki/fusionforge/index.php/Plugins#Currently_maintained_ones

          Bref, le projet fait sans doute pleins de choses mais le site n'est ni très accrocheur ni très explicite.

          • [^] # Re: Positionnement par rapport à la concurrence ?

            Posté par  (site web personnel) . Évalué à 4.

            Entièrement d'accord avec toi, le site est moche, la documentation lacunaire, les fonctionnalités difficiles d'accès, etc... Il y a tellement à faire que parfois c'est dur de savoir par où commencer.

            • [^] # Re: Positionnement par rapport à la concurrence ?

              Posté par  . Évalué à 3.

              Je trouve déjà que dans ta petite phrase de présentation, on trouve des informations manquantes sur la page d'accueil:

              Ecrit en PHP, support multi-projet, support de globalement tous les (D)VCS, système de plugins pour enrichir le tout, intégration mediawiki, gestion de documents, trackers, gestion de tâches ....
              
    • [^] # Re: Positionnement par rapport à la concurrence ?

      Posté par  . Évalué à 1.

      Une des forces de fusionforge vient de son origine (SourceForge), c'est à dire, sa possibilité de gérer de très grand nombre de projets avec un coup d'administration très faible.

  • # Problème d'accès au SVN

    Posté par  . Évalué à 4.

    Si on suit les indications de https://fusionforge.org/scm/?group_id=6 :

     % svn checkout svn://scm.fusionforge.org/scmrepos/svn/fusionforge/trunk
    svn: No repository found in 'svn://scm.fusionforge.org/scmrepos/svn/fusionforge/trunk'
    

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.