Le code d'abandon meurt-il jamais correctement?


10

J'ai l'impression qu'au fil du temps, de plus en plus de code source ouvert est généré, ajouté à divers référentiels gratuits ou partiellement gratuits, puis généralement abandonné.

Existe-t-il des normes généralement acceptées pour l'élimination du code abandonné? Cela devrait-il être appliqué par les référentiels, ou serait-ce quelque chose qui incomberait aux auteurs de code d'origine?


2
Pourquoi devrait-il être éliminé? Si c'est Open Source, quelqu'un pourrait le vouloir pour quelque chose un jour, et cela ne coûte pas cher de le garder dans des référentiels.
David Thornley

Qu'entendez-vous par «normes d'élimination du code abandonné» ?? "del . "?
Tour

@Rook: Ou "rm -rf *" pour les utilisateurs Unix / Linux.
David Thornley

@David Thornley - oui, eh bien ... vous obtenez le point :)
Rook

Réponses:


7

Le gros problème ici est de décider quand quelque chose est abandonné.

Les anciens logiciels sont utilisés par des personnes ayant de vieilles machines ou des politiques de mise à niveau conservatrices (par exemple des banques), donc un fichier qui est téléchargé peut-être 10 fois par an pourrait toujours être utile à beaucoup de gens qui n'ont tout simplement jamais mis à niveau. S'ils ont besoin de réinstaller, ils devraient pouvoir obtenir une ancienne version compatible avec leur système.

Un logiciel obsolète (remplacé par une mise à niveau ou un remplacement direct) peut également être utile à de nombreuses personnes. Soyez témoin des bogues du navigateur des années 90 qui entraîneraient des politiques de non-mise à niveau, même face aux correctifs de sécurité, car d'autres logiciels dépendaient de bogues dans une version spécifique.

Je dirais donc non, simplement parce qu'il n'existe aucun moyen fiable de déterminer si le logiciel est toujours utilisé. L'absence de preuves n'est pas une preuve d'absence :)


+1 pour la dernière phrase. Vous ne pouvez jamais dire qui s'appuie sur ce logiciel, c'est pourquoi Microsoft accorde une priorité presque infinie à la compatibilité descendante.
Michael K

1

C'est une préoccupation de maintenance pour les référentiels qui hébergent le code mort. Ils consomment des ressources, même s'il n'y a pas de trafic vers ces projets. Un fournisseur a deux choix: s'en débarrasser ou le garder indéfiniment. Certains endroits comme SourceForge choisissent de conserver les projets jusqu'à ce que le propriétaire les supprime manuellement. Même alors, ils ont encore des archives.

La meilleure approche que j'ai vue pour se débarrasser des anciennes bibliothèques qui ne sont plus utilisées pour quelque chose de nouveau est cette approche:

  • Dépréciez la bibliothèque - mettez-la dans l'équivalent logiciel du "grenier". Cela signifie que vous envoyez un message de notification aux listes de distribution d'e-mails connues et fermez ces listes. Le "grenier" est un emplacement d'accès HTTP uniquement afin que les utilisateurs intéressés puissent télécharger une copie comme ils le souhaitent. Les pages auront toutes la clause de non-responsabilité "obsolète", et si la langue du projet le prend en charge, l'API sera marquée comme @deprecated.
  • Après une période de temps spécifiée dans le grenier (au moins un mois, voire un an, selon les politiques), supprimez complètement la bibliothèque.
  • Supprimez toutes les références à la bibliothèque de votre site.

Habituellement, les projets morts sont morts car il n'y a pas de communauté autour de lui, pas de mainteneurs, pas d'utilisateurs qui se soucient suffisamment d'être dans la distribution de messagerie des utilisateurs, pas d'activité sur les distributions d'e-mails, etc. les gars qui utilisent les choses mais ne contribuent en aucune façon) une dernière chance d'obtenir ce qu'ils veulent. Il leur indique également qu'ils doivent migrer loin du projet ou le reprendre pour le maintenir par eux-mêmes.


1

Autant vous poser la même question sur la littérature ou la musique. Il y a sûrement beaucoup de vieux logiciels "vraiment abandonnés" écrits dans les années 80 dont vous n'êtes pas au courant car, eh bien, personne ne l'utilise ou n'y pense plus. Mais il n'y a pas de figure d'autorité qui en dispose, car tout est décentralisé. C'est juste la nature du Web. La seule véritable mesure du succès d'un logiciel est le nombre de personnes qui trouvent encore une raison impérieuse de continuer à l'utiliser. Lorsqu'il manque de supporters, il meurt d'une mort naturelle.

De même, nous avons tendance à voir chaque compositeur du XVIIIe siècle comme Mozart et chaque dramaturge du XVIe siècle comme Shakespeare. La loi de Sturgeon stipule que 90% de tout, de temps en temps, est / était de la merde, mais vous êtes plus familier avec la merde qui existe maintenant car elle n'a pas eu assez de temps pour subir une décomposition complète de l'utilisateur.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.