Afficher le flux RSS

Agemen

Certains scientifiques croient encore à l'open source

Noter ce billet
Errant au hasard (ou presque. j'ai vu ça par une de mes sources d'informations habituelles) sur la toile, je suis tombé sur cet article. Le constat qui y est fait est triste, car assez vrai : les scientifiques qui écrivent des codes ne les publient que très rarement. Et cela va à l'encontre de certains principes essentiels de la démarche scientifique.

Je ne sais pas si vous avez déjà fait un peu de bibliographie pour trouver l'algorithme répondant le mieux à un problème que vous vous posez. Ce n'est pas une pratique courante (déjà, il faut en avoir l'utilité ;-) ). Je vais vous décrire ce que j'ai pu voir, pour illustrer un peu les propos de l'article sus-cité.

En général, quand on fait ce genre de recherche, on obtient une description rapide de la méthode "utilisée" par les auteurs. Même pas de pseudo-code, rien que du texte disant "si on fait ça, puis ça, puis ça, on est super contents, notre algorithme est super rapide. Deux problèmes majeurs se posent, à mon avis :

  • La méthode est soumise trop fortement à l'interprétation du lecteur
  • L'évaluation de la performance de l'algorithme est très difficile

Certains articles réussissent à atténuer ces deux défauts. Les auteurs précisent alors, sous forme de pseudo-code (comprendre "sous une forme intermédiaire, entre le parler et le code") les différentes étapes de leur algorithme. Cependant, une question résiste toujours à l'analyse du lecteur, et elle est simple : en vrai, est-ce que ça marche ?

Pour répondre à cette question, il faut soit un exécutable (donc quelque chose qu'on ne peut pas lire), soit un code analysable et exécutable, cette dernière situation étant idéale. L'exécutable est une réponse faible. En effet, l'avoir sous la main ne permet que de vérifier qu'il répond bien au problème posé, éventuellement dans des temps acceptables. À partir du moment où il s'agit de code compilé, point de salut : on ne peut même pas être sûr que la méthode utilisé pour répondre au problème est bien celle décrite dans l'article...

Le fait d'avoir le code source à disposition change complètement la donne. En effet, tout un tas de choses deviennent possibles. On peut désormais voir comment la méthode peut être implémentée dans la vie réelle. Car il faut bien garder à l'esprit que le pseudo-code ne détaille la méthode que succinctement. Le code source, c'est la réalité : on peut se faire une idée des problèmes rencontrés par les concepteurs du code, voir comment ils les ont résolu...

Pour un informaticien, le code source, c'est un une sorte de mise à nu. C'est là qu'on voit jusqu'où l'étude d'un sujet à été poussée. Par ailleurs, laisser son code à la libre analyse du reste du monde donne deux sens très forts à un travail de recherche :

  • Le travail a été fait suffisamment sérieusement, avec suffisamment de soin, pour que l'auteur le considère comme résistant (en théorie au moins) à l'analyse des spécialistes du domaine
  • Mis à la disposition des autres, le code devient un appel à contribution. Même si l'on n'a pas le droit de faire de modifications, on peut toujours soumettre des améliorations à l'auteur.


Même pas besoin de logiciel libre, ici, juste de code ouvert. Juste de quoi fournir de la vraie matière à l'analyse de ses pairs. Être scientifique et choisir délibérément de ne pas publier ses sources, c'est à la limite de la faute professionnelle.
Tags: code, humeur, science
Catégorie
Sans catégorie

Commentaires