On Mono and Samba


Mono apologists love to downplay concerns through poor analogies. One extremely common – and highly flawed – favorite is to compare Mono to Samba.

Almost exactly one year ago, Glyn Moody wrote a nice article “Why Mono and Samba Are Patently Different“, explaining some of the differences between Mono and Samba. Of course, that didn’t stop most of the mindless repetition of the talking point, but it does serve to illustrate a common tactic of Mono apologists:

Come up with a superficial argument and just keep repeating it.

You’ll see this tactic time and time again with the Top 10 list of poor Mono arguments. For this specific example of attempting to equate Mono with Samba we have a special treat, because the founder of the Samba project has recently taken to speaking out on Mono!

We’ll take the parts we need, thanks very much

One of the things I always found offensive and ironic at the same time was Team Mono’s attempts to co-opt the goodwill of the Samba project, when the founder of Samba – Jeremy Allison – had quit Novell specifically because of the “covenant” with Microsoft!

It seems to me to be an especially offensive combination of arrogance and distortion to attempt to not just ignore one man’s principled actions, but also attempt to co-opt his project’s good name in support of a situation he explicitly rejected! I don’t know if that particular aspect bothered Mr. Allison – I don’t know of him mentioning it anywhere – but it sure would bother me.

In any case, I first started noticing Mr. Allison’s responses directly addressing the fallacy of comparing Mono and Samba in the comments to an error-filled attack rant against RMS by Jason Perlow for ZD Net. Although it is certainly “pearls before swine” to attempt to correct Mr. Perlow, Mr. Allison does make his point:

Comparing Mono to Samba is incorrect. Samba has the PFIF agreements, see here for details:

http://www.samba.org/samba/PFIF/PFIF_agreement.html

To my knowledge Mono has nothing like this.

This is a very good point for a number of different reasons:

  1. Shows the comparison between Samba and Mono is superficial at best.
  2. The PFIF was the direct result of the European Commission forcing Microsoft to cooperate. Mono and Microsoft apologists tend to gloss over that fact, and pretend like Microsoft is “cooperating” with Samba as part of Microsoft’s “open source initiative”.
  3. Shows the fundamental philosophical difference between the projects in this area. Namely, Samba insisted on clear and unambiguous protection, while Mono continues to trumpet half-measures that can not withstand legal scrutiny.
  4. Shows that you can instantly realize anyone arguing “Well Mono is just like Samba” can be ignored out-of-hand, because they are either too ignorant or willfully deceitful to be worth engaging.

In that same vein, it’s worthwhile to take a look at a bit of the commentary on that PFIF:

I should also mention that Microsoft made a separate pledge (not as part of this agreement) to not assert any patents directly against non-commercial open source projects. Please be assured that we did not ask for that pledge, and we will not in any way rely upon it. That pledge is an example of the sort of divisive patent covenant which does not cover all users and distributors of free software. For a patent pledge to be useful it must cover all users and distributors of a piece of free software, not just a subset of the community.

Contrast this to Novell and Miguel de Icaza’s attitude where they constantly promote software like Moonlight that is only covered for Novell’s customers.

It’s also interesting to me that a “non-Microsoft friendly” project like Samba has a much better foundation for the community than a “Microsoft friendly” project like Mono / Moonlight. If Microsoft were as “changed for the better” as Team Apology likes to say, shouldn’t it be the other way around? Especially since the PFIF agreement is older than the Mono “promise”?

The Final Word?

I’m sure it’s not.

Mr. Allison has now taken the time to address Mono in more detail with a blog entry “Monomania“. I encourage you to read it.

I also encourage you to consider all the hoops that Team Mono insists critics people must jump through to criticize Mono, and how Mr. Allison surely meets or exceeds all that I have seen. Yet, I do not see Team Mono accepting his criticism, nor do I see my mailbox filling with acknowledgement that it’s not just crazy zealots that have a problem with Mono.

Why am I not seeing these things? Because Mono apologists are not honest in their arguments. They like Mono, and will make any argument they think supports it, and ignore or attack anything that they think weakens it.

It’s a song I’ve sung many times, and this latest wrinkle on Mono == Samba is just one more example of the sloppy reasoning and poor logic behind Team Mono’s defenses.

This article was also posted at MonoNoNo!

  1. #1 by Skeptic on October 20, 2009 - 7:10 pm

    Patents are public records and are searchable. Can someone give me the relevant patent numbers for the patents that cover Mono and meet the following conditions?

    1. Are not on the ECMA standard part of Mono (which is covered by Microsoft’s patent promise for all of us)

    2. Would be infringed by programs that do NOT use Winforms, ADO.NET, and such? I am only interested in using Mono to write Linux programs, so have no interest in using those parts.

    3. Are not also infringed by the alternatives to Mono on Linux, such as python, ruby, perl, and such?

    There has been plenty of time to find these alleged patents. Some of the anit-Mono people (such as the FSF and the SFLC) surely can afford a few hundred dollars for a professional patent search, if the public search interface at the PTO is not sufficient.

    • #2 by Jason on October 21, 2009 - 6:16 am

      I thank you for your comments!

      Allow me to point out some problems in your postulations:

      1. Microsoft’s patent promise does not cover “all of us” even for the ECMA standard parts. The promise only covers implementations “the extent it conforms to one of the Covered Specifications, and is compliant with all of the required parts of the mandatory provisions of that specification”.[1]

      So that means you are not covered if you are implementing partial, specialized or modified versions. A pedantic reading would be that you can’t even get started on an implementation, because it is unlikely your first releases will be “compliant with all of the required parts of the mandatory provisions”.

      This suits Novell just fine, because they have an additional agreement with Microsoft and do not have to rely on the Community Promise.

      So, even the ECMA bits have concerns.

      2. Linux programs, including “marquee” applications like Banshee use non-ECMA portions. There are many more sections besides Winforms and ADO.NET that are not covered.

      In fact, there are at least 17 namespaces that are not standardized, including System.Linq – a feature supporters love to praise about .NET/C#. [2]

      So, even “Linux programs” do have quite an interest in “using those parts”.

      3. There is no question that Microsoft has “patents on .NET” – the crudest and quickest search possible shows that. [3]

      What no one can be clear on how a judge and jury will decide that a program infringes, which is exactly what Microsoft banks on. Because no one wants to go to court to find out – it is the risk that is the weapon. The threat of court is the weapon.

      Furthermore, the idea that so-called “alternatives” to Mono present the same level of risk is absurd. By definition, Microsoft technologies come from Microsoft, and therefore have a much higher chance of being specifically patented by Microsoft.

      By extension, “alternatives” that potentially infringe are much more likely to do so in a manner that can be defended by prior use or obvious extensions by a practitoner of the art. So even if they do offend it would be because they are attempting to solve a similar problem, not because they are blatantly copying a patented technology.

      The issue is not “alleged patents”. Microsoft holds over 10 thousand patents – many of which specifically mention “C#”, “.NET framework”, “managed runtime” and so on. A “few hundred dollars for a professional patent search” is not really going to provide a definitive answer.

      The issue – rather, one of the issues – is that some people consider the level of risk unacceptable. That is a rational position, and quite hard to argue with – because no one can honestly say there is no level of risk – and “poo-pooing” people’s concerns with weak arguments does not allay concerns. Quite the contrary.

      [1] http://www.microsoft.com/interop/cp/default.mspx
      [2] http://en.wikipedia.org/wiki/Base_Class_Library#Non_standardized_namespaces
      [3] http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=0&f=S&l=50&d=PTXT&RS=%28AN%2FMicrosoft+AND+ACLM%2FNET%29&Refine=Refine+Search&Refine=Refine+Search&Query=AN%2FMicrosoft+AND+ACLM%2F%22NET+framework%22

(will not be published)