GitHub est désormais la forge (système de gestion de développement collaboratif de logiciel) Open Source la plus populaire en ayant dépassé les leaders tels que : Sourceforge, Google Code et Microsoft CodePlex. En effet, le nombre total de commit pour la période de Janvier à Mai 2011 est largement supérieur, selon les données publiées en ce début de mois par Black Duck Software. Ceci ne devrait probablement pas vous surprendre, mais il est toujours intéressant d’avoir des chiffres. C’est ce que la suite de cet article va vous fournir.
Qu’est ce que GitHub ?
GitHub est un service Web d’hébergement et de gestion de développement de logiciels, utilisant le programme Git. Ce site est développé en Ruby on Rails. Vous pouvez vous inscrire gratuitement à GitHub afin d’utiliser le service, ou vous pouvez devenir un membre premium. Vous pouvez créer des projets et partager vos codes par GitHub. Il fournit toutes les fonctionnalités de type réseaux sociaux : flux, suivi de personnes ou de projets, graphes de réseau pour les dépôts, etc… Ainsi, lorsque vous travaillez sur un projet, vous pouvez ajouter d’autres développeurs qui sont inscrits auprès de GitHub pour vous y aider. Vous pouvez également suivre le projet et apporter des changements dans la version de votre code. Enfin, vous pouvez créer des questions et suivre l’évolution de tous vos codes publics et privés. GitHub fournit également des API pour les développeurs afin de l’intégrer avec leurs projets.
L’avantage est que, au lieu de rechercher sur Google un code source, il est beaucoup plus facile de le rechercher dans des dépôts comme GitHub, où les développeurs peuvent archiver leur code.
GitHub utilise le système de contrôle de révision Git. Ce dernier est un système de contrôle de révision mis au point pour le développement du noyau Linux.
Dans son billet intitulé Why GitHub Will Overtake SourceForge, PJ Hyett donne plusieurs raisons pour lesquelles il a décidé de fonder GitHub :
- Aujourd’hui, Sourceforge est visuellement submergé de grosses bannières publicitaires, et on ne distingue plus bien où l’on peut télécharger les sources. En fait, aujourd’hui, SourceForge a mis à jour son mode de fonctionnement, et on voit sur la page d’accueil un gros bouton vert de téléchargement des sources, comme vous pouvez le voir sur le screenshot ci-dessus, tandis que les publicité ont été reléguées sur la sidebar à droite.
- Sur la page d’accueil du projet, et même sans publicité, on n’a pas de lien visible (ou de gros bouton) pour télécharger l’ensemble des sources de la dernière release. Pas non plus de lien direct pour naviguer dans les sources.
- De fait, la page d’accueil ne donne pas accès directement au fichier README, qui pourtant est fondamental si l’on souhaite utiliser ultérieurement les sources
- Pour contribuer au projet, la seule possibilité est de contacter son créateur/responsable, ce qui n’est pas forcément utile si le projet a été abandonné
Il donne donc les avantages de GitHub :
- Pas de publicité (GitHub est gratuit, mais oblige à rendre vos sources publiques. Si vous voulez qu’elles soient privées, il faut payer)
- Une navigation claire et directe dans le projet. Gros bouton pour télécharger la dernière release, navigation visible, et donc README visible et accessible directement (si il est à la racine des sources, celui-ci est détecté et affiché automatiquement sur la page d’accueil du projet)
- GitHub propose, en un seul bouton, de créer votre fork directement, sans avoir à contacter et demander au responsable du projet précédent son avis (de toute façon, si celui-ci a un compte gratuit, ses sources sont ouvertes)
Et PJ Hyett conclut que son système est beaucoup plus adapté à la nouvelle ère du logiciel libre 😉
GitHub en chiffres
Au cours de la période de récupération d’informations de la part de Black Duck, GitHub avait 1 153 059 commits enregistrés, 624 989 pour Sourceforge, 287 901 pour Google Code et 49 839 pour CodePlex. Incontestablement, GitHub est le leader !
Black Duck a également constaté que C++ et Java sont les langages les plus populaires sur les commits effectués dans ces forges au cours de cette même période d’analyse.
Black Duck n’a pas analysé des forges spécifiques, basées sur un langage particulier, tel que RubyForge, et il a également exclu les commits des langages Shell, XML et assembleur.
Voici les langages les plus populaires :
- C++ : 362 077 commits
- Java : 335 992 commits
- Python : 296 896 commits
- C : 264 468 commits
- JavaScript : 251 557 commits
- Ruby : 234 980 commits
- PHP : 154 250 commits
- C# : 125 848 commits
- Perl : 89 720 commits
Voici comment les langages sont regroupés selon les différentes forges (basé sur le nombre de commits) :
Conclusion
GitHub a permis à de nombreux projets Open Source mineurs de se donner une visibilité inespérée. Le système de fork extrêmement simple permet d’attirer les contributions de manière beaucoup plus naturelle et informelle qu’un système traditionnel.
Avez-vous déjà utilisé GitHub ? Dans quel cadre ? Selon vous, est-ce le meilleur moyen pour rechercher un code source sur le Web ?