Why Mono is Good

    The members of the open-life.org social network decided to translate the article by Jo Shields “Here we go again - why Mono doesn't suck” . The result is an article "Why Mono is good." A copy of this translation can be read here: Why Mono is good - open-life.org

    Note: If anyone wants an invite to open-life.org - knock on the PM

    I am a member of the Debian Mono Group, the Debian CLI Applications Team, and the Debian CLI Libraries Team. And for the past year I have been working on the maintenance of the Mono project packages and programs that use it in the Ubuntu (and Debian) OS. I am well aware of heated debates, threats and subsequent transitions to individuals, and now I accept your “challenge”. In this article, I speak on my own behalf - not from the Debian project, not from Ubuntu, not from Mono, and not because my boss asked me to.

    You wanted “an objective explanation of why Mono is good, why it is not a threat, and why it should be included in Ubuntu by default”? - I will answer these 3 questions in turn, then I will offer a general conclusion to this article, as well as to the wider Anti-Mono movement. This post is signed by GPG(Translator's note: GPG = GNU Privacy Guard - a free alternative to a set of cryptographic software PGP) to confirm the fact of its publication without changes. The original text is available at retro.apebox.org/herewegoagain.txt so that anyone can verify its authenticity on their own.

    Why is Mono good?

    The answer depends on who was asked this question.
    Asking this question to simple users, you will hear “nothing” in return, as well as for the Scheme compiler or LOLCODE interpreter.
    But asking the same question to programmers, you will receive many completely different answers. Mono provides a well-balanced integrated system that allows you to develop open source software quickly, efficiently and productively. By the word “balanced” I mean impartiality in prioritizing the features of a programming language — using RAM, speed of execution, accessibility of libraries, and much more — it’s pretty good EVERYTHING. In terms of speed, Mono is much faster than Python - up to a difference of several hundred times according to the results of some tests; consumes less memory when compared with Java programs; contains modern features like a garbage collector, which makes writing code very easy compared to malloc () - the lucky C and C ++. This is a well balanced system. Thus, for those who are going to write programs for the open source software environment, it represents a justified choice of the basis for development. Some programs that were created relatively recently - for example, GNOME Do - make full use of the functionality of the Mono platform, along with the ability to write very quickly and simply, compared to chasing SIGSEGV for human errors unavoidable when developing on C. Mono was conceived from the very beginning as a way Avoid the absolute horror of supporting the large C codebase GUI base (see Evolution).
    Further, Mono as a whole allows easier migration, both for developers and users who have become familiar with CLR frameworks like Microsoft .NET. Students studying Visual Studio .NET at universities can use the acquired skills and directly apply them to create and improve free software in new Ubuntu distributions, without having to learn a new language. Businesses investing in .NET-based applications may consider replacing their server and desktop software with free software. While providing .NET compatibility has always been a secondary goal, it has always been very popular and has encouraged different people to contribute to Mono's improvement.
    However, it is worth noting that this use case (migration from Windows) is not the reason for including Mono in standard distributions (to a greater extent, for example, than Wine). Indeed, the libraries necessary for most Microsoft.NET applications to work are excluded from the Ubuntu distribution due to the lack of need for them.

    Why is Mono not dangerous?

    This question raises a lot of useless, but heated debate, although it will not harm you and your web page, and you will get a good income. Mono is not dangerous, as there are no legal restrictions. Many people spend hours, if not days and weeks, trying to explain this. Well, I'll try to do it again. There are many reasons that fully explain the correctness of this statement, and now we will consider them separately.
    • Mono is not the result of any business between Novell and Microsoft. It was created 4 years before that unpleasant deal. He was not discussed professionally in this matter, he was not mentioned at all (as well as other programs). This is important to note.
    • Mono is under the auspices of the OIN organization, as is most of the free applications. Patent attacks against Mono carry the same risk to attackers as attacks against other OIN members. Attacks against Mono are fraught with a patent Cold War that Microsoft cannot win. Such actions will damage their business and lead to the loss of a large amount of money.
    • Mono, as already mentioned, implements an international standard - albeit from a recognized monopolist. If this is a problem, then why do people use C, the standard from another monopolist - AT&T? Mono, as also mentioned, is more perfect and is a free replacement for proprietary offers. If this is a problem, why do people use GNU (which, by adding improvements, has become a free replacement for proprietary UNIX)?
    • Regardless of whether there are any patents, Mono is “covered” by ECMA 334 and 335 standards, if all the same such patents are valid (this is often hidden), the fact that the statements are made publicly supporting the idea of ​​licensing without royalties as such, reduces the financial impact of such a violation to zero. If a corporation has a “non-discriminatory” license to use patents and does not pay for them, then any changes will become discrimination (gap in signed terms for a licensed patent), otherwise these patents will lose any financial value. Although, they can still carry intangible value (for example, in protection against claims related to these patents), i.e. not making them “free for all” in any sense.
    • Mono will not become inoperative due to incompatible changes in Microsoft.NET for two reasons. Firstly, due to such changes, the work of every existing .NET-based program would be disrupted (in fact, if this happens, the best option for users would be to run applications using Mono). Secondly, Microsoft.NET support is a secondary goal of the Mono project. If Microsoft changes something in the .NET 5.0 code, this will not stop Banshee or GNOME from compiling and running the application on other systems, such as Ubuntu.
    • Lack of “patent protection” is not equal to “patent infringement”. If I ask someone to pay for my promise not to pursue them for the use of my patents, they will accept my offer, but without guarantees that I will ever be able to sell them something good - only that they are ready to buy . If Jim buys protection from any of my patents, this does not mean that he encroaches on something specific - just as if Ted does the same, it does not mean that he does not violate anything else. If flood insurance is included in your home insurance, this does not mean that your home will be flooded, and unpaid insurance will not mean the opposite.
    • Patents covering the implementation of specific project details cannot ruin it - Freetype is an example. Apple has created several patent issues for Freetype developers by “closing” TrueType font hints. Please note that Freetype exists to this day - this is due to the fact that the METHOD that Apple laid down was able to bypass and use automatically generated hints instead of closed ones. Threats to Apple dissipated and the project was developed. Bad companies have suggested that the Linux kernel contains a number of patent infringements - if specific details are disclosed, then such infringements can be circumvented. Patent infringements in the Linux kernel will not cause the closure of all GNU / Linux distributions in one night. And it would be dishonest to say that any other Free Software is any different in this regard. Even if serious violations are found in Free Software, there will be nothing difficult to fix this - modifying the main application and, possibly, the way to work with it is quite easy. Only closed programs cannot be fixed in the event of radical changes, therefore proprietary programs are taken care of last.
    • Mono also has many “escape routes,” especially in Debian / Ubuntu. First of all, dubious Microsoft non-ISO libraries, like System.Windows.Forms, are not included in Mono by default, and are rarely used in free programs (since WinForms looks like an ass, by the way). if the reason is to remove these libraries, then the BAC, and they go away without prejudice to free software. Secondly, if more serious changes are required, then Mono packages can be patched to eliminate violations. If more serious changes are needed, then, as mentioned above, programs can also be patched to support any platform changes. And if we consider an even more dramatic situation, then the programs can be ported to other platforms. This is a complex and time-consuming process,


    Why should Mono be enabled in Ubuntu by default?

    We do not want Mono to be installed by default in all distributions. Mono is a software platform, which means it should not be installed on all users. Ubuntu does not come by default with Java, Scheme, Assemby, LISP, and various frameworks, simply because they are not interesting to most users.
    We want good programs by default. After downloading Ubuntu, Kubuntu, Xubuntu, or another distribution, the user should say, “Wow, Free software is so good that I no longer need Windows.” All open source distributions seeking to gain fans should choose the best apps. In the case of Ubuntu, the Desktop Team decided to include in the distribution the best note-taking application and the best photo manager.

    The Desktop Team decided that Tomboy was the best note-taking application. The Tomboy application is much more functional than the Sticky Notes applets from both GNOME and Windows Vista. Tomboy can also be considered as a free replacement for the proprietary Microsoft OneNote worth? 80. The only similar application is Zim's “Desktop Wiki”.

    Zim is a high-quality product, but the Desktop Team decided to use Tomboy, since this application is more convenient for many users (and now Tomboy is used as a standard application in this class)
    The Desktop Team also decided that the best photo manager is F-Spot. The F-Spot app can be compared in features to the proprietary iPhoto apps from Apple and Picasa from Google Inc. F-Spot cannot be compared with file manager applications like gThumb, since one of the key features is the ability to attach important metadata to the photo, but gThumb works for each directory separately, and not for all photos at once, like F-Spot.

    Both Tomboy and F-Spot require Mono JITter to run, as well as a set of libraries such as GTK #. Thus, in order to offer these best free programs for new users (these programs were selected by the Ubuntu Desktop Team), some free software is needed to run other applications, such as GNOME System Monitor, which requires GTKmm to work. Until Tomboy and F-Spot are the best in their class, they will be included in the Ubuntu distribution, which means that the libraries and applications necessary for their work will be included with them. If there are better programs, they will be included in the standard Ubuntu package, if a Mono-based application will be better than other applications, then Mono will be included in the distribution. This opinion is not based on preference for this framework, although I think

    Linux Today Post

    From your first post, it’s clear that you are not impartial. Here are a few specific phrases whose purpose is to scold and show your already definite opinion on the topics you have chosen. All phrases are based on pure prejudice, which forces those who understand something about Mono not to get into trouble. Therefore, it seems to everyone that most are opponents of Mono.

    “There are many better applications that can be included in the distribution” - Please name such applications.

    “Pushing Microsoft technology” - Help! Help! We are oppressed! No, let's be serious. Good technology is good technology, not the invention of a bicycle that has never helped anyone. Among the participants of the Desktop Team there are no professionals in Mono (most of them are Python fans) and there were no one-sided solutions related to the inclusion of programs in the distribution, there is not and will not be. Nobody pushes anything! None of the Mono-related packages have been flagged as “Important” (Essential: yes).

    “The inclusion of these programs defiles Ubuntu” - Demagoguery. Microsoft is an ordinary corporation, not something supernatural. Accusing Microsoft of dishonesty and pushing products does them too much honor. They are a corporation with a huge number of stupid managers and with rare gaps in the form of competent developers. And nothing else.

    "Mono fans make too much noise on Ubuntu forums" - In fact, Mono opponents are to blame. If you talk about censorship charges, then you are mistaken. Those who read the details of these allegations can see rudeness, threats, disputes, etc. in the messages, and at the root of all this were opponents of Mono. Neither childishness nor friends among the moderators helped win the dispute.

    “Could you say why Mono was removed from the Ubuntu installation distribution?” - I bring to your attention a quote from Thomas Jefferson - “Taunting is his only weapon against obscure judgments. Thoughts must be distinct before the mind can do anything with them. ” There is no reason to remove Mono from the Ubuntu distribution - there are no other packages in Ubuntu that could be the best replacement, but the community requires Mono to be removed. This, in other words, “software terrorism” is a requirement to change policies and assert that the Desktop Team are not free to choose based on their own policies. Many people may object to this issue, but until they have an adequate replacement for the “Mono applications”, their choice is simple - make Linux worse and worse, moving to a basic set of applications or still come to terms with the existence of Mono. It is worth noting that such people are a much greater loss than various forum users, for example, Mark Shuttleworth, which has repeatedly stated that it does not share community fears about Mono. I personally would support the transition from Mono applications to others not based on Mono, but much better in their class.

    “Simply including it in a standard repository is not acceptable.” - This is absolutely acceptable, although this is not the only proposal put forward - they range from reclassifying Mono to a non-Free repository, until it is completely removed from Debian and Ubuntu. Free programs should be in the standard repository, regardless of their implementation - but if the implementation of some application is the best, then it should be enabled by default.

    “The inability of Mono fans to answer those simple questions bothers me a bit, the impression is that there are much more important questions.” - If you blame someone, then explain the essence of the charges. If you have specific accusations against people who do not oppose Mono, then write them or don't spread myths.

    Movement Against Mono

    There are people who are “for” some things. They are for freedom, or for technical superiority, or for a sports team, or for something else. There are people who are “against”. They are against some politicians, or people of a certain nationality, or something else. Some people define themselves as supporters of something, and others as opponents. Mono causes enormous anger among the second group; in particular, people who use GNU / Linux not because they are for something, but because they are against Microsoft. This can be clearly seen in the use of the words “Microshaft” or “Micro $ oft” or in other children's attempts to define “them” and “us” in order to ridicule “them”. For them, everything is symbolic: if Mono is free software, then they are in favor, but if it is received free of charge from the hands of the Great Satan, then this is unforgivable.

    Many of those who advertised themselves as opponents of Mono, frankly, look creepy, because wish Microsoft employees die (see comments on Boycott Novell), or try to hurt people who have positively commented on Mono (see recent comments on the Ubuntu mailing lists), or hint at those who disagree with them (in almost every news story Boycott Novell) - This disgusting behavior is the worst Free Software ad. If people want to be “against” Mono, then there is a reasonable way for this - for example, work to support alternative software packages. If the anti-Mono movement wants to be taken seriously, then they must understand that in order to fight they need to know well how Mono works and why, in order to properly direct their energy (and the screams “ZOMG! MICRO $ HAFT!” Have the wrong direction )

    Most opponents of Mono are not even creators of assemblies, and not just software developers. They say that programmers (who really spend time developing open source software) should use the platforms that they like, and not the developers themselves. This is another reason why the arguments of the opponents of Mono do not receive proper attention - the assumption that someone may decide for developers is very annoying. Open source software is based on meritocracy - the more capable receive more respect. Until opponents of Mono contribute to the STR, they will look odd and their questions will remain unanswered.

    In the end, there is nothing to make the controversy surrounding Mono disappear, as long as the vague threats of legal attack are spread and fueled by some members of the community. Virtually nothing can reassure those who have already made up their own minds without any concern about real grounds or facts. I consider the arguments against Mono based on reality or facts to be good, and I welcome them, but I have rarely encountered them. And even if they are given, then drowning in such a thick sauce of demagoguery, fear, uncertainty and doubt that really important information is simply invisible.

    So, I find this article what you were looking for. You can reprint it or not. She was created as a new chapter in my daily personal attacks on me by the very sophisticated opponents of Mono.


    Translated using translated.by and OLO users: ha7y (1488), nsinreal (1043), Sugaroverdose (472), fog (55), r0z1k (21), LMaster (3).
    Also involved: ABCD (183), ventalf (154). Idea: fog

    Also popular now: