Aller au contenu

Préférences et cookies

Afin d’améliorer votre expérience sur notre site et de réaliser des statistiques de visites, nous utilisons des cookies. Rien n’est déposé sans votre accord, et le refus n’enlève l’accès à aucun contenu. Ce choix peut être modifié à tout moment.

Gérer les traceursVos données

Personnaliser

ArticleApplications & Développement

Le difficile passage en open source du proxy Envoy de Lyft

Selon Matt Klein, responsable du développement de Lyft et chef du projet Envoy, peu de gens ont conscience du travail colossal que demande le passage d'un projet en open source, ni la totale imprévisibilité des coûts réels, des retombées et de la réussite même d'une telle entreprise.

La rédaction

De façon générale, les logiciels d'entreprise sont bons à mettre à la poubelle. Et je peux l’affirmer sans prendre trop de gants. Mais pourquoi sont-ils si mauvais, me demanderez-vous ? Matt Wilson, vétéran de l'open source, a déjà apporté une réponse à cette question. Selon lui, la raison de la mauvaise qualité des logiciels open source, c’est que « les gens qui les développent ne les utilisent pas pour résoudre leurs problèmes ». Autrement dit, ce sont des vendeurs, et non des utilisateurs finaux. Mais il y a de l’espoir : le temps tant attendu d’une production open source orientée vers l'utilisateur final est peut-être enfin arrivé.

Prenez par exemple le proxy open source Envoy développé par Matt Klein, responsable des développements chez Lyft, plateforme de mise en contact avec des chauffeurs. Lors d’une récente conversation avec celui qui se fait appeler « le plombier », il souligne que, contrairement aux projets open source lancés par des startups soutenues par des sociétés de capital-risque, Envoy a été conçu pour un « client captif », ce qui « vous oblige à penser réellement à des choses comme la qualité opérationnelle, et à créer des fonctionnalités qui intéressent vraiment les utilisateurs ». En d'autres termes, les développeurs en sont aussi des utilisateurs, ce qui permet d'obtenir un meilleur logiciel. En effet, Matt Klein fait remarquer que « la popularité d’Envoy est liée en grande partie au fait qu’il a été conçu pour l'utilisateur final ». Alors pourquoi ne trouve-t-on pas davantage de logiciels open source orientés vers l'utilisateur final ? Selon M. Klein, il y a une vraie incapacité à comprendre que l'open source demande « énormément de travail », et à réfléchir clairement aux coûts et aux avantages.

Une motivation à toute épreuve

Heureusement, M. Klein n’imaginait pas à quel point le passage du projet Envoy en open source serait difficile. Avec son équipe, il a passé toute l'année 2015 à développer et à utiliser Envoy pour aider Lyft à passer d'une infrastructure monolithique à une architecture basée sur des micro-services. Au printemps 2016, Envoy a connu un succès incontestable en interne, au sein de Lyft. C'est à ce moment-là que l’idée de l'open source a commencé à les agiter. Comme l’a raconté Matt Klein, « vers le milieu de l’année 2016, nous avons commencé à avoir de sérieuses conversations sur le passage en open source du proxy Envoy, et je dois dire qu’à l'époque, ma vision des choses était assez naïve ».

Le responsable avait bien un peu d’expérience dans quelques projets open source, mais il ne s'était jamais engagé aussi profondément dans l'un d'entre eux, et il n'avait jamais lancé de projet. Pourtant, sa curiosité le pourrait à essayer. Au départ, les dirigeants de Lyft étaient hésitants, disant que « ce n’était pas leur affaire ». Mais Matt Klein a persisté. Comme il le dit aujourd’hui, « j'étais motivé pour faire tout le travail et je pensais savoir ce que cela impliquerait ». Mais il a vite compris qu'il n’avait pas conscience de la quantité de travail qu’il aurait à consacrer au projet. Mais, la volonté de la direction de Lyft de donner une chance à son « plombier » et la mauvaise appréciation de tout ce que cela impliquerait, fait qu’ils décidèrent de continuer. Certes, c'est une chance pour tous ceux qui bénéficient aujourd'hui de l'impressionnant projet Envoy. Mais ce travail a sérieusement mobilisé - et épuisé - les forces de Matt Klein pendant au moins un an.

Un projet open source est une entreprise exigeante

« Si vous regardez ce que j’ai fait l’année 2016 et au début de l’année 2017 pour [introduire] et faire croître le projet, il n’y avait rien de technique. Tout tournait autour de la question du leadership, des relations publiques, du marketing, de la documentation, etc. J'ai tout fait moi-même et je peux dire que je me suis épuisé à la tâche. Á la fin de l’année 2016 et au début de l’année 2017, ma vie professionnelle a totalement pris le dessus sur ma vie privé, ce qui n'était pas très bon. J’assumais simultanément deux emplois, et j'étais très motivé pour cela. Mais, j’ai eu beaucoup de mal à équilibrer le travail ce que je faisais pour Lyft et celui que je consacrais au projet open source ».

« Lancer un projet open source, c'est comme lancer une entreprise », a encore expliqué M. Klein. « C’est vraiment très similaire : les relations publiques, le marketing, plus ce que j'appelle le recrutement, c’est-à-dire trouver des contributeurs et des responsables de maintenance », a-t-il ajouté. Il y a aussi le travail de documentation du projet et sa généralisation, l’idée étant qu'il soit utile à ceux qui ne sont pas à l’origine du projet et ne le connaissent pas de l’intérieur. Tout cela demande énormément de travail, au point que M. Klein a déclaré la chose suivante, peut-être sujette à controverse : « Pour la plupart des gens qui pratiquent l'open source, c’est un net négatif. J’entends par là que, s'ils ne s'investissent pas dans le projet, s'ils ne prennent pas en main toutes ces choses dont j’ai parlé précédemment [comme les relations publiques, le marketing et le recrutement], ils vont juste balancer quelque chose par-dessus le mur ». Ce qui est inutile. Pire même, « parce que vous donnez plus que vous ne recevez », a-t-il poursuivi.

Il est facile, après coup, en voyant ce qu’est devenu le projet Envoy, de dire que tous ces efforts en valaient la peine ! Mais en 2016, Matt Klein et Lyft n’avaient aucune idée de ce qui allait se passer. Aujourd'hui, des dizaines de personnes contribuent activement à l’amélioration du proxy Envoy au bénéfice de la plateforme. « Lyft récolte des fonctionnalités utiles que nous n’avions pas prévu de développer, mais elles sont désormais toutes implémentées par d'autres personnes et nous pouvons les utiliser », reconnaît Matt Klein. Lyft ne paie rien pour cette aide supplémentaire. Mais en 2016, Matt Klein a dû justifier l'investissement qu'il faisait dans Envoy, en construisant parfois des fonctionnalités dont Lyft n'avait même pas besoin, mais qui rendaient le projet plus attrayant pour la communauté émergente. « Vous m’avez demandé pourquoi les gens ne lançaient pas dans ce genre de projet », a-t-il déclaré en réponse à une question posée plus tôt au cours de l’interview. « Mais, parce que cela demande un travail colossal. Et les avantages ne sont pas évidents. Ça ne coule pas de source. Vous ne savez pas si vous allez gagner. Et si vous ne gagnez pas, c'est un net négatif ». Alors pourquoi se lancer dans ce genre d’aventure, et encore moins pourquoi, une entreprise dont l’activité n’est pas de vendre des logiciels se lancerait-elle dans ce type de projet ?

Quel intérêt pour Lyft ?

Qu'est-ce qu'une entreprise comme Lyft a donc à y gagner ? Pourquoi accepter cet « effort massif » pour offrir une technologie open source développée en interne qui rend déjà de précieux services à l'entreprise ? En plus de l’importance des contributions extérieures, ce genre de projet a une immense valeur en termes de recrutement. En tant qu’entreprise à l’origine du projet Envoy, Lyft est identifiée par les développeurs comme un lieu idéal pour créer un code défini par l'industrie. Et pour M. Klein, le lancement réussi d'Envoy représente aussi un atout pour sa carrière. « Ce sont des motivations différentes », a déclaré M. Klein, « mais elles sont au même niveau : je dis aux gens qu'ils n'ont pas besoin de faire la même chose, juste de s’aligner dans la même direction. Le problème restant que l’on peut s’aligner dans la même direction et n’avoir aucune conscience des coûts indirects impliqués ». En effet, s’il est possible d’évaluer le coût des serveurs ou les salaires des ingénieurs, il est beaucoup plus difficile d'évaluer le coût total de possession d'un projet open source réussi :

« Vous spéculez, en vous disant qu’en cas de succès, vous y trouverez un avantage en termes de recrutement. Mais personne n'a encore pu développer un modèle qui permet d’en évaluer les avantages financiers. Ou alors, vous vous dites que, si vous réussissez, l'équipe de trois personnes qui travaille sur le projet pourra passer à une équipe de dix personnes et que ça vaut le coup de dépenser un demi-million de dollars par an pour le salaire de chacun d’entre eux ». Mais personne n’envisage vraiment les choses de façon aussi rationnelle. « Peu importe ce que l'on dit, ce n'est pas vrai. Parce qu'il est tellement difficile de prévoir le succès d’un projet open source, ses implications financières, et ses coûts potentiellement décourageants pour y parvenir ». Selon l’ingénieur de Lyft, il faut vraiment se fier à son « instinct » quand une entreprise décide de s’embarquer dans ce genre d’aventure. Mais cette même grille de calcul, pleine d’incertitudes, dissuade beaucoup de gens de tenter l’aventure.

Alors, en sachant tout cela aujourd’hui, M. Klein se lancerait-il dans un autre projet Envoy ? Serait-il prêt (et son employeur) à déployer à nouveau tous les efforts nécessaires pour développer un projet open source ? Sa réponse est… : « Cela dépend ». La décision de se lancer ou non se résume à une « évaluation subjective de la conquête possible d’un marché ». Et si cela ressemble à des propos d’homme d'affaires, plus que de développeur, c'est tout à fait volontaire. « Je ne suis pas un puriste de l'open source », a déclaré M. Klein. « Je suis un capitaliste ». En tant que tel, Matt Klein aborde l'open source comme « un exercice d'optimisation » pour savoir si un tel projet peut « gagner le marché » et donc « récolter une contribution externe supérieure à la contribution interne de l’entreprise ». Ce qui, à sa manière, réintroduit de l'optimisme dans le coût de l'open source, élément qui peut poser problème dans de nombreuses entreprises. « Chaque entreprise prend certains risques pour gagner de nouveaux clients. Si nous considérons l'open source comme un exercice comparable, cela peut permettre de mieux comprendre et de mieux supporter les coûts pour le faire correctement ».

Newsletter

La Quotidienne LMI

Recevez chaque matin l’actualité IT de la rédaction.

Le difficile passage en open source du proxy Envoy de Lyft