Pourquoi les chercheurs hésitent-ils à partager leur code: D'après mon expérience, il existe deux raisons courantes pour lesquelles certains / de nombreux chercheurs ne partagent pas leur code.
Premièrement, le le code peut donner aux chercheurs un avantage important pour les travaux de suivi. Cela peut les aider à avoir une longueur d'avance sur les autres chercheurs et à publier plus rapidement les recherches de suivi. Si les chercheurs ont l'intention de faire des recherches de suivi, garder leur code secret leur donne un avantage concurrentiel et les aide à éviter d'être récupérés par quelqu'un d'autre. (Cela peut être bon ou mauvais; je ne prends pas position là-dessus.)
Deuxièmement, beaucoup de code de recherche est, eh bien, de qualité recherche. Les chercheurs ont probablement pensé que c'était assez bon pour tester les hypothèses de l'article, mais c'est tout. Il peut avoir de nombreux problèmes connus; il peut ne pas avoir de documentation; il peut être difficile à utiliser; il peut se compiler sur une seule plate-forme; et ainsi de suite. Tous ces éléments peuvent compliquer l'utilisation par quelqu'un d'autre. Ou, cela peut prendre beaucoup de travail pour expliquer à quelqu'un d'autre comment utiliser le code. En outre, le code peut être un prototype, mais pas de qualité de production. Il n'est pas inhabituel de prendre des raccourcis lors du codage: des raccourcis qui n'affectent pas les résultats de la recherche et conviennent dans le contexte d'un document de recherche, mais qui seraient inacceptables pour un code de qualité de production déployé. Certaines personnes sont perfectionnistes et n'aiment pas l'idée de partager du code avec des faiblesses connues ou où ils ont pris des raccourcis; ils ne veulent pas être gênés quand les autres voient le code.
La deuxième raison est probablement la plus importante; c'est très courant.
Comment aborder les chercheurs : ma suggestion est de recentrer vos interactions avec ces chercheurs. Quels sont vos vrais objectifs? Vos vrais objectifs sont de mieux comprendre leurs algorithmes. Alors, partez de cette perspective et agissez en conséquence. S'il y a des parties de l'article qui sont difficiles à suivre ou ambiguës, commencez par lire et relire leur article, pour voir s'il y a des détails que vous avez peut-être manqués. Réfléchissez bien à la façon de combler les lacunes manquantes. Faites un effort sérieux par vous-même, d'abord.
Si vous êtes au niveau de la recherche et que vous avez fait un effort sérieux pour comprendre, et que vous ne comprenez toujours pas ... envoyez un courriel aux auteurs et demandez-leur des éclaircissements sur le (s) point (s) spécifique (s) que vous pensez ne pas être clair. Ne dérangez pas inutilement les auteurs - mais si vous vous intéressez à leur travail et que vous avez une bonne question, de nombreux auteurs seront heureux de répondre. Ils sont simplement reconnaissants que quelqu'un lise leurs articles et s'intéresse suffisamment à leur travail pour étudier attentivement leur travail et poser des questions pertinentes.
Mais assurez-vous de poser de bonnes questions. Ne soyez pas paresseux et demandez aux auteurs d'éclaircir quelque chose que vous auriez pu découvrir par vous-même avec plus de réflexion. Les auteurs peuvent le sentir et vous considéreront comme un ravageur, pas comme un collègue apprécié.
Très important: Veuillez comprendre que ma réponse expliquant pourquoi les chercheurs ne partagent pas leur code est conçu comme une réponse descriptive , pas une réponse prescriptive . Je ne porte absolument aucun jugement sur la question de savoir si leurs raisons sont bonnes ou si les chercheurs ont raison (ou tort) de penser de cette façon. Je ne prends pas position sur la question de savoir si les chercheurs devraient partager leur code ou non; Je décris simplement comment certains chercheurs se comportent . Ce qu'ils devraient faire, c'est une boule de cire complètement différente.
L'affiche originale a demandé de l'aide pour comprendre pourquoi de nombreux chercheurs ne partagent pas leur code, et c'est ce à quoi je réponds. Les arguments pour savoir si ces raisons sont bonnes sont subjectifs et hors sujet pour cette question; si vous voulez avoir ce débat, postez une question distincte.
Et s'il vous plaît, je vous exhorte à utiliser un peu d'empathie ici. Que vous pensiez que les chercheurs ont raison ou tort de ne pas partager leur code dans ces circonstances, sachez que de nombreux chercheurs ont ont des raisons qui leur semblent valables et appropriées. Essayez de comprendre leur état d'esprit avant de les critiquer par réflexe. Je n'essaie pas de dire que leurs raisons sont nécessairement bonnes et bonnes pour le terrain. Je dis simplement que, si vous voulez persuader les gens de changer leurs pratiques, il est important de comprendre d'abord les motivations et les forces structurelles qui ont influencé leurs actions actuelles, avant de vous lancer dans une tentative de les inciter à agir différemment.
Annexe: Je souscris définitivement à la recommandation de Jan Gorzny de lire l'article dans SIAM News qu'il cite. C'est informatif.