Pour gérer vos consentements :
Categories: LogicielsOpen Source

Le legacy s’installe aussi dans l’open source

À quand une convention de nommage standardisée et surtout mise en pratique ? La Fondation Linux déplorait déjà ce manque en 2015, au moment de publier son premier recensement des composants open source les plus utilisés. Une deuxième vague vient de paraître… et le constat n’a pas changé. Avec, à la clé, la même perte de temps pour mettre les données en forme et ls analyser.

Ce n’est pas là le seul obstacle pointé du doigt. La gestion des versions pose aussi problème : les organisations qui ont tendance à adopter leurs propres numérotations une fois les composants intégrés à leurs projets.

La Fondation Linux déplore également l’importante proportion de paquets populaires hébergés sur des comptes individuels, moins sécurisables que les comptes d’organisations. Elle souligne par ailleurs l’existence d’une forme de legacy. Avec plusieurs exemples :

– minimist qui reste plus répandu que yargs, plus récent et plus fonctionnel
– L’usage encore important de FindBugs, que ses mainteneurs ont pourtant délaissé en 2017 au profit de SpotBugs
– La présence plus fréquente, sur l’échantillon pris en considération, de versions obsolètes de Log4j (1.x) que de versions 2.x

Debug, Lodash, SLF4J et le SDK Go d’AWS en tête des charts open source

De quel échantillon parle-t-on ? D’environ 600 000 observations effectuées en 2020 sur des bibliothèques exploitées en production. Les données, anonymes, proviennent de scans manuels et automatisés réalisés par des fournisseurs d’outils d’analyse de composition logicielle.

La Fondation Linux le reconnaît : sa méthodologie n’est pas exhaustive. Et pour cause : elle n’englobe que les paquets présents au moins sur GitHub ou Libraries.io. Elle exclut en outre certains éléments. Entre autres, les dépendances signalées comme optionnelles et celles non utilisées à l’exécution.

Au bout du compte, il en ressort plusieurs top 500 des composants les plus populaires. En l’occurrence, huit. Avec trois segmentations principales. Premièrement, en tenant ou pas compte des versions. Deuxièmement, en se limitant à npm ou au contraire en l’excluant (conséquence d’une surreprésentation de JavaScript dans l’échantillon). Troisièmement, en incluant ou non les dépendances indirectes.

Dépendances indirectes incluses, le paquet npm le plus utilisé est debug (utilitaire de débogage). Hors npm, il s’agit du SDK Go d’AWS (aws-sdk-go). Si on s’en tient aux appels direct, lodash (bibliothèque de programmation fonctionnelle) arrive en tête dans la catégorie npm. Hors npm, c’est slf4j-api (API de journalisation).

(Cliquer pour agrandir.)

Lorsqu’on tient compte des versions et des dépendances indirectes, Log4j ressort dans le top 10 hors npm. Mais dans une mouture plus prise en charge (1.2.17).

(Cliquer pour agrandir.)

Illustration principale © monsitj – Adobe Stock

Recent Posts

Quand le candidat IT idéal n’est pas celui que vous croyez

L'usage de "deepfakes" et d'informations d'identification personnelle volées progresse chez les candidats et usurpateurs patentés…

1 jour ago

Roaming : le menu dans l’Union européenne jusqu’en 2032

La nouvelle régulation sur l'itinérance mobile dans l'UE est entrée en application. Quelles en sont…

1 jour ago

Vers une régulation européenne des cryptoactifs : quelles bases technologiques ?

Les colégislateurs de l'UE ont trouvé un accord provisoire sur trois propositions de règlements touchant…

1 jour ago

Google Cloud ouvre sa région France

Google Cloud dispose d'une région France lancée commercialement fin juin. Une étape indispensable pour lutter…

1 jour ago

Pourquoi FedEx bascule des grands systèmes au cloud

Le transporteur américain FedEx va fermer les 20% restants de ses mainframes dans les deux…

1 jour ago

Cloud de confiance : quelle feuille de route pour S3NS, la coentreprise Google-Thales ?

Sous l'ombrelle S3NS, Google et Thales esquissent une première offre en attendant celle qui visera…

2 jours ago