/ github

Acquisition de Github par Microsoft

Aujourd'hui, l'acquisition de Github par Microsoft a été confirmée, au travers de billets de blog, par les deux parties.

Profitons-en pour une petite analyse de risques, et surtout pour démonter des choses qu'on a pu voir à droite et à gauche.

Qui ?

Pour commencer, et pour partir sur de bonnes bases, on va mettre un peu de contexte autour de tout ça. Présenter les deux sociétés dont il est ici question.

Microsoft

Microsoft, on ne présente plus ce géant de l'informatique, fondé en 1975 par Bill Gates et Paul Allen. Pour le grand public, c'est l'éditeur de Windows et Office. Pour les plus avertis, c'est également l'exploitant du service de Cloud Azure (oserais je le considérer dans le top 3 ?)

Microsoft c'est plus de 781 milliards de dollars de capitalisation boursière aujourd'hui (Source : 🇬🇧 NASDAQ, au 4 juin 2018). Grosso modo, plus d'un tiers du PIB de la France (environ 2 400 milliards de dollars). Bref. C'est un géant.

Microsoft est aujourd'hui un des plus grands contributeurs du logiciel libre au monde, c'est probable. C'est le plus grand contributeur de 2016 via la plateforme Github, c'est ce que dit ce dernier. (Source : 🇬🇧 Github octoverse)

Github

Github est un réseau social pour les développeurs. On y partage du code, on y échange, on y héberge, on y commente, on y aime, on y clone, on y cherche...

Souvent, ce code est libre (en accès libre), parfois il est privé (on peut y héberger du code non visible, moyennant un compte payant).

Github se base sur un logiciel libre permettant de versionner du code, c'est-à-dire y suivre les changements au fil du temps avec la capacité de revenir en arrière à n'importe quel moment et sur n'importe quelle version. Ce logiciel libre, créé par Linus Torvalds (connu pour être le créateur du noyau Linux) est aujourd'hui maintenu par Junio Hamano.

Github apporte un bon complément à ce logiciel, via une plateforme et des outils de visualisation et d'échange permettant de collaborer facilement en utilisant Git.

Github était valorisé 2 milliards de dollars en 2015 (source : 🇬🇧 Bloomberg). Par projection il est admis que sa valorisation actuelle se situerait un peu au-dessus de 2,5 milliards de dollars.

Github n'était pas rentable, et perdait environ 66 millions de dollars en 9 mois en 2016.

Les principaux concurrents de Github sont Gitlab.com et Bitbucket (Atlassian).

Une acquisition de plus de 7 milliards de dollars

Microsoft a donc acheté Github pour une somme de 7,5 milliards de dollars, ce qui en ferait la troisième acquisition la plus coûteuse de l'histoire de Microsoft, derrière LinkedIn (26 milliards de dollars) et Skype (8,5 milliards de dollars). (Source : 🇬🇧 Wikipedia)

Ce qui justifie ce prix ? D'après 🇬🇧 Octoverse, Github regroupe une communauté de plus de 24 millions de développeurs, animant plus de 67 millions de dépôts (on peut voir un dépôt comme un projet de code), dont une petite moitié est publique.

Fausses vérités

Pêle-mêle des petites choses vues sur les réseaux sociaux suite à cette annonce qui sont incorrectes :

Git est centralisé

Git, le logiciel de gestion de versions, n'est pas centralisé, il est prévu pour se synchroniser de manière paire à paire. En clair si trois personnes souhaitent partager du code, chacune doit ajouter les deux autres dans la configuration du dépôt comme étant un paire. Il est alors possible pour chacun de récupérer et pousser du code sur chacun des paires. Ce n'est cependant pas automatique. C'est pourquoi la majorité des organisations utilisent un serveur ou un service (ce qu'est github) pour y héberger le dépôt qui fera autorité.

Git est donc bien décentralisé, c'est les développeurs qui y préfèrent un usage centralisé, car plus facile. Certaines organisations utilisent github comme miroir, c'est-à-dire que le dépôt principal est ailleurs, et une réplique se trouve sur github.

Il faut migrer vers Gitlab !

Oui et non. Migrer vers Gitlab (le logiciel) c'est une bonne idée, en plus ça vous permet de réviser vos compétences d'administration, ça participe à la décentralisation d'Internet. Par contre, il faut en mesurer les conséquences : où sont vos backups ? Souhaitez-vous une haute disponibilité ?
Migrer vers gitlab.com (Le Cloud gitlab par la société éponyme), c'est ni plus ni moins que faire la même chose chez un plus petit. Étudiez le risque, ne foncez pas sans réfléchir !

Bien ou mal ?

Pluie de dollars

Il faut avouer que Microsoft a de l'argent, et beaucoup. Racheter Github c'est donc probablement pour l'améliorer, le pérenniser ? Peu importe l'intention (s'acheter de la notoriété ?) c'est peut-être une bonne chose pour le monde du logiciel libre. Pourquoi je précise "du logiciel libre" ? Car vu que ce code est ouvert, Microsoft y avait déjà accès, de toute façon.

Une histoire de principes

Oui, il y a des gens qui adorent Microsoft, d'autres qui détestent cette boîte. Donc il y en a qui sont "pour" cette acquisition, d'autres qui sont tristes. J'avoue être plutôt dans la seconde catégorie. Il faut connaître ce biais, pour agir de manière raisonnée.

Si votre code a une très grosse valeur, il n’est probablement pas sur Github. S'il s'agit de vos projets étudiants, ou du code de votre société, je ne vois que difficilement Microsoft en tirer un réel avantage. (Je vous vois parler du plagiat de la souris) Au pire quoi ? Microsoft va analyser vos projets pour vous proposer de meilleurs services dans le Cloud Azure ?

Danger provenant de Microsoft ou d'un État ?

Microsoft coopère très bien avec les États, normal, il leur vend des logiciels. Ce serait dommage de ne pas coopérer et de perdre un marché. On pense alors tout de suite à la NSA, le grand adversaire de la liberté, et donc par extension du logiciel libre (en se forçant d'oublier que la NSA contribue au logiciel libre, coucou SELinux). Le problème ? Github est également une société américaine, soumise donc au Patriot Act. Donc ça ne change rien.

Microsoft et IA

Selon moi, et cette analyse est purement personnelle, le risque que Microsoft ouvre les dépôts privés Github un à un pour voir ce qui peut être utilisé semble assez limité. Ce n'est pas impossible que les salariés de Github eussent de toute façon accès à ce code, peut être avez vous un morceau de code dans le code de Github ? Ce dernier n'est pas libre, vous ne le saurez peut-être jamais.

Bref, revenons en 2011… Souvenez-vous de Skype, acquis par Microsoft… SOUVENEZ-VOUS DE SKYPE !

Skype était en grande partie décentralisé, je me souviens de la magie de ce logiciel par lequel je pouvais envoyer un fichier à un contact, et que si ce dernier était sur mon réseau local, les transferts étaient supérieur à ma connexion ADSL (preuve selon moi que ça ne passait pas ou peu sur Internet).
Microsoft a depuis migré (migration peu à peu terminée fin 2016, avant ça on pouvait activer le P2P dans les options) tout ça pour le faire passer par son cloud Azure. Pouvant au passage mettre la main sur la totalité des conversations qui transitent. 3 ans après (2014), Microsoft sort Cortana, qui peut entre autres comprendre ce qu'on lui dit. Amusant, car c'est un assistant vocal, Microsoft ayant déjà une bonne base de conversations écrites (MSN), mais Skype était connu pour les conversations orales. Peut-être (pure spéculation) que nos conversations Skype ont été utilisées pour entraîner Cortana. (Quand on veut "apprendre" à une machine, à reconnaître un objet, une voix, n'importe quoi, il est important d'avoir un large nombre d'échantillons pour lui faire "apprendre"). Maintenant Cortana est integré à Skype, c'est plus officiel.

Revenons à nos moutons. Microsoft a fait parler de lui en 2017 avec 🇬🇧 DeepCoder, une IA permettant d'écrire du code. Elle était très limitée, en effet à peine capable de compléter quelques lignes. Le principe était par contre exactement le même, elle avait "appris" à coder en analysant du code de différents projets. Et le principe est ici le même, on va faire "lire" du code (beaucoup de code) à une intelligence artificielle qui va reconnaître des choses et en déduire des fonctionnements, pour être ensuite capable d'en reproduire.
Pour cela, c'est assez simple, on donne du code à lire à cette IA. Plein de code. Le problème c'est qu'on a vite fait le tour. On peut toujours prendre le code libre, mais on tombe vite confronté à un problème : le volume.
Avec l'achat de Github, si Microsoft ouvre les portes du logiciel propriétaire à son IA, ça permettrait de la faire évoluer. (Le logiciel libre ne représentait que moins de la moitié de Github pour rappel).

Conclusion

Le mal est fait, retirer en urgence vos dépôts ne va rien changer, je doute que cliquer sur "Supprimer" supprime réellement et immédiatement votre code des serveurs de Github/Microsoft. Pensez à tout cela avant de prendre une décision, que souhaitez-vous faire avec votre code propriétaire. Qu'est le plus dangereux pour votre société ou pour vous ? Avoir votre code analysé par des humains ou des robots ? Ou le perdre lors d'un incendie/inondation ? Voire vous le faire voler lors d'une intrusion ?

Liens