Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Comment choisir les « bons » composants open source ? (Capitole du Libre 2023)

Comment choisir les « bons » composants open source ? (Capitole du Libre 2023)

Comment bien choisir son composant open source / libre / ethical source ?
On peut être tenté de regarder le nombre de commits, le nombre de contributeurs ou vaguement la licence du composant. Mais il y a d'autres choses à prendre en compte pour essayer de faire le choix le moins mauvais.
Sans parler du fonctionnel du composant, voici quelques astuces à garder en tête pour éviter d'être biaisé dans son choix, avec tout plein d'exemples.

Support de présentation sous licence CC BY-SA.

Vous avez aimé ce support ? Offrez-moi une bière, merci <3
(https://pylapersonne.info/buymeacoffee)

Pierre-Yves Lapersonne

November 17, 2023
Tweet

More Decks by Pierre-Yves Lapersonne

Other Decks in Programming

Transcript

  1. Composants open source Comment choisir les « bons » et

    éviter les pièges ? ✿✿✿✿ ʕ •ᴥ•ʔ/ 【デ═ 一 Version 8 27/11/2023
  2. Lorsque l’on cherche une brique FLOSES, comment choisir si possible

    la « bonne » en évitant quelques pièges et biais ? 16 On va faire simple, on n’abordera pas le fonctionnel ni le service rendu des briques logicielles 🧱
  3. Trop de con fi ance tue la con fi ance

    2017 : Facebook utilise la licence BSD+Patent avant de changer 2018 : MongoDB dégage la AGPL 3.0 au pro fi t de la licence SSPL 2021 : Elastic jette la Apache 2.0 pour Elastic v2 et SSPL 2021 : Grafana passe de Apache 2.0 à AGPL v3 2021 : animate.css passe de MIT à Hippocratic 2.1 2023 : HashiCorp abandonne la MPL 2.0 pour la BSL avec fracas 2023 : Element choisit la AGPL v3 mais avec un Contributor License Agreement 2023 : Sentry passe de la BSL à la licence FSL 18
  4. Toujours véri fi er les licences qui peuvent contenir des

    clauses supplémentaires problématiques #2 22
  5. Plus il y a de commits, mieux c’est ? Quelles

    sont les natures et compositions des commits ? 24
  6. Rester prudent avec les nombres de commits, stars, forks, issues,

    contributeurs… qui peuvent être totalement trompeurs et interprétés de manières différentes #3 28
  7. Toujours regarder les rouages Y a-t-il des alertes de sécurité

    ? Corrigées ? En quoi est écrit le code source ? Peut-on l’améliorer ? Comment est testé le composant ? Peut-on le corriger ? Dans quel état est la documentation ? Est-elle suf fi sante ? Comment est organisé le projet, techniquement et humainement ? Dommage de choisir une brique FLOSES sans regarder dedans, non ? 30
  8. Regarder le composant en détails permet d'en savoir plus sur

    sa conception, sa maintenabilité et ses perspectives d’avenir #4 31
  9. humain++ ; // Ne pas oublier Notepad++ et Je Suis

    Charlie, Gilets Jaunes, Free Uyghur Linux et son créateur au caractère compliqué colors.js et faker.js corrompus par leur auteur #NoTechForICE 33
  10. Penser aux gens derrière le projet qui peuvent être usés,

    démotivés, indisponibles, engagés, compliqués… #5 34
  11. Pourquoi c’est là ? Attirer des contributeurs rapidement comme CovidTracker

    ou Duniter et Ğ1 Faciliter l’adoption d’un outil avec une communauté comme Hurl ou Boosted Adhérer aux philosophies* comme les projets du fediverse Être conforme avec les licences à copyleft Être transparent comme Twitter et son algorithme ou Stop Covid Se distinguer des concurrents en s’af fi chant comme Nvidia Partager de la valeur entre sociétés sans facturation comme des design systems (*) open source, libre ou ethical source par exemple 36
  12. Pourquoi là ? GitHub est réputé, mais racheté par Microsoft,

    bloque certains utilisateurs et soumis à la censure Digital Millennium Copyright Act GitLab est réputé… mais soumis au DMCA et aux sanctions américaines aussi Et les autres forges ? Et celles auto-hébergées ? #GiveUpGitHub 39
  13. Lorsque l’on cherche une brique FLOSES, comment choisir si possible

    la « bonne » en évitant quelques pièges et biais ? 41 🧱
  14. Il y a des bonnes et des mauvaises briques, mais

    aussi des bons et des mauvais choix, tout dépend de comment ils ont été faits, pourquoi et par qui 42 🤔
  15. Et trop souvent les gens s’en fi chent, car ce

    serait un combat d’arrière garde mené par des Rambos* qui en deviendrait tragique* 43 (*) merci à Matt Asay (MongoDB) ainsi que Dave McJannet (HashiCorp) pour ces pleurnicheries libertariennes 🤯
  16. Ce support a été rédigé afin de partager aux personnes

    curieuses quelques pistes de réflexion documentées sur les biais et pièges que l’on peut rencontrer dans le choix de composants logiciels open source, libre ou ethical source, ceci dans le cadre de l’édition 2023 du Capitole du Libre et en 25 minutes.
 Les opinions exprimées sont les miennes, et ne représentent aucunement celles de tiers (employeurs, associations etc.) avec lesquels j’ai pu être ou suis encore en relation. Je rappelle à toute fin utile que ma déclaration d‘intérêts est en ligne (pylapersonne.info/declaration). Support sous licence CC BY-SA 4.0. Tous les liens hypertextes ont été consultés et vérifiés au plus tard le 17 novembre 2023.