Un code source a-t-il une existence brève ? Selon Derek Jones, un développeur informatique, c’est ce qu’on observe bien souvent. Celui-ci soutient que, lorsqu’un code source est écrit, la majeure partie du code n'est jamais modifiée et ne reste en place que pendant très peu de temps. Dans un billet de blogue, Jones estime qu’un investissement dans le code source est une perte à terme, à moins que les rendements ne soient spectaculaires. A-t-il raison de penser cela ? Et les codes sources dans les grandes organisations, connaissent-ils aussi ce sort ?
Selon Jones, il existerait de nombreuses preuves de ce qu’il dit. Cela inclut un livre de génie logiciel qu’il dit avoir écrit, un livre basé sur des preuves et des articles de blog sur la durée de vie des systèmes logiciels. Il a aussi ajouté comme preuve le temps de survie des distributions Linux. Il faut noter que l’année passée, au moins deux distributions Linux se sont vues fermées ou abandonnées par leurs développeurs. Il y a l’exemple de Scientific Linux et Antergos qui ont annoncé l’arrêt de leur développement en mai dernier.
Pour Jones, la durée de vie est brève parce que les paquets sont mis à jour et les tiers modifient ou suppriment les API. Il souligne que les personnes qui pensent qu'un code source a une longue durée de vie souffrent d'un préjugé de survie. En d’autres termes, les programmes qui sont activement utilisés pendant de nombreuses années sont très rares. Toutefois, si la durée de vie des codes sources est courte, Jones rappelle qu’il existe quand même des avantages et des inconvénients qu’on peut noter.
Dans son argumentaire, Jones a déclaré que l’un des avantages d'une courte durée de vie est que la plupart des erreurs de codage ne vivent pas assez longtemps. Le code contenant l'erreur est supprimé ou remplacé avant que quiconque ne remarque l'erreur. Par ailleurs, l’une des conséquences négatives de la courte durée de vie de code source serait que tout investissement réalisé dans l'espoir d'économiser sur les coûts de maintenance futurs est perdu.
« Lorsque de nombreux programmes ne vivent pas assez longtemps pour être maintenus, ceux qui ont une longue durée de vie doivent servir à payer les investissements initiaux effectués dans tout le code source qui a rapidement disparu », a-t-il expliqué à propos. En outre, il a présenté des données d’études sur les modifications des fonctions selon lesquelles environ 60 % des fonctions ne sont modifiées que par une seule personne. Sur la base d'une étude de l'historique des changements de fonctions dans Evolution, c’est 114 485 changements de fonctions sur 10 ans.
D’après une étude de l’éditeur Apache sur le même thème, c’est 14 072 modifications sur 12 ans. Cependant, tout le monde n’est pas d’accord avec Jones. Quelques-uns estiment qu’il n’a pas assez de preuves qui justifient ce qu’il dit. Ils pensent que les données utilisées par Jones ne sont pas représentatives du monde logiciel dans son ensemble. Les distributions Linux sont également suspectées d'être non représentatives. Ils estiment qu'un code vit pendant de très nombreuses années. La plupart du temps, les développeurs passent 70 % de leurs temps à modifier le code existant et 30 % à écrire un nouveau code.
Pour d’autres, Jones serait peut-être arrivé à une conclusion différente avec un échantillon tout à fait aléatoire de tous les logiciels. Les exemples qu’ils ont cités sont nombreux. Il y a l’exemple de la pile Web, les systèmes informatiques embarqués, les systèmes bancaires, les systèmes militaires, les systèmes gouvernementaux, etc. Pour certains, Jones a raison. À titre illustratif, ils citent l’itération très rapide que subit les projets open source. D’après ces derniers, chaque partie de ces projets ou de ces logiciels open sources est également souvent laissée à la charge d’une seule personne.
Enfin, le poste de Jones souligne beaucoup de préoccupations sur la façon dont les codes sources sont écrits, suivis et maintenus. Est-il vrai que le code source a une courte durée de vie ? Si oui, y a-t-il un risque pour les projets informatiques à l’avenir ?
Source : Derek Jones
Et vous ?
Quel est votre avis sur le sujet ?
Partagez-vous l'opinion de Jones ? Pourquoi ?
De votre expérience, le code d'une application a-t-il une courte durée de vie ? Si oui, y a-t-il un risque pour les projets informatiques à l’avenir ?
Voir aussi
Scientific Linux et Antergos annoncent l'arrêt du développement de leurs distributions Linux. Linux Mint pourrait leur emboîter le pas
Pourquoi Linux n'a-t-il pas de succès sur desktop ? Entretien avec Mark Shuttleworth, fondateur et PDG de Canonical, éditeur d'Ubuntu
Tesla rend publique une partie du code source de ses équipements dont celui du logiciel de pilotage automatique mis en cause dans un accident
La plupart des codes ne sont-ils édités que par une seule personne et ont-ils une existence brève ? Oui
Car ils sont souvent mis à jour et parfois supprimés, selon Derek Jones
La plupart des codes ne sont-ils édités que par une seule personne et ont-ils une existence brève ? Oui
Car ils sont souvent mis à jour et parfois supprimés, selon Derek Jones
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !