Devenir développeur open source avec Gaël Blondelle, vice-président de la fondation Eclipse.

Comment participer à des projets open source ? Quels peuvent être les bénéfices pour votre carrière ou votre entreprise ? Quelle est la prochaine aventure humaine, personnelle et collaborative que vous souhaitez vivre ? Beaucoup de questions, me direz-vous… Sentez-vous l’enthousiasme qui m’anime à partager cet échange avec Gaël Blondelle, vice-président de la fondation Eclipse. Et pourquoi pas devenir développeur open source… ?

Développeur open source, si j’avais su !

Nous sommes le 8 août 2004, il est 18:38. Je viens de poster ma question sur la mailing liste du projet GEF (Graphical Editor Framework) car après plusieurs heures de recherches, je butais sur un problème très complexe (pour moi) mais qui en fait était très simple. C’est toujours plus simple quand on voit la solution à la fin, pas vrai ? ;-).

open source - Photo by Viktor Forgacs on Unsplash

Je n’ai pas une mémoire extraordinaire (ça se saurait !), mais pour une fois, je n’avais pas utilisé un pseudo pour participer, et je n’avais pas conscience que la mailing liste était accessible également… en HTTP, c’est-à-dire avec votre navigateur internet… même plusieurs années après ! vous pouvez donc suivre ma demande et la solution au problème en cliquant > ici < 🙂 . Ah la mémoire d’internet…

La passion d’un développeur

Au départ de chaque projet il y a une intention, une envie, un objectif à atteindre qui vous motive. Pour moi, c’était de réaliser un logiciel d’aéronautique, dédié à l’aéromodélisme, il est important de rêver et de ne pas se mettre de limite non ?

Le cahier des charges était simple, dessiner en 2D les différentes pièces de l’aéronef pour ensuite le soumettre à des machines de découpe CNC (fraiseuse, découpeuse au fil chaud). Bien sûr viendrait ensuite la modélisation 3D (nous le verrons un peu après) avec la possibilité de voir les pièces internes par transparence pour faciliter la conception et pourquoi pas à terme faire des calculs de résistance des matériaux, comme dirait Buzz l’éclair, vers l’infini et au-delà !

Ah oui, je voulais également pouvoir exporter le modèle dans un simulateur de planeurs radiocommandé pour valider mes calculs et les comportements de la machine avant la fabrication. Rien que ça !

coder avec GEF, projet Eclipse
Un projet du niveau de SolidWorks, il ne faut rien s’interdire… 😉

L’Open Source, à la rescousse !

Pourquoi choisir GEF ? Tout d’abord, car il était multi-plateformes et écrit en Java. J’envisageais à terme de vendre mon logiciel au plus grand nombre, après tout, cela aurait été dommage d’être le seul à l’utiliser 🙂 .

Je souhaitais notamment que les utilisateurs de distributions Linux dont je fais partie puisse en bénéficier. Bien que j’aie réalisé la majorité de ma carrière dans les technologies Microsoft, l’Open Source est pour moi une philosophie ainsi que des outils que j’utilise au quotidien, Je retrouve dans Java (et C#) tous les outils et fondamentaux en génie logiciel qui me permettent de concevoir et créer avec plaisir. J’ai d’ailleurs été heureux de l’initiative qu’a pris Microsoft dans l’open source !

Le deuxième facteur important à l’époque était de s’appuyer sur une plateforme RCP (Rich Client Platform, j’en parle dans cet article qui retrace l’évolution des plateformes > ici <) pour profiter de tous les mécanismes de déploiement, d’installation et de mise à jour. Bref, ne pas réinventer la roue pour se consacrer sur l’essentiel, son code applicatif.

La grande communauté des Développeurs

La troisième raison qui est venue ensuite est la communauté, composée de développeurs hautement qualifiés. Quel plaisir de pouvoir échanger avec des experts qui vous font grandir, et quel vertige de se dire que l’on collabore avec une équipe présente sur toute la planète. On ressent vraiment cet esprit d’appartenance et les outils sont là pour nous faire vivre une réelle expérience de partage.

amitiés

Geek dans un garage puis moteur de l’économie mondiale ?

Les autres métiers découvrent en 2021 avec la Covid qu’il est possible de travailler autrement avec des outils comme Zoom, Slack, Teams, Discord, Google meet, etc… je vous parle d’une expérience qui date de 2004… et même avant avec mon modem 56K et l’IRC

Est-il raisonnable de dire que les développeurs, imagés à l’époque comme des personnes associables, bronzant à la lueur de leurs tubes cathodiques (oui, et ça faisait mal aux yeux et surtout à la tête !) étaient en fait les précurseurs (et les premiers utilisateurs) d’un mode de communication qui aujourd’hui fait l’unanimité ? À en croire les succès de la Silicon Valley, issues justement de garages, il faut croire que oui. Partagez en commentaire votre avis, j’y répondrais avec plaisir !

La magie des projets Open Source

Revenons à l’essentiel, la dernière raison pour laquelle j’ai choisi GEF, est le bon en avant que j’ai fait en terme d’apprentissage. Ce Framework graphique est lui-même basé sur un autre : EMF (Eclipse Modeling Framework) qui met en œuvre les principes de méta modèles. Sans rentrer dans les détails, on retrouve un peu ici le vieux débat de l’œuf ou la poule… passionnant 🙂

J’ai continué avec ce fil conducteur en tête pendant des années, en testant beaucoup d’idées, en apprenant beaucoup de frameworks pour avoir finalement… beaucoup appris. Seul je n’ai pas pu réaliser le logiciel que j’avais en tête, mais quel bonheur d’avoir bâti cet apprentissage et fait ces erreurs, qui me servent encore aujourd’hui (on n’arrête jamais d’apprendre).

À présent, j’utilise quotidiennement Freecad, projet OpenSource de modélisation 3D industriel dans lequel je participe à des échanges sur le forum (soaring). Ce logiciel me permet de réaliser 80% de ce que je voulais coder dans mon projet initial, et pour les 20% restants je peux le coder en Python en utilisant directement les objets 3D (métiers donc ici)… que du bonheur, notamment avec l’impression 3D. Pour en savoir plus sur le monde des développeurs maker, vous pouvez jeter un oeil sur cet article > ici <

freecad

Que retirer de tout cela ? Et bien que l’envie m’a poussé à sortir de mon apprentissage universitaire et professionnel. Sans cette motivation à réaliser mon propre logiciel, je n’aurais jamais appris ce qu’est par exemple un graphe de scène ! Késako ?

Un “Scene graph” est une représentation en mémoire d’objets 3D qui vont être calculés afin d’être affichés à l’utilisateur en utilisant le moins de ressources possibles. À cette arbre vous allez y retrouver attachés des … feuilles qui sont en fait les objets 3D, mais également les sons et les lumières …

Et voilà vous venez de comprendre en quelques lignes comment fonctionne un moteur de jeux vidéo… ou bien une modélisation 3D dans le domaine médical (et l’aéromodélisme bien sûr !).

Pourquoi cette méthode ? Eh bien quand vous observez un arbre, vous ne voyez que les feuilles de devant… Il n’est donc pas nécessaire d’afficher les feuilles de derrière (qu’on ne voit pas) et donc … de les calculer ! Un gros gain en performance donc, et surtout la beauté d’une conception en génie logiciel qui sort du quotidien, le plaisir d’apprendre…

Plusieurs projets Open Source on marqués mon apprentissage et ma progression dans plusieurs domaines comme OpenSceneGraph, JMonkeyEngine (très bon !), Ogre3D, La fondation Eclipse et son écosystème bien sûr, Netbeans (qui avait également une très bonne plateforme RCP).

Un peu à part, il y a également le projet Reprap qui ajoute également la dimension OpenHardware. C’est notamment grâce à ce projet que j’ai pu réaliser seul dans mon garage ma première imprimante 3D en 2012 (une prusa I2 pour les connaisseurs). Je paramétrais et compilais le firmware sur mon arduino, avec parfois le support de Josef Prusa “himself” par IRC !

Josef Prusa est un entrepreneur incroyable qui a également débuté dans un garage (décidément !). Il est devenu l’image de l’Open Hardware dans le monde des makers et embauche aujourd’hui plusieurs centaines de personnes à Prague, en République Tchèque. Regardez cette vidéo, vraiment inspirante :

Décidément, je ne sais pas vous, mais je vote pour qu’on améliore le confort de vie dans les garages, une bonne isolation pour l’hiver permet d’être plus productif 😉

Le collaboratif et l’open source ce n’est pas seulement travailler ensemble d’une autre façon, c’est parfois sauver des vies également. Vous avez sûrement entendu parler de l’initiative des Makers pour accompagner les soignants et les commerçants dans la réalisation des visières imprimées en 3D au moment où les masques faisaient défaut… mais avez-vous entendu parler des respirateurs artificiels conçus et mis à disposition en un temps record ? Bruno en parle très bien dans son interview, je vous invite à lire l’article et visionner la vidéo également.

L’open source est parfois la méthode la plus efficace pour répondre à une problématique majeure en un minimum de temps…

Qui de mieux placé pour en parler que le vice-président de la fondation Eclipse qui compte aujourd’hui plus de 400 projets… si j’avais su que j’aurais l’honneur d’échanger avec lui plusieurs années après l’envoi de cet e-mail à la mailing list…

Développeur et aujourd’hui vice-président de la fondation Eclipse

 fondation Eclipse

Quel parcours ! C’est ce qu’on dû se dire les étudiant de l’école TELECOM Nancy lorsque Gaël a pris le micro à la réunion des anciens élèves… et pourtant quelques années auparavant il restait le soir en salle machines dans les locaux de l’école pour participer au codage d’un compilateur, quelle aventure !

Gaël a eu plusieurs vies, d’abord chez Alcatel sur la création d’un langage pour réaliser des tests de téléphonie. Il continue sa carrière chez France Telecom (Orange), Petals Link (co-fondateur et CTO), OW2, OBEO pour rejoindre ensuite la fondation Eclipse. Des grands noms et de grands projets, mais surtout une émulation et une collaboration avec un état d’esprit résolument ouvert.

Pour lui, la bascule vers l’open source s’est réellement concrétisée lorsqu’il est devenu responsable d’un projet de recherche européen incluant notamment Airbus, Thalès, le CEA afin de créer une communauté open source autour du développement de systèmes embarqués, sacré challenge !

Polarys est le projet de la fondation Eclipse qui en a résulté et a permis à Gaël de grandir au sein de la fondation jusqu’à aujourd’hui.

Quelles sont les valeurs de l’Open Source ?

Comment répondre à cette question sans emporter les foules, les réactions et surtout n’en oublier aucune (et personne) ?

les valeurs de l'open source

Gaël revient sur un point : l’Open Source a gagné. Comme le disait Marc Andreeseen dans un article du Wall Street journal;

Software is eating the world !

Marc Andreeseen

Et Gaël ajoute: “… and Open Source is eating software”

L’Open Source est de plus en plus évident pour de plus en plus de sujets et le rôle des fondations Open Source n’a jamais été aussi important. Pour les nouveaux apprenants, open source peut être associé à Github mais c’est bien plus que cela.

Trouver la bonne librairie de code pour résoudre le problème de la journée, mettre à disposition son portefeuille projet auprès des recruteurs via Github, c’est un des avantages de l’open source, mais il serait dommage de se limiter à ces deux aspects, c’est-à-dire consommer sans participer 😉

Faciliter les collaborations en définissant les règles du jeu, c’est une des missions d’une fondation Open Source (on peut également citer la fondation Apache). Par exemple, prendre des décisions et des orientations indépendamment des contributeurs, qui peuvent être de grands groupes puissants et influents, est un garant pour que l’argent ne dicte pas les décisions et qu’aucun monopole déguisé ne prenne la main sur le projet, au bénéfice de tous.

équipe de développement plasma mobile
Sprint de développement de l’équipe KDE plasma mobile

La fondation Eclipse est guidée par 3 règles : l’ouverture, la transparence et la méritocratie, ce qui permet à Gaël d’affirmer que la pérennité des logiciels open source est assurée (et je le pense aussi !).

Ouverture : tout le monde peut participer

Transparence : tout ce qui se passe dans le projet doit être publié, publiquement

Méritocratie : il faut prouver que tu as la volonté et la compétence (publiquement) pour participer

Comme le souligne Gaël, dans cet esprit, il est difficile de ne pas souligner certains comportements “tumultueux” comme pour la société Elastic Search (moteur de recherche et d’analyse Open Source) concernant les changements de licence.

Cela n’enlève en rien la qualité des produits de la société en encore moins le savoir-faire et l’implication de ses collaborateurs, ce sont des décisions de l’entreprise, mais les utilisateurs auraient gagné à ce que les projets soient hébergés par une fondation Open Source, car ils seraient restés… Open Source.

Participer au bon fonctionnement d’un projet Open Source, mais également assurer sa pérennité lorsqu’un acteur majeur se retire en attendant le ou les prochains, c’est un gage de sécurité que permet justement une fondation.

Développeur, comment s’investir dans l’open source ?

Bonne nouvelle, Gaël nous explique qu’il n’y a pas besoin d’être un dieu vivant en développement pour s’investir dans un projet Open Source., et c’est tant mieux !

oser

Apporter son aide, à tout niveau, est le meilleur moyen de participer. Il faut oser frapper à la porte des projets open source. Par exemple, si le projet vous paraît complexe, car vous êtes totalement débutant, vous pouvez demander à ce qu’un contributeur existant vous explique les points durs, en l’échange de quoi vous pouvez réaliser une documentation pour les débutants !

Ainsi vous entrez dans le projet, vous progressez et vous aidez par la même occasion les autres. N’ayez pas peur ! 🙂

Erich Gamma est l’un des fondateurs de la plateforme Eclipse. Il est également l’un des membres “du club des 4” connu sous le nom “The Gang Of Four” d’où découlent les Design Patterns les plus connus (abordés dans cet article > ici < sur les 3 piliers de la programmation).

Il nous enseigne cet engagement poétique :

Tout bug report est une lettre d’amour

Erich Gamma, co-créateur de la plateforme Eclipse et membre du “Gang Of Four”

Et vous, c’était quand votre dernière lettre d’amour ? A vous de jouer 🙂 partagez en commentaire vos expériences !

Pour tenir dans la durée, c’est parfois difficile, c’est pourquoi trouver un sujet qui vous intéresse a toute son importance comme le souligne Gaël.

Apprendre, pour être efficace doit avant tout être un plaisir…

L’open source, développement des Soft Skills garanties !

compétences développeur - Photo by Branko Stancevic on Unsplash

Vous l’avez compris, les projets open source ne sont pas que technique et l’état d’esprit ainsi que l’entraide sont les moteurs des projets qui réussissent. Comme pour les autres projets me direz-vous ?

Oui, à la différence que vos contributions ne se limitent pas à l’entreprise dans laquelle vous travaillez, elles sont visibles à toute la planète où chacun peut suivre, évaluer et apprécier votre savoir être au-delà de votre savoir faire.

Un acte d’engagement que vous pouvez valoriser lors de vos entretiens et mettre en avant dans votre entreprise. D’ailleurs pourquoi ne pas aller plus loin et frapper à la porte de votre responsable pour lui proposer une collaboration gagnant – gagnant entre entreprises ?

Comment progresser et faire grandir son entreprise grâce à l’open source ?

Vous le faites sûrement déjà, peut-être parfois sans le savoir en utilisant des briques open sources dans vos projets. Mais il est possible d’aller plus loin en faisant participer votre entreprise à une collaboration plus globale, d’entreprise à entreprise en profitant par exemple d’une fondation et d’un cadre juridique déjà présent pour se concentrer sur l’essentiel, c’est-à-dire l’apport de valeur aux clients respectifs.

La fondation Eclipse vient de passer le seuil des 400 projets, c’est énorme. Côté environnement, il n’y a pas que l’IDE Eclipse, ça bouge aussi du côté du codage dans le cloud avec le projet Theia, le projet Che (IDE kubernetes natif). L’IoT est également de la partie avec les projets Paho (MQTT), Mosquitto (Broker MQTT), Californium … et plus proche des fondamentaux Java : Jakarta EE , AdopOpenJDK qui devient Eclipse Adoptium (et bien d’autres encore) …

Par quel bout prendre le sujet ? Gaël souhaite accompagner plus d’acteurs industriels en Europe, comme les grands groupes par exemple, et apporter un savoir-faire gagnant qui a déjà fait ses preuves outre atlantique. D’autres sujets sont d’actualité et vous pouvez le contacter sur des initiatives qualifiées. Vous pouvez également vous adresser aux “Working Groups” en fonction du domaine métier de votre entreprise et aller plus loin dans la notion de projet open source en ajoutant la notion de marketing, l’écriture de white papers, la participation à des événements, etc.

Les collaborations Open Source entre entreprises sont de vraies opportunités, car elles leur permettent de se concentrer sur leur activité tout en sécurisant l’approche via un cadre juridique et des outils mis à disposition par la fondation Open Source.

Cette dernière soutient le projet tout en assurant sa pérennité. Pour les salariés elle permet l’émergence de beaux projets avec une dimension humaine importante, moteur des réussites collectives.

De quoi donner du sens à chaque développeur et une direction vers l’épanouissement, en route !

coder-concours-Olena Sergienko

Parlez en autour de vous, osez et poussez la porte de votre direction, faites participer votre manager afin d’aboutir à de beaux projets ! Mettez en commentaire vos résultats et votre expérience ! J’y répondrai également avec plaisir.

Profitez des opportunités Open Source pour votre carrière, épanouissez-vous !

Vous l’avez compris, il y a autant d’opportunités que de projets open source, même plus. L’opportunité d’apprendre, de grandir humainement grâce aux collaborations internationales, d’améliorer son expérience et de façonner votre CV afin de trouver les opportunités qui vous correspondent et surtout, vous font vibrer !

De grandes choses, comme sauver des vies avec la création de respirateur artificiels, et bien plus encore …

Tout seul on a raison, à plusieurs on a juste…

Et vous, qu’est ce qui vous anime ? Quel est votre prochain projet Open Source, quelle communauté allez-vous rejoindre, à vous la parole !

Inscrivez-vous à la newsletter (en cliquent > ici < ) pour ne rien rater de l’activité de Coder pour changer de vie, je vous dis à très vite !

Nicolas.

  •  
  •  
  •  
  •  
  •   
  •  
  •  

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Vous êtes libre de recevoir "Guide d'un ami pour démarrer une carrière de développeur en 6 étapes"

Recevez mon guide pour développeurs & mes conseils

Recevez mon guide pour développeurs & mes conseils