Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Que se passe-t-il lorsque le responsable d'une bibliothèque JS téléchargée 26 millions de fois par semaine va en prison pour avoir tué quelqu'un avec une moto ?
Core-js vient de le découvrir

Le , par Olivier Famien

796PARTAGES

22  0 
Que se passe-t-il lorsque le responsable d’un important projet open source n’arrive plus à maintenir son projet ;? Cette question pour laquelle certaines personnes et entreprises ont dû parfois chercher des réponses est aujourd’hui d’actualités pour le projet core-js. Core-js est une bibliothèque standard modulaire pour JavaScript. Elle comprend des polyfills pour ECMAScript jusqu’en 2019 (bout de code généralement utilisé pour fournir des fonctionnalités récentes sur d’anciens navigateurs qui ne les supportent pas nativement) qui sont utilisés par de nombreuses entités comme Apple, Babel, Gatsby, HitchPin pour ne citer que ceux-là et dans de nombreux projets. Pour vous donner une idée de l’importance de ce projet, il faut savoir que core-js est téléchargé plus de 25 millions de fois par semaine. Pour atteindre un tel niveau d’adoption, Denis Pushkarev, le responsable du projet, a dû travailler aussi bien à temps partiel qu’à temps plein sur le projet qu’il a mis gracieusement à la disposition de la communauté JavaScript sans demander quelque chose en retour.


Denis Pushkarev

Mais en 2019, les choses vont se compliquer lorsque Denis Pushkarev qui conduisait une moto de nuit a cogné deux piétons qui traversaient un passage piéton. Une des victimes est morte sur le coup. L’autre a eu des lésions. Vu qu’il ne disposait de ressources financières importantes pour faire face à toutes les dépenses occasionnées par cet imprévu, Pushkarev s’est tourné vers la communauté en insérant dans core-js le message post-installation suivant :

« ;Thank you for using core-js (https://github.com/zloirock/core-js )!

Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock ;
»

La question du soutien financier des projets open source par la communauté remise sur table

Dans une publication effectuée en mai 2019 sur GitHub pour expliquer son action, Pushkarev, connu sous l’alias zloirock, déclara qu’il y a 2 mois, il a commencé à collecter des fonds pour l’entretien de core-js. Sur Patreon, il a reçu -7 $/mois et sur Open Collective 50 $/mois. Pour lui, ce n’était pas un problème, car de toute façon il ne voit pas l’open source comme un moyen de se faire de l’argent. Mais lorsque l’accident est survenu, voyant qu’il ne pouvait pas compter sur le soutien financier des utilisateurs de core-js pour régler ses problèmes judiciaires, il a décidé d’insérer les lignes ci-dessus pour amasser quelques dons. Après cette action, de nombreux utilisateurs du paquet sont intervenus en critiquant vertement cette démarche. En réponse, il déclara qu’au départ, « ;je voulais ajouter un message postinstall à titre d’expérience pendant quelques jours, mais à cause de votre réaction, je vois que l’ajout d’un message postinstall était la bonne chose, alors je le laisse ici. Merci pour ce problème ;».

N’ayant pas pu obtenir les ressources qu’il attendait de la part de la communauté open source en guise de soutien pour ses travaux, Denis Pushkarev a dû faire face à la justice russe avec ce qu’il avait. Après les différentes délibérations, Pushkarev a été condamné en octobre 2019 à 1 an et 6 mois de prison avec privation du droit d’exercer des activités liées à la conduite automobile, pour une période de 2 ans. En sus, la justice l’a condamné à payer 89 ;594 roubles (1016,39 euros) et 20 ;000 roubles (226,89 euros) comme frais requis par les victimes pour les préjudices subis. Estimant que la peine infligée fut sévère, Pushkarev a fait appel en novembre dernier. Après le nouvel examen de cette affaire, un second jugement a été rendu. La peine de 18 mois a été maintenue et seuls les frais de 20 ;000 roubles ont été annulés. Cette décision qui bouleverse complètement la vie de Pushkarev, vient également susciter des interrogations du côté des utilisateurs de la bibliothèque core-js qui jusque-là était maintenu par ce dernier.

Les inquiétudes de la communauté JavaScript au sujet de la pérennité de core-js et des grands projets maintenus par un seul responsable

Le mois dernier, alors qu’un débat a été initié sur l’état et la gouvernance du projet, un intervenant faisait remarquer sur GitHub que « ;la communauté JavaScript devrait être un peu inquiète, car @zloirock semble être le “seul” mainteneur. Quelqu’un d’autre a-t-il des privilèges d’administrateur pour écrire sur ce dépôt ;? Pour publier sur npm et faire en sorte que ce projet ne meure pas ;? ;» Il ajouta qu’un « ;énorme projet open source (25 millions de téléchargements hebdomadaires) comme celui-ci devrait être maintenu par plus d’une seule personne ;».

Une autre personne intervenant souligne que « ;GitHub devrait chercher à fournir une note de “risque” aux projets à partir d’un point de variabilité de maintenance... un projet dépendant de 4,5 millions d’utilisateurs avec 1 responsable devrait se représenter comme une dépendance à haut risque ;».

Mais certaines personnes ne partagent pas ces suggestions et expliquent que pour permettre à ce genre de projet d’avoir plus de mainteneurs, il faut simplement mettre la main à la poche. Ce que Pushkarev a sollicité et n’a pas obtenu auprès de ceux qui ont profité jusque-là du fruit de son travail. « ;Aller plus loin que de simples demandes, et demander à la plateforme de ternir la réputation d’un projet en le marquant comme “à haut risque” pour les utilisateurs qui ne peuvent ou ne veulent pas évaluer le projet selon leur propre matrice de risques... est certainement un degré supérieur au simple droit ;», faisait remarquer un intervenant. Il ajouta que « ;l’open source est difficile. Oublier qu’il y a des humains impliqués dans la maintenance de l’open source est trompeusement facile, mais dangereux ;».

Pour d’autres personnes, il serait judicieux de créer un fork du projet et éviter les mêmes schémas qui pourraient conduire aux problèmes actuels. Mais vu le manque de ressources (personnes et moyens financiers indisponibles), cette option n’a pas été retenue par les contributeurs au projet.

Fin heureuse pour la bibliothèque core-js, mais qu’en est-il des autres projets disposant d’un seul responsable qui ne montre plus d'intérêts pour son projet ;?

Pour apaiser les craintes des utilisateurs de la bibliothèque core-js, un codeur répondant au nom de slowcheetah avec le statut de collaborateur est intervenu sur GitHub en déclarant qu’il détient tous les privilèges liés à ce dépôt et dispose d’un peu de temps pour corriger les bogues critiques et les mises à jour majeures. Depuis quelques jours, slowcheetah a également annoncé qu’il a commencé à travailler sur core-js et entend soutenir et développer le projet. Il promet également de discuter des problèmes litigieux avec Pushkarev. « ;La semaine prochaine, j’espère lui parler des corrections de bogues actuels et arriver à la conclusion qu’une nouvelle version est nécessaire maintenant ;», a avancé slowcheetah.

Fort heureusement, core-js a un autre contributeur disposant des autorisations GitHub et npm pour ce projet. Mais si cela n’était pas le cas, quelle solution envisager dans ce cas ;? Que devraient faire les utilisateurs d’un projet important lorsque celui-ci n’est plus maintenu tandis son développeur ne fait plus de signes de vie ;?

Source : Jugement du tribunal d’appel (en russe), État et gouvernance de core-js, NPM (core-js), Page GitHub de Denis Pushkarev alias zloirock

Et vous ?

Avez-vous déjà été confronté à une situation où le projet que vous utilisez est demeuré bloqué à cause du fait que son responsable n’assurait plus sa maintenance ;?

Quels sont les désagréments auxquels vous avez dû faire face à cause du projet qui n’est plus maintenu ;?

Qu’avez-vous fait pour avancer dans vos activités lorsque le responsable du projet que vous utilisez a cessé de le maintenir ;?

Voir aussi

Qu’advient-il du code open source après le décès du développeur ;? Quelles solutions adopter pour éviter les problèmes liés à l’abandon du code ;?
Faircode, une « ;alternative ;» à l’Open Source qui voudrait que les créateurs soient payés pour leurs œuvres, cela reste-t-il de l’open source ;?
À partir de la fin de l’année 2020, Adobe mettra fin au support de son plug-in à succès Flash, comment envisagez-vous le web sans Flash ;?
L’open source souffre-t-il d’un problème du « ;travail gratuit ;» ;? Oui, selon Havoc Pennington

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de yahiko
Rédacteur/Modérateur https://www.developpez.com
Le 29/03/2020 à 10:56
Il y en a quand même certains qui veulent le beurre, l'argent du beurre et le sourire de la crémière.

C'est open-source, c'est gratuit, le gars a bossé dur, et en plus il faudrait que son projet lui échappe parce ce que beaucoup utilisant sans retour (en temps ou en argent) ce projet ont peur que celui-ci ne soit plus maintenu...

Mais pourtant on m'avait dit que l'open-source c'était la panacée parce qu'un projet open-source ne pouvait pas mourir, il suffisait juste de "forker". Mais apparemment, même ça c'est trop dur/pénible pour la plupart des gens.

Parfois, il ne faut s'en prendre qu'à soi-même. On n'a souvent que ce qu'on paie. Si on ne paie rien (en temps ou en argent), faut pas avoir trop d'exigences... Question de décence.

Pensées au dev tout de même. Qui en plus des conséquences financières ne doit pas bien dormir chaque nuit. Avoir un mort sur la conscience, ça doit être super chaud. Et en plus doit faire face à l'immaturité de sa "communauté" pas si solidaire que ça.

A bon entendeur.
30  1 
Avatar de SimonDecoline
Expert confirmé https://www.developpez.com
Le 29/03/2020 à 10:43
Faire passer l'open-source comme un facteur de risque c'est vraiment n'importe quoi.

Il se passe quoi quand le contributeur principal d'un projet open-source "disparait" ? Bah presque rien, en fait. Soit les autres mainteneurs prennent le relai, soit le projet est forké. Cela arrive très souvent, d'ailleurs c'est le cas pour core-js...

Il se passe quoi quand une entreprise disparait ou enterre un projet closed-source ? Bah le projet meurt et les utilisateurs peuvent aller se faire voir. C'est ce qui a failli arriver à Blender et à BeOS : c'est l'open-source qui a sauvé ces projets.
25  2 
Avatar de psychadelic
Expert confirmé https://www.developpez.com
Le 29/03/2020 à 3:53
qui sont utilisés par de nombreuses entités comme Apple, Babel, Gatsby, HitchPin pour ne citer que ceux-là et dans de nombreux projets.
Apple et autres grosses boites devraient systématiquement contribuer financierement aux projets OpenSource qu'elles utilisent, çà me semble une idée de base, non ?
22  1 
Avatar de frfancha
Membre éprouvé https://www.developpez.com
Le 29/03/2020 à 9:16
Utilisé par Microsoft, Google, Facebook.
S'il fallait qu'il mette 10.000.000 sur la table pour payer une équipe de fork, je pense pas que ça impacterait beaucoup leur budget...
En fait du coup c'est même le contraire : plus le projet est utilisé, moins il y a de risque.
Si vous êtes tombé sur "le" super package de qualité, bien documenté, performant, utile dans npm, que vous en dépendez crucialement, mais qu'il n'a qu'un seul admin et 1000 download par semaine....
Là vous avez un risque !!
9  0 
Avatar de dfiad77pro
Membre expérimenté https://www.developpez.com
Le 29/03/2020 à 9:19
C'est souvent le soucis avec les packages front web libres, il faut essayer d'encapsuler un max pour pouvoir remplacer les composants défaillants, c'est vrai qu'avec core-js c'est pas simple.

Bref il faut aussi se méfier des projets trop amateurs dans notamment les cas suivants :

- Non respect de version majeur,mineur,fixe (combien de fois on voit des breakings changes dans les versions mineures/fixes)
- Librairies non mises à jour durant plus de 6 mois
- Librairies codées avec les pieds ( exemple: composants react/angular jolis et pratiques, mais faisant ramer/planter le navigateur au dessus de 2 occurrences utilisées dans la même page)
- Pas de suivis des issues
- Librairie sans documentation (avec typage c'est encore mieux, mais combien d'implémentations @types sont fausses car dé-liées du code d'origine)
10  1 
Avatar de frfancha
Membre éprouvé https://www.developpez.com
Le 29/03/2020 à 12:01
C'est vrai qu'en entreprise on est souvent obligé d'acheter une solution closed source juste pour pouvoir dire on est couvert.
Alors que quand tu connais bien le fournisseur et que parviens à parler avec lui au-delà de la relation purement commerciale, tu t'aperçois que derrière sa grosse équipe marketing y a en fait un gars seul qui a pondu le truc et qui le maintient. Du coup tu comprends mieux les deux semaines par an où c'est difficile d'obtenir une réponse technique, c'est quand le gars est en vacances.
MAIS, parce que c'est un fournisseur on est couvert, on a fait le bon truc...
C'est juste extrêmement hypocrite, on a absolument pas réduit le risque qui était la priorité, on a juste pu mettre la responsabilité sur un fournisseur pour couvrir le décideur interne vis à vis par exemple d'un audit.
6  0 
Avatar de SylvainPV
Rédacteur/Modérateur https://www.developpez.com
Le 30/03/2020 à 11:14
J'en vois qui défendent Pushkarev, je vois que vous le connaissez mal. Si vous suivez ces publications sur Github, vous trouverez des messages au ton condescendant, parfois paranoïaque ou agressif. Son message de soutien financier s'est retrouvé dans tellement de terminaux à travers le monde qu'il a conduit NPM à bannir les publicités dans le terminal. Et comment a-t-il réagi après ça ?

If for some reason npm will decide to disallow this message in postinstall - it will be moved to applications log - Node / browsers console. If for some reason will be disabled ability to publish packages with this message - we will have one more left-pad -like problem, but much more serious. And after that 2 options - or core-js will not be maintained completely, or it will be maintained as a commercial-only project. Yes, I am ready to kill it as a free open source project, if it will be required by the protection of my rights
source: https://github.com/zloirock/core-js/issues/635

C'est une menace publique. Pour ceux qui se rappellent de l'incident left-pad, vous savez que ça implique. Plutôt que de chercher une solution entre-deux pour se financer sans spammer, comme le font des milliers d'autres projets open-source, Pushkarev pose un ultimatum et menace de supprimer son projet, cassant par effet domino des milliers d'autres projets derrière lui et faisant perdre du temps et de l'argent à des milliers de personnes.

On a ici affaire à quelqu'un qui a volontairement gardé la pleine gouvernance individuelle d'un projet qui a pris une échelle qui le dépasse. Qui a refusé à maintes reprises les propositions d'aides extérieures de contributeurs qui voulaient les droits de publication pour l'aider à maintenir ce projet. Et qui par-dessus a un comportement très toxique qui finit de couper l'envie de bosser avec cette personne. Pushkarev se prend pour un capitaine prêt à saborder son navire dans ce qu'il conçoit comme une mutinerie.

Dans son message, il dit chercher un "bon job". Sachez qu'il a reçu plusieurs offres d'entreprises très correctes, qu'il a refusé par des messages très secs et désobligeants. Je ne retrouve plus la trace de ces échanges mais certains avaient circulé sur Twitter il y a un an ou deux. D'aucuns diraient que s'il ne parvient pas à trouver un job, c'est sans doute à cause de ses "problèmes de communication" et de son manque de "social skills"...

Le plus grave dans cette histoire, qu'on ne savait pas à l'époque et qui éclate au grand jour avec cette actualité, c'est que ce message de "soutien financier" spammé partout dans le monde n'avait pas pour but de financer le projet, mais payer sa peine pour un homicide !

Vous croyez qu'il comptait utiliser cet argent pour le répartir proportionnellement avec les (nombreux) autres collaborateurs du projet ? Qu'il allait communiquer avec transparence sur les dépenses faites ? Raté, c'est tout pour lui: https://opencollective.com/core-js/expenses

Si son but était de réellement "supporter le projet", il aurait depuis longtemps donné les rennes à plusieurs autres devs compétents qui ont proposé de l'aider. Mais non, son but réel est d'en garder le contrôle personnel à tout prix et de tirer profit au maximum de sa popularité. Sa démarche est malhonnête et indéfendable, et même si j'utilise son travail par relation de dépendance, j'encourage tout le monde à trouver des alternatives.

A la réponse "just fork it", même si c'est en théorie vrai, c'est mal connaître le fonctionnement des projets open-source très populaires. Le nombre de téléchargements sur npm, projets dépendants et stars Github agissent comme un centre de gravité qui attirent encore plus de monde. Core-js a été forké des dizaines de fois par des équipes plus grosses, compétentes et avec une meilleure gouvernance, mais ces forks n'ont jamais su attirer le même niveau de traction et espérer remplacer l'original. D'autant qu'il ne faut pas compter sur les encouragements de Pushkarev... Pour prendre une analogie, c'est comme ouvrir un restaurant à côté d'un autre déjà très populaire. Même si la cuisine est meilleure et les serveurs plus sympas, les gens iront naturellement vers une salle déjà bondée plutôt qu'une salle presque vide.
8  3 
Avatar de tanaka59
Membre émérite https://www.developpez.com
Le 29/03/2020 à 12:12
Bonjour,

Avez-vous déjà été confronté à une situation où le projet que vous utilisez est demeuré bloqué à cause du fait que son responsable n’assurait plus sa maintenance ;?
Oui tout à fait, sur un projet wamp avec un besoin d'envoi d'emailing en php et ligne de commande.

Quels sont les désagréments auxquels vous avez dû faire face à cause du projet qui n’est plus maintenu ;?
Un code obsolète avec de la transmissions d'infos en claire et des protocoles périmés ...

Qu’avez-vous fait pour avancer dans vos activités lorsque le responsable du projet que vous utilisez a cessé de le maintenir ;?
Venir alourdir le code avec des briques d'autres langages ou d'autres applications .

Le problème c'est aussi présenté sur un logiciel de conception 3D , du code VBA , du code python pour des applis de texturages en 3D ...

-----

Citation Envoyé par SimonDecoline Voir le message
Faire passer l'open-source comme un facteur de risque c'est vraiment n'importe quoi.

Il se passe quoi quand le contributeur principal d'un projet open-source "disparait" ? Bah presque rien, en fait. Soit les autres mainteneurs prennent le relai, soit le projet est forké. Cela arrive très souvent, d'ailleurs c'est le cas pour core-js...

Il se passe quoi quand une entreprise disparait ou enterre un projet closed-source ? Bah le projet meurt et les utilisateurs peuvent aller se faire voir. C'est ce qui a failli arriver à Blender et à BeOS : c'est l'open-source qui a sauvé ces projets.
Quand un développeur, programmeur , maitre de projet disparait soit le projet est repris par la communauté , soit le projet est tué ...

Plusieurs exemples :

Maxis d'EA a disparu ... Pourtant le jeux Simcity 4 n'a jamais été si populaire ! La communauté du jeux vidéo (dont je fais parti ) a permis de recréer (10 ou 15 fois ?) le contenu en mod, addon, plugin du jeux ... Résultat Simcity 4 est toujours vendu sur Steam ou Origin ... les amateurs font durer le jeu . EA n'y voit pas de problème ... mieux cela lui permet de continuer de toucher de l'argent sur des vieux produits (que demande le peuple ?).
DMC avec Dolerean : un irlandais a raflé la mise en rachetant pour un bouché de pain les stocks et les machines ... Le mec a eu des ennuis avec la justice, pourtant la marque se porte encore . Les voitures ont même des prix collection qui décollent.

Tant qu'un rafiot peut être maintenu en place , amateurs comme professionnels vont continuer de contribuer, histoire que quelqu'un face rentrer de l'argent quelque part.

Sinon , bah la techno devient obsolète (Windows XP, Windows Phone, Vista, écran cathodique , téléphone à touche , minitel ... ), jusqu'à ne plus exister . Genre qui achète encore des prise gigognes ou minitel ?
4  0 
Avatar de TJ1985
Membre éprouvé https://www.developpez.com
Le 03/04/2020 à 9:45
@SylvainPV Moi, je comprends ce type, je pense. Il fait un truc que tout le monde emploie à satisfaction, sans en tirer quoi que ce soit. Il lui arrive une tuile. Il demande plutôt gentiment aux 25 millions de bénéficiaires hebdomadaires de lui donner 1 rouble pour le sortir de la panade et on l'envoie bouler... Il y a de quoi se dire "Bon, puisque c'est comme ça" et envisager sérieusement de reprendre les choses à son compte.
Ensuite, pleurer parce que des tonnes de projets ne marcheront plus, c'est facile : Il suffira de lui acheter une licence, et basta, tout ira bien.
Manifestement, pour certains l'OpneSource c'est free lunch tous les jours. Combien de fois ont-ils fait un don à LibreOffice, par exemple ?
Bref. Je remercie les gens de l'OpenSource de mettre leur talent à disposition de la communauté, et si ils demandent un coup de pouce pour acheter leur baguette, je le leur donne dans la mesure de mes moyens. Et encore plus lorsque leur produit me permet de proposer quelque chose de professionnel ou de commercial.
Ça me semble aller de soi.
4  0 
Avatar de BlueScreenJunky
Membre régulier https://www.developpez.com
Le 29/03/2020 à 10:04
Citation Envoyé par psychadelic Voir le message
Apple et autres grosses boites devraient systématiquement contribuer financierement aux projets OpenSource qu'elles utilisent, çà me semble une idée de base, non ?
Pourquoi pas, mais en l’occurrence ça résoudrait pas le problème (argent ou pas le gars va aller en prison, il ne pourra plus maintenir le paquet. Et si c'était lui qui s'était tué pareil).

A mon avis le plus efficace serait que les grosses boites qui se reposent beaucoup sur de tels projets contribuent au code du projet et ait une ou deux personnes qui connaissent suffisamment bien le code pour être capable de le forker et de continuer à le maintenir si le besoin s'en faisait sentir.
4  1