Ce n'est pas « si simple ». Il y a également une part de compétition dans le domaine de la recherche publique, ne serait-ce que pour obtenir des financements. Si on dispose d'un logiciel « original », on peut vouloir ne pas publier le code pour garder une certaine avance sur ses concurrents. A partir du moment où le code est publié, il devient assez difficile de contrôler la copie de ce code : même si il n'est pas réutilisé tel quel, on peut toujours s'en inspirer fortement pour faire son propre soft équivalent.

Ensuite, on peut cadenacer son code et les algorithmes de sorte que personne ne puisse le réutiliser de quelconque manière que ce soit, mais c'est à mon avis encore pire que de ne pas le publier.

Outre le code, on pourrait également contraindre les mathématiciens ou physiciens théoriciens à détailler leurs démonstrations. C'est en effet très rarement le cas, la grosse majorité se contentant de donner quelques résultats intermédiaires tout en ne détaillant pas les parties délicates.