Quand GitHub commence à annoncer des mises à jour, cela ne se limite en général pas à une seule. Ainsi, ces derniers jours l'équipe a levé le voile sur de nombreuses nouveautés, mais aussi sur un nouveau service permettant d'aider les développeurs à choisir leur licence open source.
GitHub est un service qui devient de plus en plus incontournable dans le monde du développement open source, ou même en tant qu'outil tout-en-un pour les entreprises, même si ces derniers mois ont été émaillés de nombreux soucis techniques. Mais lorsque l'on veut y publier un projet ou tout simplement participer, se pose la question de la licence. En effet, de la très permissive MIT aux différentes versions de la LGPL en passant par Apache, la liste est longue et les droits et devoirs ne sont pas vraiment les mêmes et peuvent tout changer.
Choisir une licence open source : GitHub veut vous aider, et ce ne sont pas les seuls
Comme les développeurs ne sont pas tous des fanas de droit, il existe depuis un moment des initiatives permettant de les comparer afin de choisir celle qui est la plus adaptée à ce que l'on souhaite faire. La FSF propose ainsi une version commentée de nombreuses licences, certains sites se proposent de les comparer et d'analyser leur compatibilité et l'on retrouve même un tableau comparatif sur Wikipedia.
De son côté, GitHub a décidé de mettre en place un site dédié au sujet au nom évocateur : Choose a license. Il y est expliqué en quoi choisir une licence n'est pas en soi obligatoire, quels sont les avantages de la MIT, Apache et GPL v2 / v3 qui sont les plus courantes, mais aussi leurs points forts et points faibles pour quelques autres. Certains regretteront que la liste ne soit pas plus exhaustive, que la comparaison ne soit pas possible et que les explications accompagnant chaque fiche ne soient pas un peu plus complètes. Mais c'est un bon début, espérons que l'initiative soit rapidement complétée.
Vous trouvez que le site est incomplet : vous pouvez le modifier
En effet, le site est lui-même sous licence Creative Commons 3.0 avec attribution et disponible sur GitHub. Vous pouvez donc le récupérer, l'améliorer et proposer vos modifications à l'équipe via une simple « Pull request ».
Notez au passage que lorsque vous initialisez un nouveau dépôt sur GitHub, vous aurez désormais la possibilité de choisir une licence, un critère qui sera sans doute intéressant dans le cadre d'une recherche de projet à soutenir. Un guide complet a été mis en ligne concernant cette nouvelle possibilité.
Certaines pages de GitHub s'adaptent désormais aux smartphones
Mais la véritable grande annonce de GitHub est ailleurs : le site est désormais entièrement pensé en Responsive Web Design. Il y a bien eu un temps où l'équipe a proposé une version Android, afin de permettre aux développeurs de suivre leurs dépôts et des comptes via leur smartphone, mais elle n'était plus mise à jour depuis la fin de l'année. Il faut dire que le développement de sites qui s'adaptent à différents écrans commence à être viable avec l'évolution des navigateurs, même si tout est encore loin d'être parfait, notamment au niveau du respect des standards.
Les changements de look de ces derniers mois avec Repository Next cachaient donc l'arrivée d'un site qui s'adapte aussi bien aux ordinateurs qu'aux tablettes et aux smartphones, et ce, quel que soit l'OS utilisé. Un travail spécifique sur la taille des pages tant au niveau du code Javascript que du CSS a été effectué afin d'améliorer la réactivité :
Attention, cela ne s'adapte pas à toutes les pages. L'accueil ou les profils par exemple ne sont pas concernés. L'équipe indique que ce n'est pour le moment proposé que sur les dépôts, la liste des bugs, les « Pull request », les blobs de données, les pages d'historique ainsi que Pulse.
Elle s'explique d'ailleurs sur ce choix : « GitHub est un excellent outil pour créer et publier du logiciel, mais pour la majorité de cette production un portable ou un ordinateur est encore nécessaire. Nos téléphones, d'un autre côté, ne sont pas vraiment très doués dès lors qu'il s'agit de créer mais ils sont parfaits pour naviguer et lire du contenu. C'est là-dessus que nous nous sommes focalisé avec la version mobile du site ».
On imagine en effet assez mal un développeur mettre à jour son code depuis un simple smartphone. Il lui sera par contre possible de suivre l'évolution de son projet, les commentaires, les bugs déclarés, etc. de manière assez simple. Il serait néanmoins bien pratique de faciliter la navigation dans les premières pages, notamment via la page d'accueil.
Quelques petites améliorations au passage
D'autres petites retouches ont aussi été faites sur le site de manière générale. Vous pourrez ainsi désormais voir les favoris d'un compte directement depuis son profil. L'URL est de la sorte :
https://github.com/stars/[nom de l'utilisateur]
Comme vous pourrez par exemple le voir sur ce profil, vous pourrez simplement ajouter chaque dépôt à vos propres favoris, effectuer une recherche ou un tri sur différents critères. Vous pourrez aussi passer à la liste des favoris de développeurs que vous suivez assez simplement via des liens situés en bas de la colonne de gauche.
La gestion d'OAuth a aussi été améliorée pour les développeurs d'applications qui interagissent avec GitHub. L'ancien support de SVN sera, lui, coupé le 31 juillet prochain. Une version améliorée avait en effet été annoncée en 2011 et sera désormais la seule supportée. Au passage, l'URL à utiliser sera donc changée et passera de https://svn.github.com/user/project.git/ à https://github.com/user/project/trunk/.
GitHub continue sa mue : le « Flow » complet peut être géré en ligne, et après ?
Mais ce dont est sans doute le plus fier l'équipe, c'est d'annoncer que tout le « Flow » qui peut être géré sur GitHub est désormais accessible directement depuis un navigateur, sans passer par des applications tierces. Ces derniers mois, de nombreuses fonctionnalités ont en effet été rajoutées à la version en ligne afin de la rendre plus complète.
Même si l'on est encore loin d'un IDE permettant de gérer tout un projet de A à Z comme avec des outils tels que Cloud9 (ce qui ne saurait tarder ?), on peut désormais créer un dépôt, gérer et nettoyer ses branches, ajouter, modifier et supprimer des fichiers, les déplacer ou les renommer, déclarer des bugs, envoyer des « Pull request », créer des « Milestones », gérer la documentation puis finalement distribuer le tout sous la forme d'un package et mettre en ligne un site de présentation.
Une manière sans doute d'attirer toujours plus d'utilisateurs qui cherchent un outil de travail en équipe, et de rendre l'offre GitHub Entreprise plus séduisante. Il faut dire qu'à l'heure où la concurrence commence à montrer les dents et alors Microsoft semble miser gros sur Team Foundation Services, il faut préparer l'avenir.
Mais il reste encore de nombreuses lacunes qu'il faudra combler dans les mois qui viennent afin de réellement convaincre au-delà des projets open-source. La gestion des bugs, du travail d'équipe, des plannings de développement, les outils complémentaires ou même l'interaction avec les IDE vont devoir être largement améliorés pour cela. Car si le service vient ici de franchir une étape majeure, il n'est pas encore arrivé au bout du chemin.