À 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
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).
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).
Illustration principale © monsitj – Adobe Stock
L'Autorité de la concurrence et des marchés (CMA) a lancé la phase de recherche de…
Broadcom remplace pas moins de 168 logiciels VMware par deux grandes licences de location correspondant…
La banque d’investissement de BNP Paribas utilise l'IA pour proposer des stratégies d’investissement individualisées, en…
OVHCloud partage ses efforts environnementaux au sommet de l’Open Compute Project qui se tient à…
Avec Phi-3-mini, Microsoft lance un SLM conçu pour attirer une clientèle disposant de ressources financières…
La Commission européenne serait sur le point d'approuver la proposition d'Apple visant à fournir à…