Slide 1

Slide 1 text

Composants open source Comment choisir les « bons » et éviter les pièges ? ✿✿✿✿ ʕ •ᴥ•ʔ/ 【デ═ 一 Version 8 27/11/2023

Slide 2

Slide 2 text

❤🔥

Slide 3

Slide 3 text

Pierre-Yves Lapersonne Artisan du logiciel @pylapp

Slide 4

Slide 4 text

FLOSES FOSS, FLOSS, FLOSES, open source, libre, ethical source… Question de vocabulaire ! 4

Slide 5

Slide 5 text

FreeLOSES 5

Slide 6

Slide 6 text

FLibreOSES 6

Slide 7

Slide 7 text

FLOpen SourceES 7

Slide 8

Slide 8 text

FLOSEthicalS 8

Slide 9

Slide 9 text

FLOSESoftware 9

Slide 10

Slide 10 text

- Un super collègue « L’open source est consubstanciel de l’informatique » 10

Slide 11

Slide 11 text

fi rstdonoharm.dev Des milliers de projets sous licence Hippocratic (au 17 novembre 2023) 11

Slide 12

Slide 12 text

GitHub + 160 000 projets sous licence LGPL (au 17 novembre 2023) 12

Slide 13

Slide 13 text

GitHub + 2,4 millions de projets sous licence Apache 2.0 (au 17 novembre 2023) 13

Slide 14

Slide 14 text

GitHub + 2,9 millions de projets sous licence GPL (au 17 novembre 2023) 14

Slide 15

Slide 15 text

GitHub + 10 millions de projets sous licence MIT (au 17 novembre 2023) 15

Slide 16

Slide 16 text

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 🧱

Slide 17

Slide 17 text

L’excès de con fi ance envers les auteurs du projet #1 17

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

Rester prudent avec les licences actuelles qui peuvent changer pour des raisons stratégiques #1 19

Slide 20

Slide 20 text

Les petites lignes vicieuses au sein même des licences #2 20

Slide 21

Slide 21 text

21 Pourquoi GitHub ne reconnait pas automatiquement la licence ?

Slide 22

Slide 22 text

Toujours véri fi er les licences qui peuvent contenir des clauses supplémentaires problématiques #2 22

Slide 23

Slide 23 text

L’obsession des compteurs et la folie des nombres #3 23

Slide 24

Slide 24 text

Plus il y a de commits, mieux c’est ? Quelles sont les natures et compositions des commits ? 24

Slide 25

Slide 25 text

Quelles utilisations des forks et stars ont les usagers de GitHub ? Pour quoi en faire ? 25

Slide 26

Slide 26 text

Des bugs ? Des trolls ? Une grosse roadmap ? Des problèmes ? 26

Slide 27

Slide 27 text

Plusieurs contributeurs actifs ? De passage ? Bien identi fi és dans le dépôt Git ? 27

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Ne pas regarder sous le capot et ignorer ce qu’il y a dedans #4 29

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

Regarder le composant en détails permet d'en savoir plus sur sa conception, sa maintenabilité et ses perspectives d’avenir #4 31

Slide 32

Slide 32 text

Ne pas assez considérer les humains derrière le projet #5 32

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

Penser aux gens derrière le projet qui peuvent être usés, démotivés, indisponibles, engagés, compliqués… #5 34

Slide 35

Slide 35 text

Ne pas savoir pourquoi le composant est… là #6 35

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

Se demander ce qui motive le choix de ce fonctionnement #6 37

Slide 38

Slide 38 text

Ne pas faire attention à l’endroit où est le composant #7 38

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

Évaluer les risques de dépendre de la forge logicielle qui héberge #7 40

Slide 41

Slide 41 text

Lorsque l’on cherche une brique FLOSES, comment choisir si possible la « bonne » en évitant quelques pièges et biais ? 41 🧱

Slide 42

Slide 42 text

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 🤔

Slide 43

Slide 43 text

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 🤯

Slide 44

Slide 44 text

Pour aller plus loin

Slide 45

Slide 45 text

Présentation largement inspirée de mon billet de blog à ce sujet 45

Slide 46

Slide 46 text

Merci !

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

Diapos

Slide 49

Slide 49 text

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.

Slide 50

Slide 50 text

No content