Les alternatives à GitHub

Microsoft venant tout juste d’officialiser le rachat de GitHub, certains usagers de la plate-forme seront sans doute tentés de chercher des alternatives. Nous allons voir dans ces lignes quelles plates-formes peuvent la remplacer et vous offrir l’asile inconditionnel. Pas si évident en ces temps plutôt difficiles. Pour trouver de bonnes alternatives, il faut partir de l’existant. GitHub est un outil important pour la plupart des développeurs. Il offre les avantages d’un hébergeur de code via un accès centralisé aux projets. Les membres d’une équipe projet peuvent y déposer leurs sources pour les sauvegarder et les partager, facilitant la gestion du versionning. Contrairement à d’autres solutions open-source de gestion de code, le projet GitHub n’est pas axé sur la gestion distribuée du code source mais sur sa concentration et plutôt sur la possibilité d’utiliser les fichiers déposés par les utilisateurs individuels, répertoriés grâce à Git. Les utilisateurs de GitHub peuvent se servir soit de Git soit d’une sous-version comme VCS (version Control System) pour gérer leurs sources. Grâce à un système de gestion centralisée des codes source tel que CVS ou SVN, les codes source et données annexes sont automatiquement sauvegardés dans un fonds d’archives à partir duquel ils peuvent ensuite être téléchargés par d’autres développeurs. Après modification, ces éléments pourront à nouveau être enregistrés dans la base de données. L’un des avantages de GitHub est d’offrir à tous les utilisateurs une base de données de code gratuite et de taille illimitée. Il est toutefois nécessaire de souscrire à un abonnement mensuel pour créer des référentiels de données privés. GitHub offre aussi la possibilité de créer des organisations, qui fonctionnent essentiellement de la même manière qu’un compte classique, mais dans lesquelles un utilisateur – au moins – tient le rôle de gestionnaire. Il existe néanmoins quelques cas où GitHub n’est pas adapté. Il peut aussi y avoir des problèmes entre le client et l’entreprise si par exemple le code généré est hébergé par un serveur privé. Une autre raison de chercher des alternatives à GitHub est l’utilisation d’autres VCS (systèmes de contrôle de version) non compatibles avec lui ou bien encore… si on a peur de son nouveau propriétaire. Il existe fort heureusement de bonnes alternatives à GitHub. Les plates-formes présentées ci-après ont un avantage commun : pouvoir consulter aisément et de manière claire le code source d’applications diverses et variées et permettre à quiconque le souhaite d’intervenir facilement sur un projet.

GITLAB

GITLAB REPRÉSENTE SANS CONTESTE POSSIBLE LA PRINCIPALE ALTERNATIVE À GITHUB. Lancé en octobre 2011, GitLab Community Edition est sans nul doute l’alternative à GitHub qui peut paraître la plus évidente. Enregistré sous licence MIT, ce logiciel libre et open source a, au passage, fait l’objet d’un hashtag #MovingToGitLab invitant les utilisateurs de GitHub à se tourner vers lui avant même le rachat officiel de GitHub par Microsoft. Que ce soit ou non à cause de cela, Gnome (l’interface graphique de bureau GNU/Linux) et GIMP (logiciel de retouche photo), le « Photoshop » open source, ont récemment migré leur code source sur GitLab. L’hémorragie est bien plus importante. Outre ces deux grands logiciels, les créations de projets déposées sur GitLab auraient été multipliées par 10 depuis l’annonce, en début mai, d’un partenariat entre Microsoft et GitHub pour la facilitation du recours aux services Azure DevOps. Celles et ceux qui souhaitent abandonner GitHub à cause de son nouveau propriétaire ne doivent pas ignorer que GitLab était encore il n’y a pas si longtemps hébergé sur la plateforme Microsoft Azure… La communauté a annoncé en avril dernier qu’elle déménageait et passait chez… Google Cloud Platform. Eh oui, il est de plus en plus dur de ne pas vivre à l’ombre des Gafam. Néanmoins, GitLab offre de nombreuses fonctionnalités pratiques et intéressantes, dont notamment un wiki intégré et un site dédié par projet. Il mérite largement d’être choisi, que l’on veuille ou non quitter GitHub. Ses capacités d’intégration en continu facilitent l’automatisation des tests ainsi que la livraison du code. Ce temps gagné dans la phase de test n’est jamais négligeable pour un projet. Les utilisateurs de GitLab peuvent accéder aisément aux diverses parties de leur projet grâce à une visionneuse de code, des pull-requests, des résolutions de conflits pratiques et bien d’autres outils. Le programme est, pour l’essentiel, écrit en Ruby. Ce logiciel open source peut être installé sur votre propre serveur. L’interface utilisateur est propre et intuitive, sans informations inutiles. Ce service inclut un journal d’activités, des révisions de code, le suivi des problèmes, des wikis et l’intégration en continu. GitLab propose deux versions aux développeurs. La première, la version self-hosted, est gratuite mais vous devez télécharger le logiciel et l’installer sur votre propre serveur. La seconde, payante, permet de disposer des mêmes fonctionnalités sans être pour autant obligé d’installer l’outil.

SOURCEFORGE

SOURCEFORGE, LA « FORGE LOGICIELLE » DE L’OPEN SOURCE, N’A PAS TARDÉ À PROPOSER UN OUTIL DE MIGRATION DE PROJETS HÉBERGÉS SUR GITHUB. SourceForge existe en fait depuis plus longtemps que GitHub et que bien d’autres logiciels open-source de gestion de code source. La plate-forme SourceForge a été créée en 1999 pour héberger des projets de développement libres. Il faisait partie des programmes open-source de gestion de code de première génération. Le site propose, entre autres choses, un wiki, un système de suivi de problèmes et un répertoire de code intégré. Il a essuyé quelques critiques en 2010, lui reprochant de ne pas être une plateforme réellement libre. Les adresses IP de certains pays n’avaient pas le droit d’utiliser les services du site parce que ceux-ci avaient été sanctionnés par l’OFAC (Office of Foreign Assets Control, organisme de contrôle financier américain). La société a également connu quelques travers en 2015 à cause de vilains malwares qui l’avaient infectée. Elle a cependant repris un fonctionnement normal depuis janvier 2016. SourceForge est très populaire. Des paquets ou des ISO de nombreux projets et distributions GNU/ Linux sont mis à disposition par son biais. La plate-forme héberge plus de 324 000 projets et regorge de logiciels intéressants. Elle est presque incontournable dès que l’on cherche des outils d’administration système ou de développement, entre autres. Grâce à elle, des développeurs peuvent créer des projets open source et les distribuer facilement. Wikis de projets, métriques, analyses, accès à des URL de sous-domaines uniques, c’est une solution regorgeant de fonctionnalités. SourceForge fournit des outils facilitant l’importation des dépôts GitHub entiers ou de dépôts spécifiques faisant partie de projets existants.

BITBUCKET

BITBUCKET D’ATLASSIAN, COMPATIBLE AVEC LES DÉPÔTS GIT ET MERCURIAL, REPRÉSENTE UNE AUTRE ALTERNATIVE FORT SÉDUISANTE À GITHUB. Bitbucket n’est apparu qu’en mai 2009. Acquis en 2010 par Atlassian, il utilise le logiciel de gestion Git (le même que GitHub) depuis 2011. Il représente une solution intéressante pour les équipes professionnelles. Quelque cinq millions de développeurs et un million d’équipes à travers le monde l’ont déjà adopté. Cette solution logicielle – gratuite ou sous abonnement – vous permet d’héberger et de gérer vos référentiels Git mais aussi Mercurial, de visualiser les validations de source et de modifier directement le code. Il est possible de gérer et de partager ses dépôts Git pour développer et transférer des logiciels. Bitbucket fournit un environnement véritablement complet pour gérer votre code source, dont un wiki, un outil très puissant de suivi des problèmes et une communication facilitée avec les autres collaborateurs ou développeurs d’un projet. Disponible en version payante et gratuite, le prix varie en fonction de la taille des équipes qui l’utilisent. Le service est gratuit jusqu’à cinq utilisateurs regroupés dans une même équipe. Comptez 2 dollars par mois pour la version standard et 5 dollars pour la très raisonnable version Premium.

GITKRAKEN

GITKRAKEN, UNE ALTERNATIVE CLIENT GIT PLUS RAPIDE. GitKraken (gitkraken.com) met pour sa part l’accent sur le gain de temps apporté aux utilisateurs/développeurs grâce à un meilleur testing. Ce système est assez connu pour son interface riche en fonctionnalités et sur ses efforts concernant la rapidité et la simplicité de ses opérations Git. Les erreurs rencontrées peuvent être corrigées immédiatement grâce une fonction de retour en arrière très pratique – un « Ctrl Z » amélioré sur les versions du code. Cela accélère grandement le rythme de développement, idéal pour le RAD (Rapid Development) et diminuer la charge de travail. La version gratuite est disponible pour les entreprises de moins de 20 salariés et les organisations à but non lucratif. Pour les autres, il faudra mettre la main au porte-monnaie. La version payante apporte des fonctionnalités utiles comme la compatibilité avec le profil qui permet de différencier les projets les uns des autres.

GNU SAVANNAH

SAVANNAH, LA PLATE-FORME DE GESTION DE CODE SOURCE PRÉFÉRÉE DE JOHNNY WEISSMULLER ET DE TOUS SES AMIS. Le framework de gestion de code de la savane est un logiciel libre et open source proposé par la célèbre FSF (Free Software Foundation). Il permet de gérer des dépôts CVS, GNU arch, Subversion, Git, Mercurial ou Bazaar et met à disposition une liste de diffusion, un hébergement web et un système de suivi des bugs. Cette solution plutôt intéressante pour les développeurs aguerris à ce genre d’outil n’est pour autant pas très adaptée aux utilisateurs plus novices. Sa prise en main, son installation et surtout la maîtrise de tous ses rouages et fonctionnalités demandent un certain temps d’apprentissage. Solution à éviter, donc, si la transition depuis GitHub doit être rapide, mais à prendre vraiment en considération pour un choix sur le plus long terme, à tête reposée.

CLOUD SOURCE REPOSITORIES

CLOUD SOURCE REPOSITORIES, LE SERVICE DE GESTION DE VERSIONS DE GOOGLE, QUI REMPLACE LE PROJET AVORTÉ GOOGLE CODE, N’EN EST ENCORE QU’À SES DÉBUTS. Suite à l’échec initial de Google Code, le programme a fusionné avec la plate-forme de gestion de versions Google Cloud. Les Cloud Source Repositories de Cloud Source (https://cloud.google.com/source-repositories/), encore en version bêta, peuvent être connectées à d’autres bases si nécessaire grâce à GitHub ou BitBucket. L’utilisateur peut également utiliser les propres référentiels de Google dans lesquels ses fichiers sont enregistrés comme partie intégrante de son infrastructure. Cela garantit la sécurité des fichiers et surtout du code source. Les Cloud Source Repositories présentent un avantage certain du fait qu’elles permettent de chercher directement un extrait de code depuis leur moteur de recherche. Elles permettent de plus de suivre les bugs pendant que le code s’exécute à l’arrière-plan grâce à son outil Cloud Diagnostics. Encore en bêta, suite d’un essai avorté… ce n’est pas vraiment la plate-forme que nous choisirions pour remplacer GitHub, sauf si vous êtes super fan de Google, bien entendu.

APACHE ALLURA

Allura est un programme open-source d’Apache proposant la gestion des codes source et des référentiels de données, le suivi des bugs, la mise en place de forums, de blogs, de pages wiki et autres contenus web prisés des développeurs. Pour le suivi des erreurs, vous pouvez utiliser le formatage Markdown, des fichiers joints ainsi que des tickets d’erreur avec les milestones correspondants. Les développeurs disposent également d’un moteur de recherche syntaxique avancé dans lequel ils peuvent enregistrer leurs recherches les plus fréquentes. Allura ne permet toutefois pas de vérifier le code, ce qui est bien dommage pour ce type d’outil. La plate-forme a été entièrement développée en Python.

BEANSTALK

Beanstalk est géré par Wildbit, un éditeur fondé en 1999 à Philadelphie. Cette solution vous permet de coder, réviser et déployer directement vos sources à partir de votre navigateur. Son principal avantage est son accès depuis n’importe quel appareil et de n’importe où. Beanstalk supporte Git et SVN. Il s’intègre avec les programmes de messagerie en ligne et le courrier électronique pour mieux communiquer sur les différentes décisions et mises à jour du code. Il met également l’accent sur la sécurité avec un chiffrement complet de la base contenant le code, une authentification à double facteur et une gestion assez rigoureuse des mots de passe.