Mono: A modest proposal

Off the Beat: Bruce Byfield's Blog

Sep 23, 2009 GMT
Bruce Byfield

OK, I'm conflicted.

According to one report, last Saturday at the Software Freedom Day event in Boston, Richard Stallman called Miguel de Icaza “a traitor to the Free Software community" because of de Icaza's involvement with Microsoft-based technologies like Mono and Moonlight. On the one hand, I can easily imagine the frustrations that led to this description. But, on the other hand, before members of the free software movement applauds the description, I hope they will look for another reaction that would do more to advance its goals.

Before saying anything more, I should probably explain that I consider myself a supporter of the free software movement. I am not an uncritical one, which has caused some people in the past to accuse me of insulting Stallman or the movement.

But I donate to the Free Software Foundation (FSF), and my ideology is close enough to that organization's that Peter Brown, its executive director, recommended me to write an article on free software for The New Internationalist a few years ago. The FSF has since quoted that article at its general meeting and in its campaigns against Windows. Unlike Jason Perlow, who seems to find the thought of ideology determining what software you use bizarre, I wouldn't spend my professional life discussing free software if the only considerations were technical ones.

Feeling this way, I have used Mono and Moonlight only for review purposes and very temporarily, removing them the moment that I no longer need them. Both have yet to become free software. Besides, the applications dependent upon Mono are not very compelling to me, especially since GNOME is no longer my main desktop. No doubt I could be more hard-line, but for most purposes I agree with Richard Stallman's comments about C#/ Mono.

At the same time, I reserve my right to criticize as I think necessary, and not to support or follow anyone blindly. And I have to say that I cringe at the report that Stallman has called de Icaza a traitor, and the glee with which it has been greeted in many quarters.

Yes, I understand that Stallman and de Icaza have what might politely be called a history. I am aware, too, that de Icaza is not always temperate in the language he uses about Stallman, either. Moreover, I have seen just enough to understand that, living with these issues day in and day out, as both these men do, that impatience, even anger, can easily become your first response as you hear the same issues raised over and over. But none of this background changes the fact that such an accusation is counter-productive.

Nor is it likely to be true. I have talked to de Icaza a few times on the phone, and, while I obviously could not observe his body language, de Icaza's words and tone give the impression that, far from being a traitor, de Icaza is simply a developer exploring his interests.

True, he is more ambitious than the average developer, and his explorations have taken him into questionable areas from a free software perspective. But essentially, he comes across as a hacker among hackers, careless about legal issues and easily carried away by his enthusiasms. Maybe I am reluctant to think poorly of someone who comes across as likable and who complimented my work, but the strongest condemnation I might muster about de Icaza is "misguided."

Yet, even if Stallman's choice of words could be justified, endorsing it still seems unadvisable. To many, Stallman is the embodiment of free software, so using such language gives detractors of the movement too easy a target. It allows them to lump him in with those for whom hatred of Microsoft is a reflex and a way of life, and -- ultimately -- allows them to dismiss the free software philosophy. Although moderation is not always the best choice, in these circumstances, I think that more restrained language would stand a better chance of being heard.

In fact, as I see anti-Stallman and anti-de Icaza camps lining up on either side of this bit of gossip to condemn or praise the wording, I can't help thinking that a change in tactics in free software's approach to Mono is overdue.

The rhetoric of condemnation may be justified, but it is also becoming increasingly stale as it is hammered home over and over again. So far, its main effect has been to goad GNOME developers who were previously neutral on the subject of Mono to express support for those who choose to use it.

Instead, what I would like to see is more of the tactics that the free software movement used in the days when Java was proprietary, or the tactics that the FSF uses in its compliance labs when a violation of the GNU General Public License is reported. In such cases, the FSF has tried to work to bring the other parties into compliance with free software while restraining the rhetoric. Often in the past, the first time that anyone else knew what was happening was when the FSF announced success.

Of course, the personal and philosophical conflicts are much greater in the case of Mono than with Java or any license violations. A sizable portion of free software supporters base their identity on opposition to Microsoft, so that working with Microsoft to free Mono would be widely condemned. And, on the other side, no doubt many Mono developers would see no need for such efforts.

Yet Mono seems no more likely to go away than Java did. Given the rise in its use, the most effective approach to it would seem to be ensuring that it was unambiguously free, and detonating the issue once and for all.

I have no idea if the report about what Stallman said is true. Nor do I particularly care, except to the extent that, like most people, I have a child in me that prefers that those I admire always appear far-seeing and wise. And, for all I know, the FSF may be engaged in negotiations with Microsoft with exactly the intent that I suggest.

But regardless of the truth of such matters, if you found yourself praising the report and agreeing with it, you might want to stop and evaluate your reaction. It may be justified (or even true), but is it really helping the free software movement in any way? Or would a change in tactics do more to achieve the movement's goals?

Comments

  • http://www.michaelkorsoutlet-store.net/

    Good ah, having so many rare articles, lucky, though seemingly simple and clear, but colorful contents, looking forward to the author's continue to share oh.
  • newest jordan shoes

    I like this concept. I visited your blog for the first time and just been your fan. Keep posting as I am gonna come to read it everyday
    <a href="http://www.sneakersstop.com ">newest jordan shoes </a>
    <a href="http://www.authenticnikeshoes.com ">authentic nike sneakers</a>
  • great post my friend

    Thanks a lot for sharing the article on cash. That's a awesome article. I enjoyed the article a lot while reading. Thanks for sharing such a wonderful article.I want to say very thank you for this great informations. now i understand about it. Thank you !
    http://www.gucciguccis.com
    http://www.urboots.com
    http://www.handbags2012.com
    http://www.louisvuittonslv.com
    http://www.uggmalls.com
  • r4 ds

    Thanx for the valuable information. This was just the thing I was looking for, I'm a newcomer, and certainly ignorant regarding many aspects FOSS related as well as the FOSS's dilema vs Microsoft. keep posting. Will be visiting back soon.
    (http://www.r4-ds-karte.at/)
  • Reply yo Jose_X

    @Jose_X

    Yes, we are on our way to software patent madness in Europe, but we won't give up without a fight.

    The reason I find it unlikely that Microsoft will ever be able to win a patent lawsuit over the Mono project is that Microsoft have been involved in the development of Mono and Moonlight. It's almost certain that a judge would see that as giving permission to use the patents under the terms of the GPL, which implies the 3 (or 4) liberties.

    If Miguel is a traitor the Free Software then it implies that he was fighting for it at some point. Linus used the GPL because GCC did. No other reason. Most programmers are pragmatic and not ideologists. I like working with Free Software because I can modify it, but I don't mind using or developing closed source software. If that makes me a traitor to Free Software then fine - I don't really care. I am absolutely certain that Miguel has no hidden agenda on behalf of Microsoft - that idea is absurd.

    Try looking at it the other way around. If Mono applications start to replace Windows applications that's a good thing. What is left then is the underlying OS which nobody cares about. It should be easy to make the shift to Linux then? I've seen people go from Windows to Ubuntu and be happily surprised that they could use Firefox on Linux.

    The fact is that you can't kill software patents with any license and that it will always be a threat. The only thing we can do about it is to make the law disappear. Another more short-term approach is collecting patents which can be used to counter-sue like Linux Defenders does.

    I do think time being spend developing .Net software should be spend better. As I said I dislike the .Net concept and I'm indifferent to the Mono project. I think it's absurd that anyone would try to tell the Mono developers that what they are doing for fun is wrong (unless they have some illegal habits). If someone told me that I was a traitor to their cause, because I was developing something perfectly legal I would be laughing my ass off.
  • mono

    [LinuxCanuck] >> I take all of these attacks on Linus and Miguel with a grain of salt. I listen to RMS because I respect him, but I don't always follow him. He is not a leader and is a poor role model. I just wish that RMS had more respect for others. The danger of being very bright is that you lose respect for others and begin to view people who you disagree with as idiots. As a teacher I always taught my students that to get respect you need to show respect. Each time he has one of these outbursts he diminishes in size in the eyes of others. Too bad he just does not get it.

    Are you talking about Linus? I tend to associate the calling of other people idiots or something like that with coders currently coding.

    [LinuxCanuck] >> The fact that RMS can make such a charge and people listen to it illustrates his power and influence. Which is why I fear RMS does these things. He has long felt slighted for not getting the recognition for his work. Charging at windmills and taking potshots at others is a substitute. It is playing politics. Maybe he does not have the recognition, but he has the power and influence.

    I would prefer people not attack individuals, but that happens when you get frustrated.

    The FSF has a much better track record of defending user's freedoms and of motivating lots of free software to be built than does most everyone else.

    [Samuel Fogh] >> I don't know about the patent infringement concerns, that's not something most Europeans are concerned about. I have a hard time seeing Microsoft being able to sue someone for using a project they endorse and help develop under a GNU license. To me that's a fake problem. Of course it's a small problem if Microsoft decides to stop endorsing the project, can we feel safe then?

    The patent situation may improve in the US with SCOTUS ruling.

    Conversely, the patent situation might deteriorate in the EU. Patent supporters are persistent.

    I don't think Microsoft officially endorses patent safety for mono. I have heard of their contract terms keeping FOSS projects in jeopardy. I think employees have been told not to promote mono publicly.

    In the US, it's too easy to patent API (if not explicitly as Microsoft has done, then at least implicitly by patenting to have the coverage scope include everything that uses a described interface).

    And in the US at least, patent claims are generally written to have EXTREMELY WIDE scope. In the US, the nonobvious criteria is a joke. These two things mean that even if you had a promise of safety for a core API (something Microsoft has not done or could not do since it's so easy for them to build, sell to, etc, their patents via proxy), you can easily find that all interesting things you might want to do with the core "invention" will have been patented (esp. true if the "inventor" has a focused and ambitious patent plan).

    I agree with most of your perspective except (a) as noted above with the patent threats and (b) that I do think that strategically helping, specifically, Microsoft by making it easy for them to acquire FOSS, spreading investments in APIs on which they have huge investments and with which they have many advantages (for proprietary extensions available first or only on their platforms) does hurt Linux+FOSS advancement and uptake. Additionally, through their partners, Microsoft can gain special licenses (or outright copyright ownership) so as to bypass the GPL for example.

    As for Linux uptake being hurt on the desktop, some will question if this is even a serious problem. I won't go into my opinion, but I do recognize that some might see an attack against Microsoft head on as suggesting a bad ROI unless perhaps if Linux is spectacular in every way (or at least much better than it currently is). My biggest problem is with monopoly controls of markets where I am affected seriously.

    [Samuel Fogh] >> I can't wrap my head around how you can call someone who has given free software so many lines of code a traitor. Mono is even using a GNU license, so where is the treachery?

    I think it has to do with the exploitation of loopholes. The GPL is not a salvation since some technology helps certain companies regardless of the license. This is particularly important when we are talking about a company with low ethics, various monopolies, a serious patent plan of attack against FOSS, etc.

    IIRC, mono has parts using very liberal FOSS licenses, and the parts that use the GPL, I believe use GPL version 2, which has a weaker defense against patents and is particularly weak at stopping dominant proprietary extensions given Microsoft's commitment from Novell as Microsoft's GPL proxy. [Not that the GPLv3 doesn't solve the full problem.]

    I think "traitor" is motivated when someone does something under the guise they are helping you but all along they are aware that they are helping to sow problems (disadvantages to the community that are advantage of Novell and Microsoft). Stallman likely believes this. I'd rather avoid bringing judgments about Miguel's person into the argument and simply attack the approach Miguel is taking.

    Anyway, besides patent problems...

    mono library optimizations will tend to help Microsoft more than any other vendor. [Microsoft has a lead with dotnet, they see everything mono does, yet they keep secret all Microsoft gains.] In other words, contributions to mono technology gives Microsoft's closed source monopolies ammunition against the competition trying to crack these monopolies.

    And I've mentioned above how the spreading of mono apps helps Microsoft in various ways. Essentially, mono apps will help Microsoft keep up with Linux and (through their mastery of dotnet) even help put extra distance between MSware monopolies and Linux.

    Looking at things this way, you can see how "traitor" might have been directed at an undermining of the *goals* of the GPL.

    [Samuel Fogh] >> Stop the arguing. Use Mono if you like it. Don't if you hate it.

    Those arguing want to share a message.

    If what I said in this reply is accurate, then I think you might be underestimating the harm mono poses if much software people rely on and help advance and promote (at the cost of other software) uses the dotnet API.

    [janno] >> At least Java for Linux, even when it was proprietary, was developed by Sun. I was assured that if there was a problem running Java code, Sun would fix it.

    Putting aside the history of Microsoft and Sun as individual companies, Sun was not protecting a monopoly nearly as has been Microsoft. And besides monopoly profits/control, these software monopolies signify almost the entirety of Microsoft's revenues. Contrast with Sun and Java. So (true to character) Microsoft finds more at risk over which they are willing to fight aggressively.

    [janno] >> Now Imagine that your company decides to develop in Mono. You run your and encounter problems. If the Mono project can't fix it soon. You have three choices: 1) wait for the fix from the Mono project; 2) Rewrite the application to run natively only Linux; 3) run on a Windows platform. With the time and effort invest in writing for Mono, option three is the path of least resistance. ...Now, if MS were to adopt Mono and make it a first class project, I would reconsider my view.

    This already happens, and, no, Microsoft adopting mono as a "first class project" doesn't solve anything.

    The problems are at least two.

    One is that Microsoft salespeople (with the help of proxy trolls, FUD, and orgs like the BSA), addressing the user, point out the IP threats and that serious liabilities might ensue if the user doesn't reconsider this new discount being offered of an easypeasy wholesale migration to MSware. [easypeasy migration to Windows when the software is already based on mono]

    The second problem (besides the IP risks) is that Microsoft adds proprietary extensions as an obvious part of doing business as a closed source company. So them "supporting" mono might lower IP threats a little (Microsoft likely has deals with patent trolls to use as proxies, either by letting the proxy define and patent API and what not under terms positive to Microsoft, or by selling Microsoft patents to these proxies).. but we still have a one-way bridge to MSware since open mono will be a weak subset of the Real Thing (TM). You will need the real thing to get the interesting apps sent by others to work.

    [my opinion] >> "...From the formidable elephant to the tiniest ant"... God loves him. M$ too. Good luck.

    Are we talking about the same species? Microsoft is a corporation and not an organism.

    God loves Obama Bin Laden perhaps, but that is besides the point.

    [LinuxCanuck] >> I am not sure that Miguel de Icaza has gone over to the other side as RMS has stated. He is just playing with fire.

    I think Miguel is doing what he things helps his pocket, his employer, the company keeping his employer alive, and a company for which he has always expressed admiration (from what I have heard). However many of the details from prior to the time of mono, through Ximian, up to the present he has planned, if any, with the intent to help Microsoft is something I don't know and really don't think too much about since the actions are clear: they help Microsoft.

    [Peter] >> Mono+Co are probably an acceptable _RISK_ as a way to ease cross-platform porting.

    When mono cannot run msdotnet but msdotnet can run mono trivially (since it is FOSS), then the ports we are talking about are not the ones that help Linux (-> Linux) but the ones that help Windows (-> Windows).

    I think Microsoft *needs* to have function well on Windows all the $0 FOSS apps that might be interesting and which attract developer attention to improve Linux. This way Microsoft leverages all the work of FOSS applied to Linux to also build up Windows so as to keep Linux as offering nothing new.
  • Talent and virtue

    "It would be difficult for a virtuous but incapable person to work, while a talented person without virtues will become useless"
  • Wrt Patent threats

    All it takes is a ton of money, some waiting until Mono gets into core applications and a patent troll to make MONO go boom.

    Do we really intentionally allow Microsoft to place Mono at the core of distributions in important key applications?

    And you're right: it will NOT be Microsoft suing the distributions directly, at most Microsoft will sue hardware sellers like TOMTOM (as Microsoft did). For attacking the distributions, Microsoft will stand on the side lines, and sponsor the troll with money, maybe as simple as licensing the patents themselves needlessly (as Microsoft did with SCO). Or it will work more indirectly (think XML, think the recent sale of Microsoft patents with trolls as Microsoft's dream customers).

    Mono+Co are probably an acceptable _RISK_ as a way to ease crossplattform porting. There's no need nor sanity in using it for anything else, when likely consequences are available for all to look up in Microsoft's track record.

    In the end, I'm slightly unhappy with RMS choice of words as free software's figure head. Which expectation is NOT really fair to Stallman. However, do note that Stallman's approach was successful and proven necessary time and time again. Especially each time I thought it was overly cautious. So factoring in the track records of RMS and MDI, I know whom I'd rather trust.

    And wrt the FSF working with Microsoft: that's not necessary at all - Microsoft is easily capable to signal a change in attitude on its own: it just needs to add say half a dozen years without FUD, attacks and anti-linux-patent lawsuits (and I include OpenOffice and XML in this).
  • The Real Conspiration

    If Microsoft has any plan with this it's probably to keep this argument going, diverting us from what's important. Writing code.

    I can't see all the problems other people can. I think most of them are made up in an argument between fools.

    I don't know about the patent infringement concerns, that's not something most Europeans are concerned about. I have a hard time seeing Microsoft being able to sue someone for using a project they endorse and help develop under a GNU license. To me that's a fake problem. Of course it's a small problem if Microsoft decides to stop endorsing the project, can we feel safe then? I would, but I guess a lot of you could spend years arguing that, while the development of Mono continues.

    The only concern about Mono that I can follow is that it is largely an effort to implement a Microsoft controlled standard on Linux. Developers spending time on Mono could have been more useful solving real problems instead of introducing another standard, one which has no democratic control.

    I don't like the whole .Net concept, I think we're already bloated enough. So naturally I have a distaste for Mono, but that doesn't mean I have a right to tell others that what they are doing is wrong. I don't care about their project that's all, just as I don't care about archaeology projects.

    I can't wrap my head around how you can call someone who has given free software so many lines of code a traitor. Mono is even using a GNU license, so where is the treachery? You created the license, if you want to restrict what software you can put a GNU license on, then write it in the license.

    Stop the arguing. Use Mono if you like it. Don't if you hate it. Any other thing you can think of would contribute more to Free Software than keeping this argument going.
  • RMS is his own worst enemy

    I respect Richard Stallman and his accomplishments. I agree with him on Mono. I don't use it and it is the first thing I remove when I set up Ubuntu. I wish that Ubuntu and other distros would not use it and force users like me to having to remove it. Instead I would prefer that mono was a separate installation like the restricted-extras for those who want it. But back to RMS.

    He is his own worst enemy and has a habit of overstating things. Miguel de Icaza is not a traitor. He would have to be wilfully undermining free software and I don't think that this is the case. He believes that what he is doing is in the best interests of FOSS which means that he is merely misguided. There is a big difference between these two words. RMS choice of traitor is bound to lead to an emotional response from Mono defenders and there are many of those.

    I think that when you dabble with the dark side there is a danger that you could go over. I am not sure that Miguel de Icaza has gone over to the other side as RMS has stated. He is just playing with fire. The problem is that he is dragging us along with him and many users are unwittingly following because they do not know what RMS knows.

    The fact that RMS can make such a charge and people listen to it illustrates his power and influence. Which is why I fear RMS does these things. He has long felt slighted for not getting the recognition for his work. Charging at windmills and taking potshots at others is a substitute. It is playing politics. Maybe he does not have the recognition, but he has the power and influence.

    I take all of these attacks on Linus and Miguel with a grain of salt. I listen to RMS because I respect him, but I don't always follow him. He is not a leader and is a poor role model. I just wish that RMS had more respect for others. The danger of being very bright is that you lose respect for others and begin to view people who you disagree with as idiots. As a teacher I always taught my students that to get respect you need to show respect. Each time he has one of these outbursts he diminishes in size in the eyes of others. Too bad he just does not get it.
  • No one touches on the real threat of Mono

    I never hear people talk about what I consider to be the real threat of Mono. As I see it, Mono is a "clean room" implementation of .NET. I'm not aware that MS has given the Mono project any proprietary code, so I may be wrong. So what happens? Mono is perpetually a one off product from .NET and you have to deal with it being behind MS development. At least Java for Linux, even when it was proprietary, was developed by Sun. I was assured that if there was a problem running Java code, Sun would fix it.

    Now Imagine that your company decides to develop in Mono. You run your and encounter problems. If the Mono project can't fix it soon. You have three choices: 1) wait for the fix from the Mono project; 2) Rewrite the application to run natively only Linux; 3) run on a Windows platform. With the time and effort invest in writing for Mono, option three is the path of least resistance.

    With the continued use of Mono, Microsoft has passively killed Linux (and any other platform that uses Mono). Now, if MS were to adopt Mono and make it a first class project, I would reconsider my view.
  • Not quite Java... Mono is a copy of tech, not a platform-specific release...

    A big difference here is the Mono is created as a copy to the .NET runtime environment, which MS has patents on and some other legal authority of some sort. While MS has said not to sue the users of Mono through Novell and SuSE distributions (due to their patent deal from a few years ago), the rest of the GNU/Linux-using population has no 'promise' from MS about not being a legal target for using this software which infringes upon the MS patents. And MS promises aren't worth a lot to this community anyhow, based on past MS behaviour.

    I would imagine that if software patents were to go away (in the United States), and therefor the legal threats from MS no longer loomed in the background, then a large number of people would no longer have issues with Mono. Some of the MS haters, however, likely still would refuse to use Mono; this is their choice of course.

    The concern with Mono, which wasn't touched on at all in this article, is that it is a copy of an MS technology and therefor anyone who is using it is a possible target for patent infringement. The software itself is certainly Free Software and the coders are likely doing good work. But, a common fear is that they're putting others at risk.
  • Mono: (Miguel de Icaza) A modest proposal

    To Bruce Byfield

    I'm a newcomer, and certainly ignorant regarding many aspects FOSS related as well as the FOSS's dilema vs Microsoft. Nevertheless I could'nt help but feel my brains jumping crazilly for twice while reading your article.

    You characterized Roberto as ...
    "...careless about legal issues and easily carried away by his enthusiasms".
    Considering how much you seem to apreciate him, it is really rude from you to call him a perfect naif in this easy way.

    Later on, you said
    "And, for all I know, the FSF may be engaged in negotiations with Microsoft ...."
    When someone has been writing at a public place and been read by thousands from a long time, I understand it is hard at moments not to express, or to have to express opinions. Worst when it's about fellows or popular people in the industry. Regarding the above mentioned sentence, you pretend to be still more naif than what you judge that Miguel is. It is unbelievable and vary sad, coming from you.

    Miguel is "simply a developer exploring his interest" in your words. I could not agree more. The intere$t of each person is a matter of human's nature. Using Miguel words "...From the formidable elephant to the tiniest ant"... God loves him. M$ too. Good luck.
comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News