Comme beaucoup d’utiliseurs de GNU/Linux, mon environnement de bureau est Gnome.
Depuis quelques temps, cependant, quelque chose me chagrine : de plus en plus de petites applications inclues dans Gnome sont codées en Mono, port linux compatible de la plateforme .Net de chez Microsoft. Dans la pratique, cela donne des applis codées plus facilement qu’en C mais qui ajoutent encore des dépendances, et donc du poids, à Gnome.
De plus, on pourrait évoquer le fait que Microsoft peut tout à fait trouver ce port illégal car violant un brevet. Imaginons. Dans 5 ans, beaucoup des petites applis de Gnome qui simplifient la vie sont codées avec Mono. Et là, Microsoft se rendant compte de l’importance de ces outils pour le passage à GNU/Linux, décide de réagir face à la violation de son brevet américain sur .Net. Ce qui se passerait, c’est que tous ces petits outils ne seraient plus installés par défaut sur toutes les distributions, car violant les brevets dans certains pays. Et c’est ça de perdu pour les utilisateurs lambda/débutants …
La question que je me pose donc est la suivante : Pourquoi ces outils ont-ils été codés en Mono ?
Peu importe les raisons, à mon sens, car le problème est le même : si beaucoup d’applications utiles à Gnome sont codées en Mono, que Mono devienne un langage plus utilisé encore qu’aujourd’hui dans Gnome, que deviendra Gnome le jour où Microsoft embêtera tout le monde avec ses brevets ?
Je peux comprendre l’envie de coder facilement, d’avoir un langage pour des applications portables, mais Mono n’est pas la solution optimale si l’on prend en compte les éventuels soucis juridiques à venir. Je n’ai rien contre le fait d’avoir des applications en Mono du moment que des alternatives dans des langages ou des plateformes libres sont le choix par défaut.
Python avec Glade/PyGTK ou QtDesigner/PyQT répond aux mêmes besoins de simplicité de code, de concision du programme, de portabilité, tout en étant libre de toute contrainte juridique. Pourquoi dans ce cas ne pas faire ces applications actuellement codées sur Mono en Python ?
Dans la sphère du libre, beaucoup de gens critiquent la réaction que Richard Stallman a eu face à « l’invasion » Mono dans Gnome, disant qu’il voit le mal partout et qu’il est déconnecté du monde réel. Autant il est effectivement souvent à côté de la plaque, autant sa réaction sur Mono est tout à fait justifiée !
Bref, à mon humbre avis, les applis par défaut de Gnome ne devraient pas être dans des langages dont la liberté au niveau juridique n’est pas certaine.
Edit :
Il se trouve que Microsoft a fait un contrat disant en gros « si vous utilisez bien que ça, ça, ça et ça, pas de poursuites, jamais ». Il semble que les applications en Mono (et Mono lui même) soit couvertes par ce contrat contre tout soucis.
Cela dit, je vais reposer ma question : pourquoi Mono quand Python avec Qt, GTK ou Wx (On ne trolle pas au fond), on fait pareil ?