Publié le

L'étonnant potentiel de l'IA pour l'opensource, mes prédictions

Il y a quelques années, je me posais des questions si je ne voulais pas devenir indépendant un jour dans ma vie, et j’étais tombé sur un site qui était bien pratique qui permettait d’avoir une idée du TJM à facturer en fonction de sa prétention salariale.

Hélas, sans trop savoir pourquoi, le site est maintenant offline. Pas de soucis refaisons-le intégralement avec l’aide de bolt.new ! Le voici : https://freelance-simulateur.netlify.app/

Et je l’ai fait en licence GPL3 (on en reparle juste après), avec tout le code source : https://github.com/Seboran/monorepo/tree/main/apps/freelance-simulateur

Comment je me suis débrouillé ? Est-ce que c’était facile ? Et regardons ce que cela implique pour l’opensource !


Comment on duplique un site web quand il a disparu ? Car l’URL ne donnait plus rien :

Un message de serveur en erreur s'affiche sur une page interne

La première étape, c’est de voir s’il n’est pas quelque part dans la web archive, disponible sur cette url : https://archive.org/. C’est une association à but non lucratif qui a pour but d’archiver une grande partie du web, parfois pour le meilleur 1, parfois pour le pire…

Heureusement, l’archive a réussi à récupérer les pages fonctionnelles du site que je voulais chercher. Comment le refaire ?

Traditionnellement, on lance son IDE, on se met à initialiser un projet avec sa stack préférée, et on se retrouve petit à petit à coder toute l’application. Heureusement, je suis paresseux, et j’ai un abonnement pour le logiciel bolt.new.

Si vous ne connaissez pas https://bolt.new, le plus simple, c’est que vous essayez ! C’est un éditeur de code en ligne qui contient une IA qui vous aide à coder, un peu comme GitHub Copilot, mais avec un excellent éditeur de code intégré et une prévisualisation de tout ce que vous faites. Il y a surtout trois fonctionnalités qui m’ont vraiment aidé pour la mise en place du site :

  1. Le site permet de lui envoyer des captures d’écran pour reproduire les interfaces que vous voyez. Concrètement, copiez-collez le design que vous voulez recopier, précisez-lui certains aspects et l’IA sera suffisamment douée pour reproduire ce que vous aviez en entrée, sans être pixel-perfect, mais juste assez pour être satisfait.
  2. Précisez-lui comment vous voulez que le code soit organisé. Il se débrouille plutôt bien pour ça, car bolt n’ose pas séparer en de nouveaux composants. Par contre, soyez prêts à débugger l’appli si jamais cela ne se passe pas bien !
  3. Suggérez-lui de mettre des animations, de faire de l’accessibilité, de respecter les contrastes. Par défaut, bolt ne le fait pas (et c’est dommage !), mais si vous lui demandez il essaiera de mettre en place au moins de meilleurs contrastes et de faire des textes alternatifs, de ne pas péter la navigation. Ce n’est pas un travail de design accessible, mais c’est au moins une première brique pour y arriver…

Je demande à l'IA de séparer un calcul dans une méthode pure

En environ 1 h 30 de prompting et de tests, j’ai fini par avoir une application suffisamment fonctionnelle pour la reprendre chez moi en local et continuer le développement sans faire intervenir une IA. J’ai en plus rendu le code opensource avec licence GPL3, car pour moi, c’est important d’opensourcer ses outils, surtout quand on parle finance et comptabilité : https://github.com/Seboran/monorepo/tree/main/apps/freelance-simulateur

Très bien Nirina ! Mais pourquoi tu nous parles de ça ?

Car j’ai adoré ce moment, et il m’inspire de grands changements pour le développement web, et même sur la survie des logiciels fermés. Après cette longue intro, regardons ce que je pense de l’impact de l’IA sur l’opensource et le kiff des développeurs. C’est parti !

Qu’est-ce que l’opensource ?

Reprenons de loin la définition de Wikipédia : c’est un logiciel dont la licence respecte des règles de redistribution, d’accès aux sources et de création de travaux dérivés.

Par exemple, prenons Linux : tous les serveurs en dépendent. C’est le nom utilisé pour désigner un système d’exploitation. Sa licence est du GPLv2, qui stipule que le logiciel doit toujours permettre à ses utilisateurs d’avoir accès à la source, et que toutes les modifications du logiciel doivent garder la même licence.

Ces règles permettent d’encourager à la contribution : quiconque qui participe au code source de Linux (et il y a beaucoup de monde !) saura que sa contribution sera toujours accessible à toutes et à tous, et cela permet une collaboration mondiale et une excellente intelligence collective. Cela permet à tous les travaux dérivés de Linux de profiter au code de base, et c’est une super chose.

Imaginez, demain, je reprends le code de Linux, et je le modifie pour mettre des chats partout. Alors, ce code avec des chats partout doit garder la même licence que Linux, et je dois donner accès au code source. L’équipe de Linux pourrait alors réintégrer mes travaux dans leur code de base.

Pourquoi tout n’est pas opensource ? 🐈‍⬛

Un logiciel réellement opensource a un léger petit défaut : c’est plutôt difficile de faire de l’argent avec. N’importe qui peut reprendre le code, n’importe qui peut le redistribuer, et n’importe qui peut reprendre le logiciel et légèrement l’améliorer pour faire mieux. Théoriquement, la petite amélioration doit être redistribuée (cela dépend un peu de la licence de base, mais c’est un lonnnnng sujet), mais certaines licences, dont celle nommées MIT, permettent de rendre le code dérivé fermé.

Toujours est-il que si on veut se faire de l’argent sur l’exploitation de la licence, c’est très difficule, très impopulaire, et très mal vu.

On a vu cela avec le cas de wordpress 2, de thèmes d’éditeurs de code 3, et même des choses trop techniques à décrire ici 4 où leurs créateurs, probablement attirés par l’appain du gain, ont tenté de modifier leurs licences a posteriori pour faire commercialiser leurs travaux initialement open. C’est une idée stupide, n’essayez pas ça chez vous.

Pourquoi opensourcer tout court alors ?

Je ne suis pas là pour paraphraser Wikipédia jusqu’au bout, mais les avantages sont nombreux : incroyable intelligence collective grâce aux contributions de tout le monde, meilleure sécurité, grand nombre d’utilisateurs qui ont des garanties que leur logiciel sera toujours maintenu… J’en passe !

Cela fait 20 ans que nous voyons le triomphe de logiciels opensource, il n’y a plus rien à dire ; cette façon de distribuer le code fonctionne. Le débat n’a plus de pertinence, et cela me rend triste de voir que OpenAI ou des politiciens stupides prétendent qu’il faut “fermer” l’accès à ses logiciels pour “le bien de l’humanité”. Non pas du tout…

Revenons à mon site : je prétends qu’une partie des logiciels closed-source sont morts grâce à l’IA. C’est parti !

Mon IA me rend incroyablement plus productif

Si votre business repose sur la possession d’un logiciel dont vous seul avez l’accès, en plus des inconvénients que j’ai évoqués ci-dessus, vous avez un énorme problème : si quelqu’un invente la même chose que vous, mais la fait en rendant le code opensource, votre modèle économique s’effondre totalement 5.

Il se trouve qu’une IA, en plus d’être douée en plagiat, est très douée pour refaire une interface. Reprenons mon simulateur de TJM : je me suis basé sur un mélange de la loi, de ma compréhension du métier de freelanceur, j’ai bien analysé le site que je voulais copier. En 1 h 30 de prompt-ingénierie, j’ai réussi à reproduire le même site qu’au départ à quelques delta près.

Si on suppose que le site original a pris une semaine de développement, il ne m’aura fallu que 1 h 30 pour le copier. Alors, imaginez tout ce que l’on peut recopier en une semaine de développement ?

C’est le moment où je préfère être un poil plus réaliste. Une semaine de développement ne scale pas de cette façon avec une IA. Vous commencez à avoir une architecture, de vraies décisions business, des questions d’organisation du travail.

Là, je ne parle que d’une application relativement simple, mais je m’interroge si on ne peut pas étendre cette capacité de copie à des domaines métiers bien plus avancés. Et cela m’amène à cette petite digression :

Je pense que c’est une erreur pour une entreprise tech de s’interdire de donner accès à des IA à ses employés : vos produits, vos données, sont déjà en train d’être imités. Si votre avantage en tant que business, c’est le first-move advantage, celui durera bien moins longtemps qu’avant.

Au contraire, je pense qu’il faut donner accès aux employés à de l’IA générative 6 et se concentrer sur comment être innovants, avoir un bon support, être performants… Je rêve peut-être trop…

Une IA me fait sentir comme un dieu

En parlant de rêver, j’aimerais parler de cette étrange sensation que j’ai en travaillant avec une IA. Cela fait 7 ans que je travaille dans l’informatique, environ 15 ans que je sais coder et que je code. Aujourd’hui, utiliser une IA, c’est comme travailler avec Jarvis de Iron Man qui de temps en temps est bourré. Quand on arrive à le contrôler, on se retrouve à travailler comme en accéléré. Est-ce la sensation qu’ont les personnes prenant certaines substances ? Est-ce une euphorie liée à la nouveauté ?

Premier point : je ne prends pas de substances psychoactives ! Je n’en ai pas besoin pour me sentir bien.

Deuxièmement : cela fait 2 ans que j’essaye d’intégrer de l’IA dans ma vie quotidienne et dans mon travail. La nouveauté est retombée, la critique s’installe. Je vois ses limites, mais j’ai aussi appris à travailler avec l’outil. Étant plutôt expert de mon métier, j’arrive à utiliser ce nouvel outil qu’est l’IA pour travailler tellement plus vite. Je me sens réellement comme un ingénieur, obligé d’abstractiser ses problématiques et reformuler ses idées pour arriver à ses fins. Le reste du travail n’est que de la génération stochastique et je prends la meilleure solution parmi une dizaine. J’adore cette façon de faire.

Cela me fait un peu penser à un logiciel qui joue aux échecs. Ces logiciels vont souvent représenter tous les coups possibles dans un format inspirant la pensée en arborescence7 et prendre le meilleur qui existe. L’IA générative permet de prendre cette façon de fonctionner et l’appliquer à l’écriture de code informatique, qui ressemble un petit peu à une partie d’échecs avec des milliards de pièces.

Est-ce la fin de l’expertise technique ?

Cette façon de travailler me fait me poser des questions plus philosophiques. Par exemple, est-ce que mon travail de développeur a de l’avenir ? Est-ce que mon travail d’expert a de l’avenir ? J’en parlais déjà il y a 1 an 8, et je n’ai pas spécialement plus de réponse que les nombreux articles qui en parlent déjà sur les internets. Laissez-moi vous présenter mon fil de pensée.

  1. Le métier des développeurs est très peu compris par le reste de la société
  2. J’ai l’impression que les développeurs se spécialisent de plus en plus.

Pour le premier point, c’est du sentiment. Mais quand des personnes qui ne sont pas développeurs, et même des fois des collègues non-développeur dans des équipes tech, parlent de développement, c’est cringe. Je suis réellement surpris qu’on pense si différemment, et qu’on se comprenne si peu.

Pour le deuxième point, je ne suis pas capable de le prouver. Mon intuition vient de toutes les ESN où j’ai travaillé où me dit qu’être fullstack n’est pas recherché dans le marché, et du fait qu’aujourd’hui, pour faire juste du développement web, on demande par exemple 5 ans d’expérience dans une technologie front comme react.js, alors que c’est juste (sic) du web !!! Demandez-moi 5 ans d’expérience web !!!

Les IAs génératives (et j’aimerais trouver un synonyme, car je me répète beaucoup…) brisent ces deux points : le métier de développeur·se devient bien plus accessible à toutes et à tous, et la spécialisation est difficilement justifiable.

Par exemple, est-ce qu’être hyper spécialisé en devops se justifie aujourd’hui quand on peut outsourcer une partie de ce travail dans du cloud ? Est-ce qu’une IA ne peut pas aider à formuler ses problématiques et ses lacunes ? C’est d’autant plus valide que la grande majorité des big-players du cloud sont aussi des créateurs de LLM.

Autre exemple, oui je peux me spécialiser pour devenir un expert de spring boot. Mais peut-être qu’un petit serveur nestjs généré par IA et connecté directement avec Supabase fait 80% du boulot et nécessite finalement assez peu de mises à jour ? Et pour les parties un peu techniques, je suis sûr de pouvoir me faire guider avec ma connaissance actuellement de l’informatique pour arriver à 99% de ce dont j’ai besoin.

Une bonne architecture logicielle ne devrait pas dépendre du comment de la solution technique. Et une IA renforce cette sensation, en justifiant encore plus l’utilité des architectures modulaires et adaptables.

Peut-être qu’au contraire, les experts vont devenir encore plus recherchés, car ces fameux derniers pourcentages de réalisation seront différenciants ? Mais je n’y crois pas… Même les fusées, qui ont de très faibles tolérances aux imperfections, explosent en plein vol d’essai maintenant, alors qu’avant le moindre échec était critique. Si les nouvelles compagnies aérospatiales tolèrent quelques explosions de fusées pour itérer plus vite, je ne vois pas en quoi nos sites de commerce électronique ont besoin de 99% de qualité.

Peut-être, au contraire les experts seront les seuls individus capables de travailler avec une IA ? Mais alors comment devenir expert entre temps…

Je ne sais pas quoi en penser, est-ce vraiment la fin de l’expertise technique ?

Concrètement, je me forme énormément pour devenir un expert de l’IA. Oui cela pollue, oui cela détruit la planète, oui cela réduit les ressources naturelles. Je vous avoue que je m’en fiche maintenant et ce sera un pour autre article 9.

Mais en attendant, je me sens tellement plus libre et utile. Je me concentre sur ce qui concerne d’autres personnes, et je ne me sens plus reclus à devenir une forme d’écrivain fantôme du code pour transformer des lubies en des logiciels. Et rien que pour ça, merci l’IA.


Footnotes

  1. https://www.technologyreview.com/2025/02/07/1111328/inside-the-race-to-archive-the-us-governments-websites/

  2. https://www.reddit.com/r/Wordpress/comments/1g2jo1j/explain_me_the_wordpress_drama_like_im_5/

  3. https://www.youtube.com/watch?v=3wz7YF2as-c

  4. https://redis.io/blog/redis-adopts-dual-source-available-licensing/

  5. Un article humoristique en anglais parlant de l’expérience moyenne avec une SaaS

  6. Sauf si vous êtes green, mais dans ce cas ne soyez pas une boite de tech

  7. La pensée en aborescence est un concept très vulgarisé dans l’univers de la surdouance intellectuelle, mais ne semble pas se baser sur des faits très scientifiques. Je me permets de mettre cette source et vous laisser vous faire votre opinion : https://rencontre-surdoue.com/haut-potentiel/haut-potentiel-intellectuel/caracteristiques-hpi/pensee-en-arborescence/

  8. Comment mettre 20 développeurs au chômage avec seulement une IA !

  9. Je fais déjà beaucoup de choses pour réduire mon empreinte carbone et le dernier calcul que j’ai fait sur le simulateur me place à 3.5T/an de CO2 équivalent émis ce qui est très bas comparé à la moyenne française. Alors oui, le calcul va changer avec mon utilisation d’une IA, mais restera toujours largement en dessous de la majorité des gens qui mangent de la viande, prennent l’avion, achètent du neuf et votent pour n’importe qui politiquement.

S'abonner à ma newsletter

Inscrivez-vous pour recevoir tous les articles de mon blog.

Vous pouvez vous désinscrire à tout moment. Pour plus de détails, vous pouvez me contacter à hello@nirinarabeson.fr.