Mono, here we go again

Mono, here we go again

Ok, Jo Shield decided to reply to the Linux Today invite. Other than some plausible technical points, some unuseful considerations on LinuxToday ad revenue (?!) and some even lower level whining, he brought up some interesting points about the licensing issues.

I’m commenting only those, because I don’t really think any technical point is that relevant.

Mononono logo

Mono is not the result of any deals between Novell and Microsoft. Mono was started 4 years before that unfortunate deal took place. Mono gets no special treatment under that deal. It is not mentioned in the deal (as with other apps). This is important to note.

Novell and Microsoft doesn’t seem to think alike. “Under the patent agreement, customers will receive coverage for Mono, Samba, and OpenOffice as well as .NET and Windows Server.” It may receive no special treatment, but it’s fully contemplated.

Mono is covered by the OIN, as with most other major Free apps. Patent attacks against Mono carry the same risk to attackers as attacks against any other OIN entrant. Attacks against Mono would risk patent “world war”, which Microsoft cannot win. Such an action would harm their business – and lose them money.

We’ve seen how much OIN counted in the TomTom dispute.

Mono implements an international standard – albeit one from a convicted monopolist. If this is a problem, why do people use C, the standard from convicted monopolist AT&T? Mono implements an improved, Free replacement for a proprietary offering. If this is a problem, why do people use GNU (which provided an improved, Free replacement for proprietary UNIX)?

Because it doesn’t pose patent concerns ? That applies to almost any other patented software for whose a royalty free perpetual non-exclusive agreement is provided.

A non-perpetual, exclusive and discriminatory sometimes raises doubts. You know. :-)

Regardless of whether or not any specific patent licenses over ECMA 334 and 335 cover Mono’s implementation of those standards, if indeed such agreements are available (ITWire’s curlish “attempt” to secure such an arrangement aside), the fact that statements have been made in public supporting the idea of royalty-free licensing essentially reduces the financial impact of such infringement to zero. If Foocorp has a license to use patents, under a “non-discriminatory” license, and did not pay for them – then it would be discriminatory to change anyone  else for them (breaking the signed terms regarding patent licensing), and as such, those patents lose any financial value. They may, however, still hold non-financial value (such as their use in defending against patent-related attacks), hence not making the patents “free for all” in any understood sense.

Still all the world uses FAT 32 and just one got sued. It will be pretty interesting to see if and when the Linux kernel will strip it. My guess is people are waiting for OIN to proof the patent invalid. TomTom, though, didn’t had so much time.

It’s not about money, it’s about control.

Mono cannot be “disabled” via an incompatible change to Microsoft.NET, for two reasons. Firstly, such a change would also break every single existing app for Microsoft.NET (in fact, if it were to happen, then the best option for those users would be to run their apps with Mono instead). Secondly, support for Microsoft.NET is a secondary goal for Mono – if Microsoft change something in .NET 5.0, then so what? It doesn’t prevent Banshee or GNOME Do from compiling and running fine on non-legacy systems like Ubuntu.

True. It would be crazy for Microsoft to change their specifications.

Absence of “patent protection” is not the same thing as “patent violation”. If I offer to sell somebody a promise not to sue them using any of my patents, their taking me up on my offer is no guarantee that I even have anything valid to sell them – merely that they are willing to buy it. If Jim buys protection from any patents I hold, it does not mean that Jim is infringing on anything specific – nor that if Ted does the same thing, that Ted is violating anything either. If a house insurance policy includes flood protection, it does not mean that your house will be flooded – and not buying flood protection does not mean that you will be flooded either.

Sure. But if something is found to be a real infringment, then you can’t either say you didn’t know. The agreement doesn’t name Mono, but that’s cited in the infamous joint letter cited above.

The message is clear: you ship Mono, you need a patent covenant. The only good way found yet is to be a Novell customer. Then you go to Novell and ask for it and they say “Look, we agreed to disagree with Microsoft about our work to be infringing Microsoft patents – how many coupons, btw ?”

Is this a joke ?

Patents covering a specific implementation detail of a project cannot kill it dead – the example here is Freetype. Apple made some patent threats against the Freetype developers, for using their proprietary hinting data stored in TrueType fonts. You’ll notice that Freetype still exists today – this is because the specific METHOD that apple laid claim to was worked around, and auto-generated hinting data used instead. Apple’s threat was diffused, and the project went on. Suggestions have been made by FUD vendors that the Linux kernel contains a number of patent infringements – if specific details are ever provided, then those specific infringements can be worked around. A patent infringed in the Linux kernel would not cause all GNU/Linux distributions to be shut down overnight – and it’s disingenuous to suggest that any other Free Software is any different on that front. Even if a fundamental patent is infringed in Free Software, it’s no big deal – as a core change can be made, and applications etc which expect the “old” way can be modified to work with the “new” way, easily. Only proprietary applications cannot be fixed in the event of radical change – and proprietary apps are a secondary concern.

I see no reason to foster a development environment which is probably infringing. You can port all the apps if they’re a handful as they are now, if they turn to be more that’s gonna be painful.

Oh wait, someone already ported Tomboy. And someone didn’t liked it, crying out for copyright infringement (highly subjective matter it seems, already fixed), license change (WTH?) and the Mackenzie bug (one (1!) bug) being marked as invalid (turned out the dev used a well known library and expected it to be the most correct behaviour).

Back in topic: even TomTom had a similar way out but it was forced to cross-license with Microsoft in the mean time. That means money and further sacrifices. It’s not about end users being sued at any kind. It’s about a free and competitive eco-system. You don’t care about it, accept someone else does.

It’s not about killing a project. It’s about getting damaged.

Let me show you how a good patent covenant looks like.

The layering of escape routes is extensive in Mono, especially Mono in Debian/Ubuntu. In the first instance, the contentious Microsoft-sourced non-ISO libraries such as System.Windows.Forms are not included by default, and are rarely used in Free applications anyway (because WinForms looks like ass, amongst other things). If a reason is found to remove these non-standardised libraries, then bam, they’re gone – without harming Free apps. Secondly, if a more severe change is required, then the Mono packages can be patched to remove the infringement. If more drastic changes are required, as mentioned above, then the applications can also be patched to support any core changes. And, taking it one step further, if the whole of Mono needs to be pulled, then applications can be ported. The porting process would potentially be slow and painful, and cause great harm to an application’s future rate of development (although no worse than if the app was written in the target language from day one), but nobody who has written an app they care about would simply throw their hands in the air and say “never mind, it was fun, but the Man says I have to stop now”.

They may look like ass, but hey, they looks so good in the Ubuntu main repository (which also mean they’re by default on the CD, or not?).

Leftovers

I’ve chosen not to reply the technical points, because I’m not really concerned with Mono being crap or not technically. I just don’t care. If it’s good, I’m happy it is.

As a final post:

In the end, there is NOTHING which will cause the Mono controversy to disappear – as long as vague threats of legal attacks are manufactured and fuelled by certain members of the community. Much like a presidential birth certificate, there is simply nothing which will placate those who have already made up their own minds without any concerns about basis in reality or fact. Anti-Mono arguments based in reality or fact are fine, and I welcome them – but I’ve very rarely seen them. And even when they are offered, they are offered drowning in a sauce of demagogy and FUD so thick as to obscure the salient point.

You don’t really welcome any argument at all.

Thanks for your kind reference to the scaring calls for death of Microsoft employees (especially for pointing out this bloody serious call for them to be thrown into an active volcano). I just wish you had more time to point out more, and substantiate your claims. You know, that thing that help people to understand you’re serious. Not that pointing out random people comment posting on a uncensored site help any way, of course.

You perfectly know that the community is full of people talking harshly, and that can be said of Mono proposers as well (ops, it’s you). Or not ? What about the Gnote PPA thread in the ubuntu forums ?

If you were trying to be taken seriously by summing up all the mono-haters as the worst kind of individuals, well, you could have tried to be better than that yourself, at least in writing your last post. Or at least pretend to be funny.

Also, sharing pearls for wisdom such as “Double click is patented”, “They’re just doing FUD” does not really help people think you’re serious. DOSsing BoycottNovell also doesn’t help (nor to claim they did it to themselves), nor helps claiming that Fedora included Gnote just for space saving (weird how what make Fedora lose space apparently makes Ubuntu save it, uh ?): I’ve got a nice news for you:

“We do have some serious concerns about Mono and we’ll continue to look at it with our legal counsel to see what if any steps are needed on our part,” Frields said.

“We haven’t come to a legal conclusion that is pat enough for us to make the decision to take mono out,” Frields said. “Right now we’re in a status quo. Gnote is a relatively recent development and unfortunately was too late in the Fedora 11 development cycle to include by default.”

That conclusion was probably drew after some consulting with RedHat’s “oh-so-sophisticated anti-Mono lawyers”.

It’s not that Mono is that bad. Let’s move it to Medibuntu and everyone is fine. :)

Update: if you aren’t still fed up with the topic, you may want to read the comments in the LinuxToday entry. You’ll find random flaming but also nice points.

This seems like a great time to subscribe my RSS !

15 responses to “Mono, here we go again”

  1. what a good patent covenant looks like « Robert Millan’s Weblog

    [...] a good patent covenant looks like By robertmh My friend Stefano Forenza just wrote a blog post in which he gives (among a whole lot other things) an excellent example on what a good patent [...]

  2. gus

    /me points to gnewsense

  3. Jonas

    Okay, I only have one comment (or question really) and it is concerned with

    “Under the patent agreement, customers will receive coverage for Mono, Samba, and OpenOffice as well as .NET and Windows Server.”

    Now, maybe I’m thick but if Samba and OpenOffice are potentially dangerous from a patent point of view, why isn’t there as much of an outrage of them being included in major distros as there is when it comes to Mono?

    Sure, Gnome or KDE wouldn’t be affected if Samba and/or OpenOffice would be found to be infringing on patents owned by Microsoft, but the viability of Linux as a desktop OS as a whole would most definitely be. Maybe it’s just me, but Samba and OpenOffice are _vital_ if Linux + other F/OSS software is to be considered a contender for a desktop OS in my world.

    So, can someone please enlighten my why Mono, as a potential patent infringer, is often considered “the evil” when other potential patent infringers are not? I have to be honest, it sounds like a double-standard – but I’d love to be proven wrong on that.

  4. Stefano Forenza

    @gus: thanks, but .. does gnewsense doesn’t ship mono by default ?

  5. Stefano Forenza

    @Jonas: there’s sure a lot of drama about Mono, around.

    (what follows is just me trying to recall. everything may be incorrect, take with a grain of salt)

    What makes it especially contested is that – differently from the other two – Mono is a development platform. Thus the perceived risk is to develop an increased dependency from it, via the applications based on its run-time.

    Not that there couldn’t be problems with the other two (and hey, we still have fat32 in the kernel, and the patent is still considered valid..)

    Samba itself has a travailed history. And Microsoft had to be actually somewhat forced (by the EU?) to give specifications to the Samba team under ‘reasonable terms’. Such terms included the request for the Samba team to sign a Non-Disclosure-Agreement (yes…) and pay a money sum (around 10-20.000 €, if I recall correctly, and I may not).

    OpenOffice is another whole history. Obviously patents may be claimed on anything (figure out Microsoft actually filed and obtained a patent for “Document using XML for interoperability purposes” in Australia…..). Still, my gut feeling, is that the OO presence is really about is the go-oo fork, which – surprise, improves OOXML support.
    That’s just my guess, though.

  6. Hoyce Hacie

    Jonas, the Samba thing is a red herring that mono cheerleaders like to mention.
    Bruce Perens, Glyn Moody, Jeremy Allison (the Samba guy) and the SFLC among others have explained very well why Samba is not at all like mono, I suggest you look them up.

    I talked to my old faculty adviser and we talked about FLOSS and the new generation of students. While there was only a handful tha were aware per new class of free software about a dozen years ago among his new students, this year everyone knew coming into their first class what it was and almost 40% had actually participated or created an open souce project and app. They are also very well versed in the GPL.
    The reason I mention this is that we have doing really well these past dozen years and the past 2-3 have seen the Linux desktop finally become usable and phenomenal and why do we need so much to bring Windows developers to switch?
    Are we having a shortening of people interested in open source?
    I travel to Brazil and Venezuela and it seems that the crowds are getting younger and youger at the conferences.
    Why is is so important that we use infrastructures and standards and even mentalities as if the acceptance from Windows developers would somehow legitimize us more.
    I have no problem working with people who develop for Windows, we all did at some point if youre are over a certain age. I work with IBM employees who were the evil empire company when my father was working in technology. Its not a hatred of technology and of people but rather the puzzlement why we would want mono as part of the infrastructure of any free software.
    The technological reasons are opinions and I can find you java, perl, python and C programmers who would counter it with their own arguments.
    Mono brings nothing new and worthwhile to the cause and ‘getting Windows developers’ aboard should be the last reason to do this.
    No problem if you want to join but I dont see the reason why.

  7. Parry

    Well, mono, wine…. blah. Whatever the dispute. I see no point trying to replicate a technology years after it’s been released. Its always the same. Linux developers are always trying to match up with Microsoft’s products just because Microsoft has done it before them. If they use a little innovation they can actually come up with better stuff. But here lies the problem, which most FS fans would disagree with: “There’s no free lunch”. It’s true. Don’t ask about facts, figures or anything else. ask the layman. Linux can never catch up in the desktop and the developer market with cutting edge technologies unleashed by Microsoft, which pays its developers to do it. No communist country has managed to sustain itself without using undue force on its people (which basically makes it an absolutist regime)…. so why (not how) would Linux be able to stay afloat in this torrent of computer technologies? By the time Mono does something that matches up with an old .NET version, Microsoft is ahead with something new. It’s not just Mono. Take distributions: Ubuntu developers try so hard to develop technologies that ape Mac and Windows. Look at the new Ubuntu notifications, the whole Compiz thingy (yeah, I know it’s not done by Ubuntu developers, so it should really be FS developers) and a lot of other stuff. In matters where software is bad in quality, Linux developers don’t do a thing about it and say “You don’t need it”, until the day when the ubuntu.brainstorm server is flooded with people begging for that improvement. Why the two facedness? Maybe this comment deviated from the topic here (Mono), but yeah, I feel it’s a suitable place to rant out. I have nothing against Linux or its developers. I just don’t like the attitude of some of its admirers who claim it to be “The only way” or those who sacrifice software quality just for the sake of NOT being Microsoft. So yeah, I ask the author here, is that the deep down reason for the mono itch?

  8. Ken

    @Parry
    Can you name a technology that MS “created” that wasn’t first started somewhere else first and either extended, rebranded, or outright stolen?

    You might want to start with David Wheeler’s notes on that:
    http://www.dwheeler.com/innovation/microsoft.html

    There’s also a number of other sites you may want to check with that I don’t have links to at the moment.

  9. Ken Jennings

    I like the article, but this one point I don’t fully understand.

    >>Mono cannot be “disabled” via an incompatible change to Microsoft.NET, for two reasons. Firstly, such a change would also break every single existing app for Microsoft.NET (in fact, if it were to happen, then the best option for those users would be to run their apps with Mono instead). Secondly, support for Microsoft.NET is a secondary goal for Mono – if Microsoft change something in .NET 5.0, then so what? It doesn’t prevent Banshee or GNOME Do from compiling and running fine on non-legacy systems like Ubuntu.

    >True. It would be crazy for Microsoft to change their specifications.

    It sounds like you’re being humorous, yes? (Please say yes). For all practical purposes let’s call .Net an API for coding for Windows. Outside of all of the viruses, quarterly reinstalls of WIndows, and other hassles of using Windows, one of the reasons I stopped developing on Windows (or for Windows) is that Microsoft is continually changing the API, languages, libraries, etc. requiring I buy more upgrades, tools, and books. Who writes MFC anymore? Does anyone remember what came before that? The continuous churn to catch up to the next new fad at Microsoft is just too expensive and time consuming for developers.

  10. Parry

    @Ken (Not Ken Jennings, if you are not the same). I read the article you linked to. Agreed, Microsoft didn’t “invent” the technologies it sells big time, but I’d still use the word “create”. I beleive the reason Microsoft is so successful is because they are user centric. All the technologies mentioned in the link you posted existed well before, until one smart guy finally sat down at thought about how to make the best use of them and make sell them to the layman so that he can use it comfortable. Ask any layman who has no clue about computer science about why his experience with Linux was sour and he’ll say this: “It’s too difficult”…. That’s it. Yes, technologies exist, but they’re useless unless they’re used, and that too used by people who don’t need to understand them in depth. A Linux user still has to compile many applications from source…. admit it, it does require technical know how to install and use Linux on a desktop. Microsoft perfected that technique. It bunched up a lot of components, streamlined them and created .NET. It made an operating system and marketed it not by saying that it “conforms to blah blah benchmarks when certain calculations are performed” or by saying that “The kernel is secure”. They explained the layman how they can use a computer for their day to day lives. Even now, the general message to the public is something that they can all understand. Only Microsoft has the brains of being a geek and at the same time not showing it off by spilling unnecessary technobabble at the end user. Apple and Macintosh are in the same area as Microsoft, but I think they’re fools to sell their OS bundled with their machine at really high prices. Everything has a price. Set it right and people will like your product. Neither too high, nor too low. So that’s what I mean by the technologies Microsoft has “created”, as in observed, adapted and marketed properly. I’m not bashing OSS or Linux. All I say is market your product right *keeping the quality base intact* and people will migrate to your product.

  11. Michael

    “Well, mono, wine…. blah. Whatever the dispute. I see no point trying to replicate a technology years after it’s been released. Its always the same. Linux developers are always trying to match up with Microsoft’s products just because Microsoft has done it before them. If they use a little innovation they can actually come up with better stuff.”

    The reason for wine, samba, FAT support, and its ilk are to enable interoperability, not because FLOSS can’t do better. If it weren’t for interacting with people on Windows computers, then we could probably throw FAT and samba out the window and be fine. There are plenty of better open solutions for network sharing and disk filesystems.

    Wine is useful for running some of the programs that were developed for Windows and for which no Linux port is available. Heck, I run a Windows based text editor in wine daily because I haven’t found any other one that I like (and have been using a version of it since probably 1990). But I’m certainly not going to run Windows because of a single program. And it doesn’t mean there aren’t capable text editors under Linux; I just happen to like this specific one. (sorry… gotta plug it… http://www.boxersoftware.com)

    But Mono is different because it is a programming language and associated libraries. If it has patent/IP problems then it doesn’t just affect itself, it affects every single application written in it. AFAIK, samba and wine aren’t installed by default in any of the main distros. You install them if you need compatibility with MS products. Mono should be the same. I don’t want to risk default apps in a distribution that are dependent on technologies that MS can shake up and cast doubt on. Not only would you have to replace any technology that was later threatened by patents/IP, but you’d have to replace mindshare as well. And it is mindshare that keep people on Windows moreso than technological reasons (i.e. “it doesn’t work like I’m used to.”)

    MS isn’t just another company. It is actively hostile towards Linux and FLOSS. MS wants a world where you can’t run a computer without using some of their software, and that goes directly against my own personal goals. It has shown its true colors time and time again over the past decades, and I for one want as little to do with the company as possible.

    I uninstalled Mono the other day after reading both sides of the discussion that have surfaced over the past week, and installed Mononono to prevent it from being installed back on my systems. I have no desire to further its cause directly or indirectly. There are plenty of other good development tools out there that don’t carry the risks that Mono does.

  12. Stefano Forenza

    Thanks all for your comments.

    @Parry: how deep is the mono itch ? That’s doubtful, but many people feel that is deep enough to be scratched. Even RedHat is doubtful about it, and that’s a pragmatic stance, based on consulting their lawyers. They’re in business, they can’t afford to make choices based on FUD or ideologic stances.

    You’re wrong on two things though: Mono doesn’t have to be behind. In fact, it’s likely (and guess it already did) to implement some C# standards before .Net itself. The real problem is that any change of mind (imagine they decide to not follow their own planned standards) in .Net is likely to backslash Mono a bit. Not much, though, since the ‘cross platform’ thing, is more about chatting than reality (how much did it take for Banshee/Tomboy to become cross-platform?)

    You’re also wrong in saying that MS had success because they’re user-centric. Nope. They’re business centric. Don’t ask me for references here, I have no time to find them right now, but they made their way with trials and business agreements (not to say they corrupted journalists, we can’t have any proof of that, but keep in mind that tech journals were much more powerful when the web didn’t existed yet)

    @Ken Jennings: I have no real experience of programming under windows, but I feel confident in saying that changing specifications fast is not something Microsoft would ever do. If you say they did I can believe you, but still I feel somewhat diffident. Retro compatibility has always been a war-horse for microsoft, and at the same time one of the reasons their software sometimes suck.

  13. Parry

    @Stefano: Agreed with you about the Mono argument. So basically, you’re saying that its akin to a gamble. However, on the second argument, I say that any company wishing to sell their products in a market has to be business-centric…. however, to dominate in that market, that company has to be by consequence, user-centric. You can’t be business centric if you’re not user-centric.

  14. Sid

    Really fail to understand people who cant see the risk posed by MONO. This is what I see. First there would be a few apps, the list will keep growing until it kills off most of the competition and becomes the default installs in most distros. What these guys are aiming for is to build a complete ecosystem….maybe with a good number of apps they might even get GNOME rewritten in MONO. What then? A complete ecosystem and users used to this ecosystem. Whats the problem? Its the same problem GNU/Linux is facing trying to convert users from MS Windows & Mac OSX. Once people are used to an ecosystem its very very difficult to get them to use anything else. Really wish the community and leaders see this and act before its too late.

  15. LinuxCanuck

    I don’t hate Mono or Mono applications. I DO hate Mono inclusion in a distribution because it forces Mono on me and makes me responsible for removing it. It should be voluntary as with Ubuntu’s restricted extras.

    My concern is for what this is doing to the community before litigation begins. It is fragmenting us and causing much infighting. Microosft has to be loving it.

    My secondary concern is that we got along fine before Mono and are becoming increasingly dependent on something that is suspect in terms of its legality. If it is withdrawn suddenly then we have a void to fill and developers and projects will be scrambled, causing further disruption.

    Next it may impact Canonical and any other corporation behind a distribution that uses Mono corporation and corporations can be sued, so Ubuntu’s status becomes an issue.

    Finally I am concerned that we are concerned about doing somnething just because it is easier, instead of doing something that is right. Mono is easier. There is no doubt about it. It provides a ready base of developers and adds more resources. However, we that has never been our motive before. Our motive has always been focused on what is good for open source and we have often taken the long road of developing our own tools and resources, thanks to GNU. Mono is changing us and it isn’t for the better, I fear.

Leave a Reply

Bills

Don’t forget to Subscribe

Latest Activity

Posts

  • Google Plus keeps your data as much as Facebook does
    When you delete an account from Google+, Google promises you to delete all the data associated with your G+ profile. Well, I deleted mine some time Read More
  • Rapache returns ?
    Not without a certain pleasure I announce that I got Rapache fixed and working again. Rapache is a graphical user tool to help you configure Apache2. Read More
  • Linux on Javascript
    It may very well be an old news already, but it’s so amazing I just have to share it. Fabrice Bellard wrote a more or less Read More
  • Steve Jobs passes away
    Steve Jobs passed away some hour ago. Love or hate Apple products, you still have to admit he had a big impact on the world. He Read More
  • Wikipedia Italia closes up.
    Just a quick notice to let you lovely foreigners know that the italian version of Wikipedia just closed everything down in sign of protest against Read More