Mono, un danger pour GNU/Linux ?

closeCet article a été publié il y a 14 ans 9 mois 19 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

Mono est l’implémentation open source du célèbre framework de développement de Microsoft .NET. Son développement est sponsorisé par Novell qui a signé un pacte de « non agression » avec Microsoft qui s’est engagé à ne jamais poursuivre Novell ni ces clients pour violation de brevets. De fait cela pourrait laisser la porte ouverte à d’éventuelles poursuites envers les projets non développés par Novell et intégrés dans d’autres distributions GNU/Linux.

Même si Mono et le compilateur C# sont distribués sous licences libres, certaines technologies de ce framework sont brevetées par Microsoft. Ceci inclurait : ASP.NET, ADO.NET, la couche communication du framework .NET 3.0 (Windows Communication Foundation) et Windows.Forms. Cependant, il est possible d’utiliser Mono sans implémenter ces composants.

Richard Stallman vient de lancer un pavé dans la mare à ce sujet en reprochant au projet Debian l’intégration de Mono au travers du logiciel Tomboy. Ce logiciel est écrit en C# et nécessite Mono pour fonctionner. Dans son communiqué, Stallman n’y va pas avec le dos de la cuillère pour dénoncer ce qu’il qualifie de « Grave danger que seuls les imbéciles ignoreront jusqu’au jour où cela arrivera ».

Sa crainte est de voir Microsoft imposer un jour aux distributions GNU/Linux l’utilisation de brevets logiciels sous peine de perdre le droit de distribuer des logiciels écrits en C# et Mono. Il déconseille donc fortement l’usage de ce langage et donc d’installer par défaut des applications C# dans les distributions GNU/Linux.

Une affaire qui fait suffisamment de bruit pour que l’équipe technique d’Ubuntu prenne position au travers de Scott Remnant. Selon ce dernier :

L’utilisation de brevet dans l’industrie du logiciel est une pratique commune. Leur existence en l’absence de réclamation à leur sujet est une raison insuffisante pour les exclure du projet Ubuntu. A partir de là l’équipe technique ne voit aucune raison pour exclure Mono ou les applications basées sur ce dernier de ces archives ou de l’installation par défaut.

La réponse envoyée par Ubuntu à Stallman est donc claire, pas d’inquiétude à propos de Mono qui continue d’être intégré.

Du côté de Fedora, la position est différente. Mono bien qu’intégré à la version 11 disparaîtra de la version 12. Tomboy sera remplacé par gNote qui lui ne nécessite pas Mono. Fedora adopte donc une position plus proche de celle de Stallman.

Difficile de trancher et de savoir si la menace est réelle ou pas. Mono est-il un cheval de Troie de Microsoft dans le monde du logiciel libre ? Toujours est-il que si les applications C# rencontrent un succès important auprès des utilisateurs, ils installeront Mono pour les utiliser. J’avoue être un utilisateur inconditionnel de Gnome Do qui si je ne me trompe pas utilise Mono. L’idée de m’en séparer ne m’enchanterais guère je dois bien l’avouer…

[EDIT 02/07/09] : A lire en complément : Chez Tweekers’ Blog : Pourquoi Mono n’est pas une menace

Je vous laisse ce petit sondage pour faire connaître votre position :

Faut-il utiliser Mono dans les distributions GNU/Linux ?

  • Non absolument pas (61%, 115 Votes)
  • Oui, mais le moins possible (22%, 42 Votes)
  • Oui, sans problèmes (9%, 17 Votes)
  • Sans avis (7%, 13 Votes)

Nombre de votes: 187

Chargement ... Chargement ...

Philippe Scoffoni

Je barbote dans la mare informatique depuis 30 ans (premier ordinateur à 16 ans, un ORIC ATMOS) et je travaille à mon compte au travers de ma société Open-DSI. J'accompagne les associations, TPE et PME dans leurs choix et dans la mise en oeuvre se solutions informatiques libres.

39 réponses

  1. strider dit :

    oh non tu ne t’y met pas aussi :'(
    Le trolling sur Mono commence a être vraiment vieux et n’a jamais été drole. Et pourtant ca ne cesse pas, des billets anti-mono viennent régulièrement polluer le planet ubuntu anglophone ou Slashdot.
    J’ai toujours voulu écrire un billet pour montrer aux détracteurs de mono tout le ridicule de leur argumentation, finalement c’est Jo Shields membre des packageurs de Mono chez Debian qui s’en est chargé et l’a fait bien mieux moi : http://www2.apebox.org/wordpress/rants/124/
    Et puis finalement a quoi bon ? Les détracteurs de mono sont très rarement de réels contributeurs aux logiciels libres et les développeurs d’applications mono sont (ou du moins je l’espère) très au dessus de tout cela.
    Le problème de tout cela est que cette bande de trolls gagnent en visibilité et crédibilité, si bien que les sources d’informations sérieuses (et ton billet en est un parfait exemple) se mettent a relayer ce genre de FUD.
    Il n’y a RIEN dans la « guerre » anti-mono qui rends service au logiciel libre. Si des personnes ont des sueurs froides a l’idée qu’un logiciel libre soit écrit dans un langage qui sort des laboratoires de microsoft, alors ok, qu’ils lancent leur IDEs et se mettent a coder des logiciels meilleurs.
    La triste réalité est que 99% des détracteurs ne serait même pas capable de développer un projet qui arrive a la cheville d’une quelconque application mono.
    Je souhaite bien du courage a celui qui voudra développer un lanceur meilleur que Gnome-Do… D’ailleurs le billet que tu à linké en fin de billet au sujet de Gnome-Do est surement la chose la plus crétine que j’ai lu depuis un moment.

    C’est vraiment le genre de truc qui me met en colère, et qui me donne une très mauvaise image de la communauté du libre. Venir cracher sur un langage qui est un standard ECMA, qui permet développer de très bonnes applications et qui est on ne peut plus libre, pour la simple raison qu’il sort de chez Microsoft est une attitude de faible, puérile et qui démontre une ignorance absolue dans le sujet.

  2. kane dit :

    @stider : Je suis spécialiste en ingénierie logicielle, tes arguments ne tiennent pas, mais puisque tu semble ne pas connaitre, sache qu’il y a un truc magnifique, ultra portable, qui ne pose pas de problème de licence, bon le problème c’est qu’il n’y a pas toutes les béquilles pour ceux qui ne savent pas programmer selon le pattern MVC qu’il y a en C#… donc faut apprendre à coder proprement…ce truc ça s’appelle Java… Tu sais… tu devrai tester… quoique, si tu aime le C# tu ne dois pas comprendre certains concepts de programmation… désolé.

  3. FredBezies dit :

    Je ne suis pas codeur, juste utilisateur et packageur de deux ou trois logiciels en amateur pour Archlinux. Voila qui déjà pose l’arrière plan.

    Je suis contre mono, et j’avoue que Stallman n’a pas complètement tort. Si Fedora a décidé de virer mono de sa version 12, c’est pour une simple raison : gNote fait aussi bien que Tomboy ou presque, tout en utilisant un langage qui est moins encombré par les brevets logiciels, le C++.

    J’ai remarqué – par expérience – que les outils en mono sont souvent plus lents que les outils équivalents en C / C++ : cf par exemple beagle contre tracker, moonsoon contre transmission, etc…

    Quant à Gnome-Do, je ne l’ai jamais utilisé. Les raccourcis claviers et les icones sont largement suffisantes pour mon usage personnel.

    Le seul logiciel qui me manque et que j’ai réussi à remplacer tant bien que mal : f-spot remplacé par gThumb.

    Mono est pour moi un cheval de troie, et le meilleur moyen pour MS de garotter le logiciel libre. Qui dit que MS n’attaquera pas Debian car celui-ci n’a pas signé de pacte de non agression ?

  4. Bruno dit :

    @strider : merci pour le lien vers l’article qui donne le point de vue argumenté d’un défenseur de Mono. Il n’y a pas de guerre anti-mono mais un débat. Je ne vois pas pourquoi seul les développeurs seraient légitimes pour en débattre. Après tout 99% des développeurs ne sont pas des juristes… Je trouve ce type de remarque d’un grand mépris envers tout ceux qui défendent et/ou contribue au libre et ne sont pas développeurs.

    Philippe, les propos de Richard Stallman ne sont pas nouveaux, il en parlait déjà en 2006 : http://fsfe.org/documents/rms-fs-2006-03-09.en.html#q1. D’autre part il y a une erreur dans ta transcription du courriel de Scott Remnant : …N’est PAS une raison suffisante… 😉

    Si le titre du billet de RMS est provocateur, son contenu est beaucoup plus modéré. Il ne fait que pointer l’insécurité juridique dans laquelle pourrait se trouver certaines applications dans la mesure où elle utiliseraient des parties soumises à brevet.
    Les développeurs ont certainement d’excellentes raisons techniques de préférer C#/Mono à d’autre langages/infrastructures de développement (je me demande tout de même si ce n’est plus par habitude que pour de réels avantages techniques). Il n’empêche que le problème d’insécurité juridique pointé par RMS est réel.

  5. humufr dit :

    Au moins je sais que Fedora va virer ce truc par defaut et du coup je sais vers quel distribution je vais migrer. Je suis alle sur le planet de gnome aujourd’hui et j’ai plus l’impression de me retrouver sur celui de mono qu’autre chose sans compter les cris d’admiration pousse par De Icaza des que Microsoft fait quelques chose. Heureusement KDE4 devient excessivement bien et certaines distributions influentes ne se laissent pas noyauter par les technologies a risque. Dommage que Debian se soit laisse avoir aussi j’aurai pur tenter un retour dessus apres des annees de ubuntu.

  6. Kagou dit :

    @Strider : je te trouve un poil agressif dans ton premier mail (on dira que c’est parce que tu es passionné), mais dans le même temps où tu critiques Philippe de colporter le FUD, tu semble détenir les réponses mais tu n’en donnes point. Au final tu participes au FUD.

    Mes remarques à moi :
    Si Fedora fait l’effort de virer Mono c’est qu’ils doivent avoir une bonne raison. Laquelle ?
    Si Novell signe un pacte de non agression de Microsoft envers lui et ses clients c’est qu’un tel risque doit exister.

    Donc tant qu’on ne m’enlèvera pas mes doutes par des explications dans un Français clair et intelligible, et connaissant Microsoft, je ne veux pas de Mono.

    PS : je trouve la « position » du comité technique trop neutre. C’est pas une position en fait. Du style : oui il a des brevets, c’est normal, mais comme personne ne nous attaque avec actuellement, et bien on a pas de raisons d’enlever Mono. Pouce ! Perché !

  7. strider dit :

    @kane : ok … alors je vais tenter de répondre a cette attaque personnelle de bas niveau…
    J’ai fait du Java, et la seule chose que j’ai retenu et que c’était tellement similaire a C# qu’en trois jours j’avais l’impression d’avoir utilisé ce langage pendant presque un an. Mais figure toi que je ne développe même pas (encore) en Mono, je code actuellement en Python, PHP et Bash … A la limite le langage on s’en fous, seules les applications comptent, et franchement en Java, a part Eclipse, il n’y a aucune application qui me fait réver, je ne peux pas en dire autant de Mono (Gnome-Do, F-Spot, …).
    « quoique, si tu aime le C# tu ne dois pas comprendre certains concepts de programmation » : Va chier, ok ?

    @FredBezies : « Mono est pour moi un cheval de troie, et le meilleur moyen pour MS de garotter le logiciel libre. Qui dit que MS n’attaquera pas Debian car celui-ci n’a pas signé de pacte de non agression ? » : Qui nous dit que AT&T Bells Labs n’attaquera pas Richard Stallman pour son compilateur C ? Toutes les grandes techonologies viennent soit de grandes universités, soit de grandes sociétés. Il se trouve que le C# viens de Microsoft, il fallait bien que ca arrive un jour, Microsoft n’est pas une entreprise de taille moyenne…

    @Bruno : J’avoue que je suis de moins en moins sympa envers les utilisateurs qui font zéro développement car ils se mettent a raconter de plus en plus d’âneries.
    Comme je l’ai dit dans mon premier commentaire, l’image que j’ai de la communauté du libre est en train de se déteriorer a vitesse grand V. Pour moi s’il y a bien quelque chose qui fera du mal au Logiciel Libre ce n’est surement pas Mono mais plus les fans de logiciels libres eux même. :facepalm:

  8. Jacques dit :

    Ce qui est étonnant, c’est qu’un tout petit logiciel, bien loin d’apporter une idée extraordinaire, soit le vecteur de cette polémique.

    Moi je ne vois pas la difficulté à utiliser un « moteur » tel Mono. Pourquoi pas. Après tout, Mono peut être vu comme un « moteur » comme la JRE (pour largement simplifier), et à partir du moment où on est capable de faire tourner, sous Linux, une appli à priori non prévue pour Linux, ce ne peut être que bénéfique à Linux : sous-entendu « voyez comme Linux est un meilleur serveur que Windows ».

    Mais je trouve très stupide de développer pour cet environnement et à destination de Gnome. C’est cela la très mauvaise idée qu’il faut combattre. Cette toute petite merveille tourne-t-elle sous Windows ? (Ce serait un comble de développer un outil avec un environnement Windows qui fonctionnerait seulement sous Gnome ! Il semble que ledit outil tourne aussi sous windows !)

    En fait le point clé est le choix de son environnement de développement : choisissons nous vraiment toujours le « bon » environnement de développement sinon par habitude ?

    Je plussoie Strider sur l’anti-Microsoft primaire voué à l’échec et très regressif, et Bruno sur la force de « l’habitude ».

  9. Kagou dit :

    @strider : ah ben ça c’est super ! Merci 🙂 Je suis impatient.

  10. strider dit :

    @kagou : si je n’apporte pas de réelles réponses c’est qu’elles ont toutes été données par d’autres personnes il y a longtemps. Jo Shields, dont j’ai posté le billet dans mon commentaire a très bien synthétisé toutes les inquiétudes relatives a Mono.
    Mais bon le problème est ailleurs et tu le dit en toutes lettres dans ton commentaire : Tu demande des explications dans un Français clair et intelligible, et bien je crois que je suis parti pour me taper une bonne petite traduction …
    Je vais poster ça sur mon blog d’ici peu, la communauté française en a plus que besoin.

  11. «Dommage que Debian se soit laisse avoir aussi j’aurai pur tenter un retour dessus apres des annees de ubuntu.»

    Savez-vous que vous pouvez desinstaller Mono sur un système Debian (et donc sur Ubuntu), comme sur tout système Linux d’ailleurs ?

    Savez-vous que vous pouvez installer Mono sur Fedora ?

    Raison stupide de quitter Ubuntu ou de ne pas essayer Debian, vraiment.

    Quand au troll il est effectivement infiniment débile.

    @Kane : Oui,il y a java. Et alors ? Il y a aussi Parrot. Il y a aussi Python. Il y a aussi Perl. Et il y a aussi Common LISP. Mono est une techno de plus qui a sa personnalité, ses avantages. Personnellement j’aime bien, même si je ne l’utilise pas. Et j’admire la qualité du travail réalisé, bien loin de n’être « qu’une » copie de .NET.

    Au passage l’argument des brevets est d’autant plus stupide que Mono est indépendant des parties non standardisés reproduites pour des raisons de compatibilités avec .NET. Mono propose GTK#, une intégration avec Apache, MySQL etc. qui le rendent complet tout en étant indépendant du framework .NET

  12. Karl dit :

    À propos de Fedora, le remplacement de Tomboy par Gnote n’a rien à voir avec la polémique Mono/RMS. La décision a été prise depuis quelques temps, pour la simple et bonne raison qu’inclure toute la pile Mono dans l’installation par défaut uniquement pour Tomboy est contre-productif. Et ça allégera le live-cd pour d’autres trucs plus utiles.
    Paulo l’a dit, si Gnote n’a pas remplacé Tomboy dans F11, c’est parce que c’était trop tôt.
    Quant à Mono, il est protégé par le consortium OIN dont fait partie RedHat, garant légal du projet Fedora. Certes les avocats de RedHat restent attentifs à la situation mais pour l’instant, Mono ne sera supprimé de la distribution tant qu’il ne constituera pas un danger à leur yeux.

  13. humufr dit :

    Savez-vous que vous pouvez desinstaller Mono sur un système Debian (et donc sur Ubuntu), comme sur tout système Linux d’ailleurs ?

    Merci de me prendre pour un couillon, oui je le sais. C’est la premiere chose que je fais apres une installation mais pourquoi aurais a m’embetter avec une etape de plus quand une distribution me propose par defaut un environnement sans mono? De plus ce n’est pas la seule raison de quitter ubuntu cela n’en est juste qu’une de plus. Je trouve assez ridicule de mettre 50 megas de mono pour un mettre un post-it sur son bureau… Surtout vu la taille des liveCD cela est idiot.

    Je dois avouer que je ne comprend pas le but de prendre des risques legaux a long terme pour un vulgaire logiciel de post-it c’est tout. Je dis bien risque a long terme, Je tiens a rappeller que le discours officiel de Microsoft est de combattre par tous les moyens possibles le logiciel libre donc mettre un loup dans la basse-cours n’est pas forcement la meilleure idee de mon point de vue que je partage avec moi meme et c’est deja bien!

  14. strider dit :

    @ Phillipe : je n’ai pas trouvé comment faire de rétrolien sur ton blog , quoi qu’il en soit voici la traduction promise :

    Je prends ta remarque de « vivre dangereusement » comme une forme d’humour, j’espère que pour toi aussi ce n’est rien d’autre qu’une plaisanterie 😉

  15. «C’est la premiere chose que je fais apres une installation mais pourquoi aurais a m’embetter avec une etape de plus quand une distribution me propose par defaut un environnement sans mono?»

    Désinstaller une distro et en réinstaller une pour économiser la désinstallation de mono (le framework pestiféré), ouais… Vous pouvez également télécharger une iso Debian netinstall. 50 mo, et vous installez ce que vous voulez. C’est pas cool ça ?

    «Je trouve assez ridicule de mettre 50 megas de mono pour un mettre un post-it sur son bureau… Surtout vu la taille des liveCD cela est idiot.»

    Je viens de simuler une install de Tomboy, et viens de calculer la taille exact des deps Mono exigée par Tomboy (et oui, je n’ai ni gnome ni mono d’installé sur mon système) : 23,797 Mo.

    C’est pas grand chose, même sur un live-cd. De toute manière tant que cela tient sur un live-cd, ça tient. Et puis avec un tel raisonnement on peut demander à virer GNOME ou KDE et remplacer par un XFCE, un LXDE ou, mieux, un petit Window Maker aux petits oignons 😉

    «Je dois avouer que je ne comprend pas le but de prendre des risques legaux a long terme pour un vulgaire logiciel de post-it c’est tout»

    Pas plus de risques légaux avec mono d’avec d’autres technos. Mono est protégé par l’OIN comme un certains nombre de logiciels touchés également par la nébuleuses des brevets.

    «mettre un loup dans la basse-cours n’est pas forcement la meilleure idee de mon point de vue»

    Mono le pestiféré. Mono le projet complètement open-source moins bien accueilli par certains que Java le framework longtemps intégralement proprio. La vérité ? Microsoft est le grand méchant, et Sun celui qui se bat contre Microsoft, donc forcément gentil.

    La preuve ? Dream (ex-Login), premier magazine traitant de l’informatique libre en France, encensait Java voyant en lui le Microsoft-killer.

    Dois-je rappeler que la version actuelle et officielle de Java n’est toujours pas libre ? (OpenJDK n’étant pas un build officiel). Mono, lui, l’est et ceci depuis le début. Ce que je constate c’est que nous lui faisons un bien vilain procès.

  16. Au passage, les dépendances supplémentaires au deps GNOME de bases demandées par Gnote, le tomboy écrit en C++, prennent une dizaine d’espace disque supplémentaire ( vous savez les *mm ; ligtkmm, libpangomm, libpanelappletmm etc.)

    On devrait interdire l’écriture des programmes GNOME en C++, c’est pas bon pour les live-cd (et si ça se trouve Stroustrup a des saletés de brevets qui pourrissent son langage)

  17. Philippe dit :

    @strider : Tout de suite les grand mots : troll, FUD, cracher… heureusement que tu nous donnes un bon lien pour argumenter tes propos 🙂 Ensuite le méchants trolleur c’est RMS qui relance le sujet et je ne vois pas pourquoi je n’aurais pas le droit de poser la question. Il y a un point d’interrogation au titre de l’article et je finis par « Difficile de trancher ». Tu avoueras que c’est un peu léger comme colportage. C’est une info qui suscite débat dans la communauté pourquoi la taire ?
    @Kane : -1 pour cette attaque qui n’apporte vraiment rien. Il n’y a pas de mauvais langages de programmation, il y a des mauvais développeurs, 15 d’expérience dans le développement et l’encadrement d’équipe de dév m’en ont convaincu…
    @Bruno : merci de repositionner le sujet à sa juste mesure, il s’agit juste de débattre, je ne vois pas où est la guerre non plus… Pour la traduction j’ai écrit « est une raison insuffisante » c’est bien la même chose que « N’est PAS une raison suffisante », aurais-tu raté le « in » ? 🙂

    J’avoue que les arguments de Jean-Baptiste m’ont assez convaincu, alors je vais continuer de vivre dangereusement, je vais continuer d’utiliser mon gnome-do parce que je peux plus m’en passer. Si Microsoft vient me réclamer des sous pour l’utiliser, je le désinstallerais…

  18. Philippe dit :

    @strider : oui c’était de l’humour 🙂
    Joli boulot pour la traduction !

  19. Christophe dit :

    @strider : si l’on suit ton raisonnement, parce que le problème du logiciel propriétaire est éthique, s’il l’on te suit, seul le « spécialiste » peut savoir ce qui est « bon ». Raisonnement dangereux.

  20. kane dit :

    @Bourgoin Jean-Baptiste : Non, justement, C# n’a pas de personnalité, c’est juste un java, c’est pour ça que je l’évoquait, tunée à la sauce microsoft avec plein de béquilles pour les devs qui ne savent pas séparer les parties vue de contrôleur… Tu crois que ça sert à quoi les partial class ? T’es sérieux ?! Et les multicast delegate…. ça c’est pour ceux qui ont du mal avec le pattern écouteur… là ça devient inclus dans le framework… Alors, ouai, c’est sexy, mais pour moi un Dev C# est un assisté, autant qu’un dev Java aux yeux d’un dev ADA… Le véritable problème c’est que le C# n’est pas suffisamment novateur pour m’intéresser, là par exemple je fais du Ruby et du Python, je les trouve abusés, mais parfaitement adapté à leurs usages, le C# est pour moi superfétatoire avec un prix d’usage de ressources trop élevé et une portabilité lamentable.

    23,797 Mo… Non, mais t’es encore sérieux ?! Pour juste un logiciel de « post-it »(tm) ? Et pourquoi on foutrai pas une JVM tant qu’à y être ?! Histoire de bien pourrir les cd de distrib…

    Ensuite concernant le C++, Stroustrup n’en a rien à foutre, car il est pour l’amélioration de tous… pas comme MS qui l’a déjà prouvé par le passé aimer sortir des brevets débiles pour flinguer la concurrence ou obliger les personnes à utiliser SES éléments proprio pour bien les bloquer et qu’ils n’aient surtout pas l’idée de voir ailleurs…

    @Philippe partiellement vrai, il y a BEAUCOUP de mauvais dev… Mais il y a aussi des langages inadaptés ou trop « fermés » pour être intéressants. Catégorie dans laquelle je range le C# et l’ Objective C, le C# car il consomme autant de ressources que le Java, sans être vraiment novateurs et en ayant une portabilité TRÈS/TROP limité, l’ Objective C car reclus à quelque GNUistes déviants et à l’environnement Apple, si j’ai quelque chose à faire dessus, je prendrai le temps de l’apprendre, mais avec une telle portabilité ça me démoraliserai que mon logiciel soit si restreint… Je ne dis pas qu’ils sont mauvais, ils sont juste inadaptés, à mon échelle ils ne valent pas plus que le brainfuck.

  21. @Kane : il me semble que C# n’est pas tout Mono. Mono est, enfin .NET, est conçu pour être multi-langage, mais qu’importe. De toute manière je n’aime pas particulièrement le langage C#, tout comme je n’aime pas Java. Passons. En ce qui concerne les 23mo, oui je suis sérieux. Je ne faisais que répondre au FUD « 50 mo pour un logiciel de post-it ». C’est pas 50, c’est 23, moitié moins tout de même. Et puis Tomboy n’est pas qu’un logiciel de post-it, il fait un peu plus que cela il me semble. Ensuite un cd de distrib c’est pas un windows : tu as le choix. Tu as le choix du cd (netinstall, live-cd gnome, live-cd xfce etc.), et tu as le choix de supprimer et ajouter ce que tu veux après l’install. Donc tout ce bordel autour de tomboy c’est de la pure branlette de fanatiques anti-microsoftiens primaires.
    Quand au langage en lui-même, on y revient, je ne vois pas ce que cela a à faire dans cette affaire. Vous n’aimez pas Mono et C# sur le plan technique ? Et alors ? Je vais imposer à tous des applis GNUStep et LISP parce que j’aime ces technos ?

    En ce qui concerne Stroustrup… c’était juste ironique.

  22. Karl dit :

    @Bourgoin Jean-Baptiste: Je partage ton opinion au sujet de Mono.
    Légalement, le risque se situe principalement autour des bibliothèques non standardisés du Framework (ASP.Net, WinForms, etc…) mais d’un côté ces bibliothèques ne sont présentes dans Mono que pour des raisons de compatibilité, de l’autre Mono est protégé par le portefeuille de brevet OIN. Sans compter que la plupart des brevets qui constituent un danger sérieux pour Mono, le sont pour Java, Python, Perl etc ….
    Un des intérêts de Mono, c’est d’apporter une interopérabilité avec .Net, les développeurs .Net ont la possibilité de porter leurs application sur une plateforme libre (d’où l’outil gendarme et le plugin visual studio en préparation). Mono a un avantage considérable sur .Net, il est extrêmement portable, d’où son sucès sur les plateformes de jeu comme l’iPhone ou la Wii.
    Un autre intérêt à Mono, c’est son framework propre qui offre une intégration poussée au système (Gtk#, Cocoa#, Mono.Unix, etc …) et des bibliothèques innovantes (Mono.Simd).
    Sur le plan technique, Mono est très alléchant pour un développeur surtout Gnome.
    Après, les délires sur Mono sont dû à une haine profonde de Microsoft (bien mérité), les fantasmes sur l’accord avec Novell.
    L’accord avec Novell a été un coup de maitre par Microsoft, ils ont pu promouvoir .Net en insistant sur la portabilité de la technologie, tout en faisant planner un soupçon sur la légalité de Mono voire des logiciels libres en exprimant la nécessité d’acheter une licence auprès de M$. Du bon vieux FUD, sans réelle consistance.

    Pendant longtemps, la communauté libriste a attendu un geste de Sun pour se lancer dans des implémentations libres. Ce n’est qu’en 1998 soit 3 ans après la publication de Java 1.0 que le premier draft de GCJ et GNU Classpath a été publié (et sans code). Un retard qu’il a été extrêmement difficile à combler, puisqu’en 2007 alors qu’on a une implémentation quasi complète de Java 1.4 et 1.5, Sun libère Java.
    Si Mono tient la route, c’est parce que Miguel de Icaza n’a pas attendu pour lancer le projet. Mieux vaut avoir une implémentation décente de .Net que d’attendre que toute une génération se forme à l’école sur cette technologie avant de le faire.

    > Dois-je rappeler que la version actuelle et officielle de Java n’est toujours pas libre ?
    IcedTea (basé sur OpenJDK) est une implémentation conforme de Java 6 et passe le TCK depuis plus d’un an. Du moins, les builds de RedHat et Fedora, je ne sais pas si les autres distributions valident leur build par le TCK.
    http://java.dzone.com/news/red-hats-icedtea-project-power

    Mais sur la question du live-cd, tu vas un peu vite.

    24 Mo ça peut sembler peu mais c’est énorme pour un live-cd, on a de plus en plus de mal à caser des nouvelles locales, certaines nouvelles fonctionnalités etc …
    Si tu prends le bureau par défaut, quels sont les bindings Gtk/Gnome les plus utilisés: Gtkmm (GParted, Gnome System Monitor, et PyGtk2 (la plupart des outils d’administration).
    Donc inclure Mono uniquement pour un petit bloc-note dans le bureau par défaut c’est pas productif.
    C’est plus par pragmatisme que par haine envers Mono, que les distributions remplaceront Tomboy par Gnote. Tu noteras qu’elles ont attendu que Gnote soit quasiment à parité de fonctionnalités avec Tomboy et que celui-ci et Mono sont toujours présent dans les dépôts.
    Java-gnome, Perl-Gtk2 sont également des bindings officiels de Gnome et ils ne sont pas inclus dans la plupart des live-cd, doit-on pour autant déduire que c’est par haine qu’ils ne le sont pas ?

  23. bouleetbil dit :

    Bonjour,
    Je ne comprend toujours pas pourquoi on s’acharne sur mono ?
    C’est un bon produit qui évolue depuis des années. Chaque langage vise un domaine d’application.
    Par exemple un logiciel de gestion peux se faire en Windev, accéder aux fonctions système en C. Un Webservice en .net ou java etc… Je suis amener à utiliser différents langages en tant que développeur cela pour divers raisons et un langage reste juste en gros un outil qui te permet d’atteindre un objectif après on a forcément des préférences.

    Pour en revenir à mono, cela pose des soucis à certains d’avoir un .exe sur leur linux mais quelle est la difference avec un .jar pour Java. J’utilise maintenant linux depuis des années, je participe à différents projets libre et je crois au logiciel libre…. bon enfin bref, et le travail accomplis sur ce framework est énorme. Il ne faut pas oublier que ce travail est aussi fait en parti par des bénévoles et des passionnés et le portage de .net est une bonne chose. Cela permet de concurrencer Java et la concurrence fait évoluer les choses.

    En ce moment je travail beaucoup en .net dans ma société et je n’utilise que Linux chez moi alors oui j’utilise mono à titre personnel et j’en suis très content. L’IDE est sympa et simple et si le code est « sale » c’est la faute du développeur 🙂

    Donc, pour en finir pour moi mono n’est pas un danger faut arreter de dire n’importe quoi si cela fonctionne bien pourquoi ne pas l’utiliser et je rejoins @strider sur ce point :
    « La triste réalité est que 99% des détracteurs ne serait même pas capable de développer un projet qui arrive a la cheville d’une quelconque application mono. »

    @kane : je suis aussi développeur je bosse en .net, java, windev un peu de C…. tout cela dans le domaine de la santé.
    Où as tu vue que savoir bien coder c’etait forcement du java. Un code « propre » n’est pas associé à un langage sinon cela se saurait. On peux faire facilement du code « sale » en java, en .net etc… ah au fait j’utilise le pattern MVVM dérivé du MVC je code en n’tiers on a des procédures de tests automatiques… et tu sais quoi tout ca c’est du c#. Non c’est pas vrais et bin si !!! En mono on peux faire la même chose si on veux vraiment par contre pour les tests avec monodevelop c’est un peu plus compliqué je te l’accorde.
    Sache que le c# ressemeble fortement à java si tu connais java en quelques jours tu connais c# et vice versa 🙂
    ==> » » » si tu aime le C# tu ne dois pas comprendre certains concepts de programmation… » » »
    Cela fait maintenant quelques années que je programme et j’aime bien c#

    J’ai pas l’habitude de répondre sur les blogs bien que lis souvent le tient philippe mais la désolé j’ai pas pu m’empécher 😉

    Sans rancune kane 🙂

  24. strider dit :

    @Christophe : Primo, nous ne parlons pas de logiciel proprio ici, seulement d’une technologie libre dont les spécifications viennent du grand méchant microsoft.
    J’ose a peine imaginer le foutoir si Microsoft avait écrit la plus grande partie des spécifications du XHTML ou de Python …
    Secundo, je ne suis pas formellement contre le fait que les non spécialistes aient un avis, mais je m’attendrais a ceu qu’ils aient des avis moins tranchés et plus modérés parce qu’ils savent a peine de quoi ils parlent. Je ne suis pas d’accord avec les arguments de Kane mais au moins ils tiennent la route, et sont sensés.

  25. kane dit :

    @bouleetbil Y’a pas de rancune, juste que je ne disais pas que l’on pouvait coder proprement qu’en java, je disais qu’en C# il y avait des grosses béquilles pour ceux qui ne le savent pas… Et depuis le début je fais que dire que le C# c’est du gros pompage abusé sur Java, la portabilité en moins, mais bon…

    Quelques infos: j’ai fais du C#, .net, un peu de C, du Scheme, du antlr et du Brainfuck aussi; là je baigne plus dans le PHP/Python/Ruby/J2EE (OMG des langages où tu peux trop facilement faire de la merde, enfin sauf le J2EE ;D ), je fais aussi du « n tier » quand c’est nécessaire, j’utilise des frameworks IOC de temps en temps aussi et tout les PYUnit, Junit, PHPUnit sont aussi mes amis, because test oriented dev et Xtrem programming power sous RUP/2TUP et Scrum (OMG Scrum sort de chez MS… mon image de fanatique tombe), donc keep cool t’es pas le seul programmeur sérieux à savoir sortir des gros mots ici ^^

  26. Philippe dit :

    @bouleetbil : ne te prive pas de répondre, ce serait dommage pour tous le monde.
    @kane : lol, je préfère quand tu roules des mécaniques ! Tous les mêmes ces développeurs 🙂

  27. bouleetbil dit :

    @kane t’inquiete je suis keep cool lol et et les gros mots c’etait juste pour juste pour répondre à tes gros mots :
    « programmer selon le pattern MVC qu’il y a en C# »
    voila j’arreterais la.
    Sauf que je serais interresser de connaitre ton ressenti sur scrum ? Si pour toi cela fonctionne réellement sur des gros projets ?

    @Philippe les développeurs sont des grands malades 😉 de toute façon pour faire ce travail t’a pas le choix

  28. Philippe dit :

    Réponse de Alexander Reichle-Schmehl, « Debian developer and spokesman for the GNU/Linux distribution » à RMS à lire ici

  29. kane dit :

    @bouleetbil j’aimerai bien partager mon expérience Scrumienne , mais pas le temps d’en écrire un article… donc soit tu trouve un article qui en parle et je com’ soit tu l’écris, soit tu me mp @ jean point cedric. t [at} le mail de big brother google en dot com .

    @Philippe et @bouleetbil clairement, faut vraiment avoir un grain pour faire notre job !

  30. yvan dit :

    Le problème de base, c’est que Mono est sans doute un outil utile pour des migrations/integration de machines linux en environnement/outils windows… Au même titre que WINE ou Samba.

    Mais au même titre que ces 2 exemples, ça ne devrait pas être là par défaut: Un utilisateur en a besoin, qu’il se borde bien juridiquement et se demerde en cas d’ennui avec Redmond. Au moins ça ne risque pas d’impacter une distribution majeure et l’ensemble de ses clients en une seule action.

    De plus, l’avoir par défaut va générer une utilisation grandissante pour developper des applications Linux: On sortira donc alors à moyen terme du cadre habituel des outils de migration/integration windows et le jour ou revenir en arrière sera devenu très difficile, Redmond pourra sortir de sa reserve.

    Fedora, avec Red-Hat derrière qui est très implanté en entreprise… a pris une decision dont TomBoy est sans doute l’alibi: Ils sont dans le business et leur mode de décision sur ce genre de sujet, c’est l’estimation d’un rapport bénéfice/risque qui leur semble sans doute ici très défavorable.

    Par ailleurs, le C est là depuis les années 70. Le noyau Linux, hormis de petites parties asm liées au démarrage (faut bien une pile, après un minimum de configuration processeur/memoire pour appeler du C!) ou a l’optimisation des IO, est écrit en C car au niveau performance on n’a pas fait mieux. Le C++ a aussi enterré pas mal de languages qui devaient lui succeder.

    Hier Java, aujourd’hui Mono, demain ??? Tous ces pseudo langages de haut niveau sont aussi des modes éphémères sur une vie d’informaticien. Les 2 piliers, eux sont encore là pour longtemps. Il est vrai que ça se debugge moins facilement qu’un pseudo-code dans une VM, mais au moins on n’a pas besoin d’un quad-core pour faire tourner un logiciel de gestion de photos à côté d’un post-it informatisé! 23Mo à tirer pour TomBoy, c’est sans doute la moitié des 50Mo évoqués mais pour qui a débuté l’info sur un Z80 avec 1ko de ram, fait son école d’ingénieur a une époque ou un 486 avec 4Mo de ram et 100Mo de disque était un luxe faisant tourner un environnement déjà très agréable… tout ceci ressemble fort à du gâchis! Mais bon, quand on utilise Eclipse pour coder il est vrai qu’on ne doit pas être très sensible à ces pb…

    Stallman est sorti de sa boite de pandorre avec raison sur ce coup amha… Et Red-Hat confirme même si la décision est annonçée comme tout sauf stratégique. Ce qu’elle a pourtant toute chance d’être.

  31. tanguy dit :

    J’ai relu votre débat en début de soirée et qu’est ce qui arrive dans mon aggrégateur quelques heures plus tard: http://www.kdedevelopers.org/node/4119

    « [..] The most important piece of news from last week’s PDC was Microsoft’s decision to turn Silverlight into the universal platform for building cross platform applications.

    –Miguel de Icaza, November 23, 2009 after visiting MSPDC09 »

    Rigolo non ?
    J’en ai profité pour aller regarder des vidéo de Kde 4.4 qui a l’air très prometteur (tandis que gnome-shell me fait moins rêver).

  32. Stifu dit :

    « @stider : Je suis spécialiste en ingénierie logicielle (…) si tu aime le C# tu ne dois pas comprendre certains concepts de programmation… désolé. »

    lol, v’là le « spécialiste ». 🙂

  33. Mathieu dit :

    Laisse tomber c’est un symptôme commun chez les ingénieurs Java, ils aiment bien se masturber avec leur vocabulaire d’ingénieur, mais bizarrement, des applications Java hors du commun j’en vois rarement…
    A vrai dire les meilleures applications en Java … sont des IDE destinés a écrire du Java (à l’origine) : Netbeans et Eclipse.

  34. Kane dit :

    @Mathieu : « les ingénieurs Java » XD je n’ai pas dis être ingénieur, et j’ai même parlé de mes autres langages de prédilection… Mais c’est assez marrant de voir un vieux troll ressortir dans sa boite mail plusieurs mois après la fin des hostilités ! XD

    Allez, histoire de remettre de l’huile:
    L’ ACTA propose d’implanter les brevets logiciels en Europe… On fera quoi avec nos piles applicatives .Net brevetées par Microsoft (peu importe VB, C#, JS, whatever…) ?

  35. Philippe dit :

    Tiens le troll bouge encore 😀

  36. Stifu dit :

    @Kane : j’adore, c’est souvent les trolls qui traitent les autres de trolls, et les FUDeurs qui disent que les autres FUDent. Classique. J’ai un peu de temps à perdre, donc allons-y. 🙂

    Pourquoi n’élabores-tu pas davantage ton point vague (datant de quelques mois, certes, mais qu’importe), comme quoi ceux qui aiment C# ne doivent pas comprendre certains concepts de programmation ? Quels concepts ? Des exemples ?

    Sinon, pour te cultiver un peu, voici une petite liste où Jo Shields (déjà cité plus haut) présente brièvement quelques uns des avantages de Mono vis-à-vis de Java :
    http://www2.apebox.org/wordpress/rants/124/#comment-1080
    Ce n’est pas une liste exhaustive, loin s’en faut. On aurait pu aussi mentionner le fait que .NET / Mono est multi-langage, ou que l’implémentation des generics de .NET est supérieure à celle de Java (http://www.buunguyen.net/blog/java-and-net-generics.html), ou encore que Swing est vieux et nase et n’a toujours pas de successeurs en vue.
    Heureusement que Java 7 va changer la donne avec de nouvelles fonctionnalités bluffantes, comme la possibilité de faire un switch sur un string. (Certes, je trolle aussi un peu gratuitement, mais je fais des efforts pour m’adapter, la barre étant haute placée ; j’ai encore de la marge.)

    Enfin bon, tu attaquais le côté technique, maintenant tu passes du coq à l’âne avec le légal. Pour ton information, Java n’est ni 100% libre (c’est censé arrivé avec la version 7 qui n’est décidément pas pressée de sortir), ni dénué de brevets logiciels. Donc tu te tires dans le pied, là. Tout n’est pas blanc ou noir, même si Microsoft n’est pas une boîte de saints, Sun non plus (exemple au pif : http://news.cnet.com/Kodak-wins-Java-patent-suit/2100-1014_3-5394765.html).

  37. Kane dit :

    FAIL ! @Stifu: Open JDK est 100% libre et certifié Sun !
    EPIC FAIL ! Tu cite un article où justement Sun est victime d’un brevet A.L.C. certified (à la con) !

    Et je le redis… j’en ai rien à battre de Java etc. Ce qui m’importe c’est qu’un langage me permette d’écrire un truc une fois pour toute et que ça tourne partout ! (vieille tare datant de la baston IE Vs. Netscape)

    Et quand on me dis « ouaiii Mono c’est trop cool, c’est comme java, on peut écrire un programme et le lancer sur Win et GNU/Linux BSD whatever… » bah moi je répond simplement non, car on ne peux pas faire confiance à Microsoft, qui, dans le cas présent, peut parfaitement déclarer toutes ces applications hors-la-loi…

    Et là mon application .Net/Mono ne tournera plus que sous windows… Donc je devrai refaire un truc spécifiquement pour windows ou plus simplement utiliser un langage qui marche partout !

    Devine mon choix…

  38. Stifu dit :

    Je me suis fait bouffer mon message… La flemme de tout réécrire.
    Je vais donc faire un peu plus concis :

    1- Tu as raison, je me suis planté sur l’article Kodak / Java, j’avais mal lu. C’était juste le fruit d’une recherche Google de 5 secondes (j’aurais pu piocher ça http://www.itjungle.com/tug/tug110107-story02.html ou ça http://www.sunhelp.org/2007/12/04/sun-sues-trilogy/ à la place), mais c’était juste pour illustrer le fait que je n’ai pas plus confiance en Sun / Oracle qu’en Microsoft.

    2- J’attends toujours ton explication comme quoi les amateurs de C# n’ont pas tout compris à la prog.

    3- Microsoft supporte (pas financièrement, mais par ses actions) Moonlight en le présentant comme le Silverlight de Linux, donc ça n’aurait pas beaucoup de sens qu’ils s’en prennent à Mono.

    4- Si Microsoft s’attaque à Mono et obtient gain de cause, ça ne veut pas dire que ton appli ne tournera plus que sous Windows, ni que toutes les applis Mono seront « hors-la-loi ». Seules certaines parties de Mono sont potentiellement en danger car basées sur des technologies non libres (Windows.Forms, ADO.NET…), et la plupart des applis Mono ne s’en servent pas. Ainsi, les applis comme Tomboy et co (qui utilisent GTK# pour l’UI) ne sont pas menacées et seront toujours 100% légales quoiqu’il arrive. Si tu es parano, tu peux donc te limiter aux parties « safes » de Mono pour développer, et te dire qu’il ne peut plus rien t’arriver d’affreux maintenant.
    (À ce sujet, il a été décidé que Mono serait divisé en 2 parties, pour clairement séparer le côté obscur de la force du bon côté. Je cite : « In the next few months we will be working towards splitting the jumbo Mono source code that includes ECMA + A lot more into two separate source code distributions. One will be ECMA, the other will contain our implementation of ASP.NET, ADO.NET, Winforms and others. » Source :

  39. Kane dit :

    @Stifu, ouai enfin sur les deux exemples le premier est une contre attaque dans une baston de brevets et le second est moins documenté que zend… Bref
    Le C# prône certains anti-pattern très moches comme les partial class… mais bon… après c’est histoire de rigueur/goût…
    Sinon, la news que tu annonce est bien sympathique… Mais ça ne me fera pas faire du Mono pour autant… si je veux faire une petite appli je la ferai en python/php/js/java et si elle est vraiment soit trop petite soit trop balèze, je la ferai en java/C++/Qt/GTK+