De la distribution du code source dans les publications scientifiques
Une publication scientifique a comme finalité de faciliter la transmission du savoir et de permettre la reproductibilité des résultats.
Il y a, plus souvent qu'autrement, utilisation de logiciels et de code pour faire l'analyse, la manipulation, pour établir des relations bref, pour une foule de raisons. Or, la quasi-totalité des publications scientifiques expliquent le raisonnement et la méthodologie utilisées pour ces calculs mais ne fournissent jamais le code source qui en est à la base.
Ce code est en fait la réalisation de l'expérience, ce n'est pas seulement le raisonnement derrière celui-ci qui doit être publié, mais bien la manière de pouvoir le reproduire. En ne publiant pas le code source, il est plus ardu, plus long et plus coûteux de reproduire l'expérience. Chaque personne voulant la reprendre devra elle-même faire une implémentation des idées évoquées pour ensuite comparer les résultats. N'ayant pas accès au code source, toute différence entre les résultats devra être interprétée comme une remise en question de l'idée sous-tendant le code, alors qu'un accès au code source aurait permis de vérifier la présence d'une erreur dans l'implémentation.
De plus, la réalisation d'expérience soulève souvent des problèmes techniques et pointus devant être résolus mais dont la description dans un article le rendrait trop lourd, voire illisible. Les manières dont sont contournées ou résolues ces difficultés peut influencer les résultats, parfois de façon déterminante. Les techniques développées pourraient aussi par la suite être réutilisées dans d'autres contextes, la science a aussi une composante importante de technicalité que les artisants, les scientifiques, ont le devoir de cultiver.
Pourquoi donc, lorsque les articles sont publiés en format numérique, est-ce que les auteurs ne publient-ils par leur code sous un licence libre? Ceci permettrait à toute la communauté scientifique de pouvoir évaluer leur implémentation, de l'utiliser, de le modifier et de l'améliorer? N'est-ce pas le but même des publications scientifiques?
Je voudrais apporter un point que tu ne considère pas: quand on essaie de valider des résultats, on doit refaire l'expérience sans influence de la première expérience afin d'éviter de faire les mêmes erreurs. Pour cette raison, il est mieux que le groupe de la deuxième expérience fasse du "reverse engineering".
La situation est identique a celle des expérience de laboratoire. Les articles ne donnent pas tous les détails des montages qui ont été utilisés pour les expériences. Ceux qui veulent les reproduire, doivent se taper un gros travail.
Par contre, pour faire progresser une étude, il serait plus intéressant de donner le code source afin que les chercheurs puissent poursuivre sans avoir à ré-inventer la roue.
Mais la communauté scientifique est très compétitive et les gens de cette communauté ont tendance a être très protecteur de leur savoir. Je ne sais pas à quel point celle-ci va adopter des méthodes ouvertes. Probablement, pour un certain temps, deux mondes existeront, la science "ouverte" et la science "fermée".
Vraiment pas clair. With enough eyeballs, all bugs are shallow.. Au pire, de pouvoir consulter le code source d'origine permet de sculpter une autre approche au problème, plutôt qu'aveuglément répéter la même procédure parce qu'on a aucune idée de comment ça s'est passé la première fois.