EditorsAbout the SiteComes vs. MicrosoftUsing This Web SiteSite ArchivesCredibility IndexOOXMLOpenDocumentPatentsNovellNews DigestSite NewsRSS

09.13.08

Microsoft Admitted Mono is a Patent Trap Back in 2006 (Updated)

Posted in Free/Libre Software, GNU/Linux, Microsoft, Mono, Novell, Office Suites, OpenOffice, Patents, SUN at 5:42 pm by Dr. Roy Schestowitz

And now it comes to Mandriva?

[Update (17/09/08): Mandriva is said to have addressed this issue. Adam Williamson wrote: “Our oo.o build is based on the go-oo project, which optionally adds Mono support (basically for writing plugins or macros in Mono). We enable this, and by default if you do that, it winds up with an auto-generated mono dependency in the package. In fact everything will basically still work without Mono installed – you just won’t be able to use any plugins or macros that are written in Mono unless you have Mono installed. So with the new build we’ve just disabled the Mono dependency.”]

Let it be emphasised that Mono is a threat because of a variety of innate issues. We’ve known this since 2006. Here is a top Microsoft executive admitting that Mono is a patent problem for GNU/Linux. We also discussed the effects on OpenOffice.org back in 2006. Microsoft admitted this again on several occasions later on (even in 2008 when Brian Goldfarb accidentally confessed). For the lawyers among us, it’s also in the heavily-redacted contract with Novell [1, 2, 3, 4, 5, 6, 7]. Only one company is said to have ‘protected’ its paying customers. Yes, Novell is fine with Mono risk because it probably wants to use this to its advantage.

Now, I am a very happy Mandriva user. It’s therefore disappointing to find this short rant from Planète Béranger. It suggests that there is a Mono dependency in OpenOffice.org 3.0.

# rpm -i --force openoffice.org-common-3.0svn13475-1mdv2009.0.i586.rpm 2>&1 | grep mono
        libmono.so.0 is needed by openoffice.org-common-3.0svn13475-1mdv2009.0.i586
        mono(mscorlib) = 1.0.5000.0 is needed by openoffice.org-common-3.0svn13475-1mdv2009.0.i586
        mono(mscorlib) = 2.0.0.0 is needed by openoffice.org-common-3.0svn13475-1mdv2009.0.i586

PCLinuxOS, a Mandriva derivative, was once claimed to have had a similar dependency in version 2.4 of OpenOffice.org.

Makes sense to me and I want to purge mono-related packages – if any – from distributions I use [which are - on hard drive - PCLinuxOS, Fedora, Mandriva, Mint, and Kubuntu].

An interesting but quickly executed purge, right? Not. The packages I don’t want are:

mono-common, and
libmono0.

PCLinuxOS doesn’t have mono-common – done. It does have libmono0 – which I tried to zap but got:

rpm -e libmono0
error: Failed dependencies: libmono.so.0 is needed by (installed) openoffice.org-2.4.0-3pclos2007.i586

Oops! Put a hold on that for a bit!

Some input would be appreciated while I look at those other distros.

Fortunately, the claim was eventually challenged and refuted.

OpenOffice.org 3.0 is soon to be integrated into many GNU/Linux distribution, as Tectonic has just reported.

The final release of OpenOffice.org 3.0 is expected later this month, in time for the upcoming Ubuntu, Mandriva, Fedora and OpenSuse releases later this year.

There will hopefully be no Mono poison inside OpenOffice.org in its distributor-packaged form. Novell and Microsoft would love this to happen.

Just say no to Mono

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • co.mments
  • DZone
  • email
  • Google Bookmarks
  • LinkedIn
  • NewsVine
  • Print
  • Technorati
  • TwitThis
  • Facebook

If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

Pages that cross-reference this one

154 Comments

  1. Béranger said,

    September 14, 2008 at 4:09 am

    Gravatar

    Roy,

    libmono0 is only an interface lib, written in plain C. It’s harmless, except for the psychological effect.

    However, mono(mscorlib) is provided by mono-core, and this is where Mandriva 2009 went off-limits: by having mono-core required by OpenOffice.org!

  2. AlexH said,

    September 14, 2008 at 4:56 am

    Gravatar

    Also worth noting that the .net binding is an important option in the ODF toolkit.

  3. Roy Schestowitz said,

    September 14, 2008 at 6:24 am

    Gravatar

    I now see the comment from Valentin Villenave. Mandriva will hopefully sort this out before the release (it’s still an RC). Have they been informed yet? I suppose they already read Béranger’s blog.

  4. paul (the unverified) said,

    September 14, 2008 at 9:36 am

    Gravatar

    Thanks for the update, Roy. I’ve been wondering where this stuff was lurking. I hope Mandriva does purge it.

    Also, I’m seeing more stuff re Mandriva. I had used Mandrake v7 and 8. Then I was distro hopping for a while, but finally settled (?) on three; CentOS for a server, PCLinuxOS for an easy to install and configure desktop solution for friends and family, and Sidux for my Dell 1501 laptop. But now I’m feeling the itch again re a different distro and am becoming sorely tempted to return to Mandriva. The mono thing would probably discourage me, though.

    Thanks again for an insightful update.

  5. Roy Schestowitz said,

    September 14, 2008 at 12:24 pm

    Gravatar

    Mandriva is a solid distribution. I’m sure they’ll resolve this dependency mistake now that it’s pointed out in public. OOo3 is out next week I believe.

  6. landofbind said,

    September 14, 2008 at 12:37 pm

    Gravatar

    Humans and hysterical behavior.

    So what that there is something written in C# on your systems? Will it turn you blind, rape your wives, kill your children, make you worshipers of the devil or anticipate the end of the world?

    Why live in fear?

    You, Roy, have a big mouth. Why don’t you create a distribution that promises to never, ever include anything developed in C#? It’s a challenge to you and your fear mongering, gray cells-lacking friends.

    Do something productive for a change. Instead of the usual “the sky is falling”.

    The problem is, dear Roy, your purity is all pretense. You don’t oppose patents, patent deals or even proprietary software. No, you only oppose it because it’s Microsoft or Novell. Blind hate. Associated with it is also the lack of any cognitive ability and laziness.

    Incapable of making a intelligent, reasonable comment, incapable of analyzing any of what you post in any meaningful way, not even an superficial one.

    You’re not even entertaining.

    When you don’t have anything damaging, and because you’ve to make 10 posts a day, you resort to lying, rumor, fud, fear-mongering, and absolute nonsense. Posting anonymous comments as facts. You run a “smear campaign”.

    You show yourself lacking in any ethical and moral values when you have to answer your critics. You never contradict them, never argue with them. Instead you purposely ignore what they say and post some more links completely unrelated, most of them pointing to you. If you make some comment it’s always something offtopic and nonsensical.

    Seeing you arguing with someone is like seeing a Monty Python sketch.

    Note: comment has been flagged for arriving from an incarnation of a known (eet), pseudonymous, forever-nymshifting, abusive Internet troll that posts from open proxies and relays around the world.

  7. ildeG said,

    September 14, 2008 at 1:52 pm

    Gravatar

    while (landofbind.PaidByMicrosoft || others.PaidByMicrosoft) {
    landofbind.WasPaidToBash(Roy And Others);
    we.knoWhoIsBehind();
    we.AppreciateAndEncourage(Roy);
    }

  8. ildeG said,

    September 14, 2008 at 1:56 pm

    Gravatar

    OO.ps!!! (Sorry, I’m new to object oriented programming)
    while (landofbind.PaidByMicrosoft || others.PaidByMicrosoft) {
    landofbind.WasPaidToBash(Roy And Others);
    // ‘s/knoWhoIsBehind/knowWhoIsBehind/’
    we.knowWhoIsBehind();
    we.AppreciateAndEncourage(Roy);
    }

  9. Mick said,

    September 14, 2008 at 2:02 pm

    Gravatar

    “So what that there is something written in C# on your systems? Will it turn you blind, rape your wives, kill your children, make you worshipers of the devil or anticipate the end of the world?”

    It exposes you to a future lawsuit, if you had cared to even read the post title.

    Downloading music and movies carries a fairly low risk of being sued too. Tell that to the tens of thousands of people who have been sued and ask them if the risk was worth the reward and whether they’d do it again.

  10. AlexH said,

    September 14, 2008 at 2:39 pm

    Gravatar

    @Mick: that’s not really a good enough answer, though. Patents don’t apply to specific implementations: anything which Mono infringes on, Java is almost certain to infringe on as well, because technically they are extremely similar.

    What we need to do is defend free software from the threat of patents, not scare users off it. If it wasn’t Mono it would be something else; most successful free software is a copy of something proprietary.

  11. Roy Schestowitz said,

    September 14, 2008 at 2:48 pm

    Gravatar

    Alex, all you ever do in this Web site is defend Microsoft’s party line, just like Miguel de Icaza. The issue at hand is different for a variety of reasons and saying “this is not evil” because there are “other evils” is precisely the same defense Microsoft is using against Apple and Google at the moment.

    Software patents are bad, this Web sites fights them, but here you have two companies signing a deal which explicitly encapsulates an /entire technology/, not a set of ideas or algorithms.

  12. AlexH said,

    September 14, 2008 at 3:16 pm

    Gravatar

    Don’t twist my words Roy; that’s not even vaguely the argument I’m putting forward.

    First; don’t misrepresent the Novell/MS deal. It is not a patent cross-license.

    Second; patents affect myriad free software projects. We in the free software community don’t abandon them just because patent holders threaten them, we defend them.

    In this specific instance, if there is a threat to Mono (which, remember, is defended by OIN), that is 90% likely to be the same threat to Java (and, possibly, Tamarin, Android’s VM, and other VM-based projects). This isn’t “other evils”, this is the same evil. All of these projects should be defended from software patents, not just those Roy likes.

  13. AlexH said,

    September 14, 2008 at 3:18 pm

    Gravatar

    And, by the way, if rejecting the threats of software patents is the Microsoft party line and throwing mud/FUD at free software projects isn’t, then I suggest that your compass is slightly out of kilter.

  14. Roy Schestowitz said,

    September 14, 2008 at 3:26 pm

    Gravatar

    First; don’t misrepresent the Novell/MS deal. It is not a patent cross-license.

    It is. Even Novell admits it now (“agree to disagree” is passé).

  15. AlexH said,

    September 14, 2008 at 3:35 pm

    Gravatar

    No, they don’t admit that. From Mono’s licensing page:

    Mono’s strategy for dealing with any potential issues that might arise with ASP.NET, ADO.NET or Windows.Forms is: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.

    Care to cite something which specifically shows that is wrong and that they have licensed MS patents? Not just rumour, people guessing, opinion, but actual _fact_ ?

  16. Roy Schestowitz said,

    September 14, 2008 at 3:40 pm

    Gravatar

    Novell cross-licensed with Microsoft and recently promised its customers “intellectual property peace of mind” in a formal statement from the PR Director.

  17. Roy Schestowitz said,

    September 14, 2008 at 3:41 pm

    Gravatar

    Oh, and Mono was included by the way. it’s noted in several places. But only Novell is ‘protected’. Not even Xandros and Linspire were ‘permitted’ to use it. I don’t know about Turbolinux, but I imagine it’s the same.

  18. AlexH said,

    September 14, 2008 at 3:44 pm

    Gravatar

    Repeating your opinion isn’t presenting a citation.

    Just to be specific, I’m looking for you to show some evidence that they have entered a cross-licensing deal which isn’t based on some opinion / guess / other fantasy article on the web, but… y’know, something actually factual?

  19. Roy Schestowitz said,

    September 14, 2008 at 3:51 pm

    Gravatar

    They put some ‘dressing’ on it. From Microsoft:

    http://www.linux-watch.com/news/NS2927608517.html

    “To do this, Novell and Microsoft are providing covenants to each other’s customers, therefore releasing each company from the other’s patent portfolio. This may sounds odd vs. a traditional patent cross-license agreement but it is one of the things that makes this deal so unique.”

    And later this from Microsoft:

    http://arstechnica.com/news.ars/post/20061121-8259.html

  20. AlexH said,

    September 14, 2008 at 3:58 pm

    Gravatar

    Your first citation is a link where they explain why it sounds odd compared to a cross licensing deal.

    And then you restate the “Novell did not agree or admit that Linux or any other Novell offering violates Microsoft patents” link where Novell and MS “agree to disagree”, which you earlier dismissed saying: “Even Novell admits it now (”agree to disagree” is passé)”.

    That’s not the most convincing evidence, I’m afraid: neither citation backs up your claim, and you don’t even seem to be consistent on the point of the second.

  21. Roy Schestowitz said,

    September 14, 2008 at 4:06 pm

    Gravatar

    That was 2007. This is from last month:

    http://blogs.computerworld.com/novell_and_microsoft_stop_with_the_fud_already

  22. AlexH said,

    September 14, 2008 at 4:14 pm

    Gravatar

    That opinion piece doesn’t even include the phrase “cross license”, let alone put forward the theory that the Novell/MS deal contains a patent cross license. I find that “evidence” wanting as well.

    While you’re trying to find more links, let me pose a question. If this was a cross-license deal, where Novell get access to and use Microsoft patents, why did the Free Software Foundation explicitly exempt it from the terms of the GPLv3?

  23. AlexH said,

    September 14, 2008 at 4:15 pm

    Gravatar

    Just for the sake of clarity; I agree with SJVN’s view in that opinion piece. It just doesn’t support your argument, that’s all.

  24. Roy Schestowitz said,

    September 14, 2008 at 4:20 pm

    Gravatar

    You’re taking it very literally and attempt to find flawed arguments based on two words that you brought up. Let’s rephrase that: is the Novell/Microsoft deal about patents? I say it is. Novell implicitly agrees. It offers patent ‘protection’.

  25. AlexH said,

    September 14, 2008 at 4:27 pm

    Gravatar

    >>First; don’t misrepresent the Novell/MS deal. It is not a patent cross-license.

    It is. Even Novell admits it now [..]

    Let’s rephrase that: is the Novell/Microsoft deal about patents?

    Sure, we can rephrase it if you’re willing to retract your claim that it is a cross-license. I’m quite happy to discuss whether or not it’s about patents, are you happy to accept you were incorrect?

  26. AlexH said,

    September 14, 2008 at 4:28 pm

    Gravatar

    Looks like your stylesheet doesn’t like embedded block quotes, oh well. I’m sure you can figure it out :)

  27. Roy Schestowitz said,

    September 14, 2008 at 4:33 pm

    Gravatar

    Hmmm… comments seem not to be nested blockquote-aware, whereas post body is fine with that.

    Anyway, yes, it’s not cross-licensing, which is the term you brought up. It is, however, about patents.

  28. AlexH said,

    September 14, 2008 at 4:43 pm

    Gravatar

    Sure, it is about patents, and frankly their deal with MS stinks. I’m glad that the GPLv3 attacks that kind of setup more explicitly, so it’s the first and last one.

    However, I’m not a Novell customer, so it doesn’t apply to me and with the situation of the GPL it’s something that is relatively time-limited. I disagree with their statements about IP and I don’t recommend people buy their products. I have no problem with their free software contributions, though.

  29. xiso said,

    September 14, 2008 at 7:20 pm

    Gravatar

    @landofbind: can I be troll just like you? how much do M$ pay? Do I get free $oftware too. What version troll are you? MS-Troll v2.1?

    Thanks for any help
    xiso

  30. mpz said,

    September 15, 2008 at 6:08 am

    Gravatar

    I just had a thought – MS don’t ever need to sue anything to do with mono – it serves them very well even without that.

    First, it is great as a FUD tool. They can claim patent risks as often as they like as a marketing mechanism without ever having to prove a word of it. Novell certainly do. And they can do that without all the costs and most of the bad-press they’d suffer if it ever came to a lawsuit.

    Second, it will probably never be at the quality and functionality to rival the MS implementation, and certainly not keep up with on-going changes (through no real fault of the guys doing it – they’ll have to keep up with moving goalposts). It will always be the poor cousin – so anyone wanting to do ‘real work’, or use the latest features, certainly wont (be able to) stay with mono. (until they piss it off and start working on their next big thing). Hell even if it does somehow pull the golden rabbit out of the hat and achieve parity, they can just say it sucks anyway.

    And third, and more indirectly. It helps dilute free software developer power by diverting resources and creating conflict and disagreement. Developer resources are not unlimited, even in the free software world. Diverting even a significant fraction into mono/related work removes them from the talent pool that may otherwise work on competing technology (and particularly with that set with interest in the area) . And the icing on the cake is the conflict it creates – diverting emotional energy and making the `linux community’ look like a bunch of rabid lunatics.

  31. AlexH said,

    September 15, 2008 at 6:33 am

    Gravatar

    @mpz: actually, Mono already outclasses .net in a number of significant areas, and there are many reasons why you might want to run Mono even if you’re on Windows: more up-to-date .net runtime available, access to key free software technologies such as Gtk#, Qt, etc. It’s more cross-platform, has much better support for interoperability and has much better support for things such as introspection.

    I also don’t buy the “dilutes manpower” argument. That’s not a languages or platform thing; part of what makes free software work is that it is a thriving ecosystem of competing implementations.

    I totally agree with you about the conflict, though. It’s unfounded and unnecessary, and it’s not for us to tell other people what they should and shouldn’t work on: it’s free software.

  32. Roy Schestowitz said,

    September 15, 2008 at 6:38 am

    Gravatar

    It’s not about manpower only; it’s about Mono-based applications that replace Mono-free counterparts. Novell makes this happen by sponsoring projects like banshee.

  33. AlexH said,

    September 15, 2008 at 6:45 am

    Gravatar

    Sure, but that’s their prerogative: at the end of the day, the person or company paying the bills gets to decide what the developer does. If the Mono-based stuff is what other people are deciding to use, then that’s because it’s better software. It’s free software, that’s how it works, there’s choice.

    Mono is an extremely attractive platform for developing applications for free desktops; it’s easier and quicker than any of C, C++ or Java, and marginally better than Python (especially when it comes to wrapping native libraries). It’s a good technical choice.

  34. Roy Schestowitz said,

    September 15, 2008 at 7:28 am

    Gravatar

    Going by this logic, why fight for Free(dom) software? There are already similar(ly encumbered) technologies.

    What you’re sometimes suggesting is that companies choose software never based on some choices that are imposed by convenience or other people’s choice. In essence, many companies end up adopting Mono-based applications simply because the software distribution comes with it. Ubuntu, for example, comes with quite a heavy ‘Mono duty’ saddled onto it. While this issue was discussed before, there are no easy answers.

  35. AlexH said,

    September 15, 2008 at 7:44 am

    Gravatar

    You’re conflating two separate issues. Whether or not you like Mono, or like people developing Mono, is a separate issue to whether or not Mono-based apps are free software.

    Mono is free software, and the apps you’re talking about in Ubuntu are free software. It’s a shame you don’t like Mono, but then some people don’t like Python. You can’t please everyone. What matters is that they are free software.

  36. Roy Schestowitz said,

    September 15, 2008 at 7:53 am

    Gravatar

    Mono-based apps are free software.

    Yes, .EXE and .DLL files produced using the framework which Microsoft warns is only for Novell, Microsoft’s partner in a corporate recovery plan.

    Do you really think they are interested in anything other than their investors?

  37. AlexH said,

    September 15, 2008 at 7:57 am

    Gravatar

    No public company is interested in anything other than their investors, Red Hat included: that’s the law, they operate in the best interests of shareholders.

    Quite why the names of files involved should be of any relevance, I don’t know. It is certainly of absolutely no *technical* relevance, and neither is Microsoft’s FUD. They throw mud at a lot of free software projects, it’s sad to see you copy them.

  38. Roy Schestowitz said,

    September 15, 2008 at 8:03 am

    Gravatar

    I guess you could say the same thing to Groklaw (“it’s sad to see you copy them [Microsoft]“). In case you haven’t grasped it yet, the problems with Mono are recognised more widely. It’s more convenient for you (plurally speaking) to point a finger at one ‘source’ of backlash, despite the fact that it goes many years back and echoed elsewhere, albeit less frequently.

  39. paul (the unverified) said,

    September 15, 2008 at 8:12 am

    Gravatar

    And therein lies the real problem. Mono is tied to m$. It may be “free,” but the business landscape is littered with memories of promising businesses that m$ was “helping.”

    There is NO reason to expect anything different from Redmond now. Especially now.

    Alex, most of your points are valid enough, the bottom line comes back to who is at the center of all this. And again, I’d rather be very suspicious of a convicted monopolist than innocently naive.

    For me, this has tainted the free software environment. I’d rather not use (and thereby, approve or support or even recognize) anything that’s associated with mono. If m$ really was feeling all sincere and genuine now and only wanted to ‘help’ and ‘contribute,’ they would not have pulled the blatantly unethical crap they did with OOXML and Ballmer would admit that he screwed up about the patent infringements.

    Sorry, it’s the old ‘fool me once… fool me twice’ scenario. m$ can go crawl under the trash heap of history for all I care. No mono for me, thank you.

  40. AlexH said,

    September 15, 2008 at 8:12 am

    Gravatar

    That sounds like an appeal to authority to me :D Groklaw is not the fountain all truth.

    I think it’s convenient to say “problems with Mono” when that could mean virtually anything.

    And I’m quite happy to admit that there are issues with specific aspects of it: for example, Fedora have decided at the moment that they’re not willing to carry Moonlight, due to the patent risk around XAML. Thus, I don’t use Moonlight.

    What do we do about that, throw our hands up? No. If Moonlight is risky, then so is XUL: technologically, they’re virtually identical. Even if we decide we never want Moonlight, we still cannot ignore that threat, it must be dealt with.

    But that is a bit of a special case. The rest of Mono is happily accepted by all mainstream free software distributions, and people are building good apps with it. If there is a vocal minority that does not like it because it comes from Microsoft; tough, it’s free software: you can choose not to use it.

    We’re already seeing more Microsoft code in free software apps; just today it turns out that Microsoft code is critical to the new Google Chrome browser. Is Chrome suddenly non-free? Of course not. Free software is free software, whether it comes from Microsoft or anywhere else. That’s the measure, not the level of FUD you can throw at it.

  41. Roy Schestowitz said,

    September 15, 2008 at 8:23 am

    Gravatar

    Saying that Microsoft contributes to Free software is misguidance. Do you know what patch they announced in OSCON? A plug in Free software for proprietary SQL Server. Is that the type of patches you want?

  42. AlexH said,

    September 15, 2008 at 8:28 am

    Gravatar

    Well, if it’s free software, why not?

    Giving people the option to run against a proprietary SQL server isn’t necessarily a bad idea: I know plenty of systems, including web hosts, where the choice of database is non-negotiable.

    What matters is that people have the ability to choose free software. If free software won’t work in that setting, they won’t choose it, and we lose.

    If they can choose the free software, and they choose a proprietary SQL DB – well, frankly, that’s their loss, and you can’t force them into choosing free software everything.

  43. Roy Schestowitz said,

    September 15, 2008 at 8:32 am

    Gravatar

    It’s intended to push FOSS away from GNU/Linux and onto Microsoft cash cows. See this.

  44. AlexH said,

    September 15, 2008 at 8:34 am

    Gravatar

    @paul: your point about trusting MS is entirely valid. I don’t agree that they are at the centre of this, but that’s an understandable point of view.

    At the end of the day, Mono leverages a number of key free software technologies which aren’t available to people on .net, and encourages people to start using them, and offers real benefits to .net programmers.

    This is bringing Windows developers over here. You might not think that’s a big deal, but it is – there are literally millions of them. Starting out with Mono isn’t a huge step, but we’re bringing them slowly towards the free software ecosystem. That’s a huge win.

  45. AlexH said,

    September 15, 2008 at 8:37 am

    Gravatar

    @Roy: but it doesn’t matter what the intention is. Microsoft’s intention is that they’re the number one video games company; they can have that intention but it doesn’t make it true.

    People aren’t going to go out and buy MS SQL server just because some free software supports it now. You’re not going to see people swapping out Postgres. I would bet there are a fair few people itching to get off SQL Server though, and giving them a migration path is crucial.

    You can’t force people down the path either way, but it’s vital that the path exists to bring people to free software.

  46. Roy Schestowitz said,

    September 15, 2008 at 8:44 am

    Gravatar

    If you facilitate people’s proprietary comfort, they are unlikely to depart from it.

  47. AlexH said,

    September 15, 2008 at 8:56 am

    Gravatar

    If you don’t facilitate people’s free software comfort, they are unlikely to stay with it.

  48. Jose_X said,

    September 15, 2008 at 12:42 pm

    Gravatar

    AlexH, there aren’t technical reasons for using mono as opposed to something else that is similar.

    The biggest effect of advancing mono specifically as opposed to something else that is similar is to help establish MSdotnet.

    There is a clear effort by Novell to be Microsoft’s pet and follow their lead or they would have left by now (and as well not accepted the money and conditions). That is fine for Novell, but not for the rest of us.

    Mono lowers the cost of dotnet for those that can’t pay the MS toll. It supports the dotnet ecosystem which is ultimately controlled and dominated by Microsoft. Does piracy of Windows interface help or hurt Microsoft? Mono is like a pirated, though lower quality (less integration to Windows), dotnet. It helps dotnet have breadth and depth despite Microsoft’s pricing/brand and manpower and other limitations.

    Again, you can make any of very many different decisions from a technical point of view and the results would mostly be the same.. technically speaking. Mono people could be doing their VMs very differently in specifics to get very similar effects. Sticking to dotnet precisely as MS describes is a very conscious decision that helps Microsoft. The tech arg is worthless (just add the few gains of dotnet to something else .. eg, work on Parrot or something else if Java is deemed not good enough.. heck fork dotnet today, since not years ago, through an open community).

    Actually following dotnet is about the “hooked” aspect.. both mentally for those developing with it and as well the facility this creates for Microsoft to extend their hooks onto dotnet apps (as opposed to the apps being made differently). Microsoft can more easily reuse quality mono FOSS (both to study, to add value to MS platforms as the free low end apps, and through a license from Novell on command if they wanted actual source) to create “deluxe versions” (with lock-in to MS platforms).

    Mono helps Microsoft. Free software or not, if you help Microsoft you hurt Linux/FOSS. Also, the point of free software is that you can fork when you don’t like the leadership. In this case, the patent issue and some other things (like lack of sufficient interest in ms technology by those not on the mono plan already) keep mono from being forked. Mono should be forked. Then the story will get interesting.

    Everyone supporting dotnet will talk about the inevitability of this or of that MS technology. That is intentional. Microsoft would spend huge sums of money to create the perception that their technology is inevitable (Roy quotes frequently about the slog). It’s crucial to Microsoft that people talk about how they can’t leave ms technology.

    AlexH, you should consider forking mono if you want to help out FOSS. You can mostly get your technology fix this way and would be creating competition which you recently said was good. Why would you not fork mono and the dotnet specs.. for the sake of FOSS since this would be just as useful to use technically speaking and less useful to Microsoft? We’d have control among other gains.

    Let’s remember something. Microsoft is in competition with a lot of more Linuxy-open technologies and companies. Dotnet gaining puts the pressure on the commercial ecosystem around Java and others to move to dotnet. This would bring Microsoft huge amounts of money and more control. This would be bad for FOSS. This would remove more FOSS support and even more checks on Microsoft. Microsoft large incomes also means they can subsidize losing efforts to get into industries they otherwise could not reach (like game consoles and more hw/services industries). It means more marketing dollars against Linux/FOSS and the freedoms across the board that we represent and offer.

  49. AlexH said,

    September 15, 2008 at 1:02 pm

    Gravatar

    @Jose,

    I think there are a number of problems with your argument above, but I want to take issue with a couple of points:

    Does piracy of Windows interface help or hurt Microsoft? Mono is like a pirated, though lower quality (less integration to Windows), dotnet.

    Mono is absolutely nothing like a “pirated” dotnet. First, Mono is free software. Second, Mono and dotnet overlap, but one is not a subset of the other: Mono provides significant benefits over dotnet, not least:

    UNO and XPCOM interop support,
    advanced support for bytecode introspection and manipulation with Cecil,
    support for DBus, Gtk#, Gnome#, Stetic, Cocoa#, ObjC#, Qt, and numerous other important free software technologies,
    support for OpenGL.

    If you don’t use or understand Mono, it’s very unfair to comment on what it is and isn’t, and what it does.

    Second,

    Also, the point of free software is that you can fork when you don’t like the leadership. In this case, the patent issue and some other things (like lack of sufficient interest in ms technology by those not on the mono plan already) keep mono from being forked.

    Nothing prevents Mono from being forked; anyone can do that. If people don’t want to do that, that’s up to them, but please don’t drag false patent problems into this. The Novell developers have no patent licenses for dot net stuff and are not protected from MS lawsuits.

  50. Jose_X said,

    September 15, 2008 at 1:15 pm

    Gravatar

    >> If you don’t facilitate people’s free software comfort, they are unlikely to stay with it.

    I completely agree that comfort is very important.

    >> If you facilitate people’s proprietary comfort, they are unlikely to depart from it.

    Yup.

    Let’s see if we can achieve both of these simultaneously.

  51. Roy Schestowitz said,

    September 15, 2008 at 1:18 pm

    Gravatar

    Alex,

    The Novell developers have no patent licenses for dot net stuff and are not protected from MS lawsuits.

    I disagree with this. Novell has some sort of agreement around it.

  52. Jose_X said,

    September 15, 2008 at 1:43 pm

    Gravatar

    >> Mono is absolutely nothing like a “pirated” dotnet. First, Mono is free software.

    I didn’t say totally like MSdotnet.

    And do you really believe that it is “absolutely nothing” likea pirated MSdotnet? That’s a shock. I trully thought there were many similarities between mono and MSdotnet (the pirate aspect represents the $0 costs that piracy would enable).

    Do you want to clarify since you seem to contradict public info available on mono vs dotnet?

    I perfectly know there are differences, btw, ie, the licensing among other things. But source code that is licensed X or Y can look or act identically in every respect; hence, there can be a great very many similarities despite some differences.

    >> Second, Mono and dotnet overlap, but one is not a subset of the other

    So quickly you seem to contradict what you just said about mono and dotnet being “absolutely nothing” like each other.

    And I didn’t say one was a subset of the other.

    I said, “Mono is like a pirated, though lower quality (less integration to Windows), dotnet.” This was a simile [ http://en.wikipedia.org/wiki/Simile ].. kind of how one might say that you were hungry like a wolf.

    Oh wait, your’s was a simile as well, so I imagine then that you do recognize that mono and MSdotnet have similarities. Add the $0 of a pirated MSdotnet, and the number of similarities increases further.

    >> UNO and XPCOM interop support,
    advanced support for bytecode introspection and manipulation with Cecil,
    support for DBus, Gtk#, Gnome#, Stetic, Cocoa#, ObjC#, Qt, and numerous other important free software technologies,
    support for OpenGL.

    Thus:

    Mono brings Microsoft the ability to control and mimic all these protocols you mentioned, except that the work was done by distracted FOSS developers, and Microsoft gets a proprietary (nonGPL) license on a moments notice from their contractor Novell [or so I assume].

    You do understand what I just said, right? Microsoft now also has an ability to interface with all of these Linux things since mono can. It’s the benefit of open FOSS, except that MSdotnet continues to be better at least in that it has exclusives.

    mono volunteers are helping MS be able to leverage their huge msdotnet closed source investments to control and manage Linux and essentially be able to cut Linux out of the picture. Microsoft can create these bindings themselves, but it would take much more time and effort than if they get devs with experience to do it, and preferably for free. Also, through Novell and not Microsoft, the expectation is that we will trust and start using these dotnet protocols everywhere.

    Don’t use dotnet. Leverage something else. With FOSS you can add whatever you like in dotnet to anything else. There is little reason for the FOSS community to stick precisely with dotnet, though this certainly helps Microsoft. mono people are making sure dotnet stays up to date with other Linux technologies.

    Microsoft: manage everyone, but be unmanageable.

    The best way to fight them is to avoid helping them. Don’t use things that help them. Look towards free software to see what we should create, rather than assume Microsoft is inevitable, then copy them left and right to the tee. You are just participating in their embrace. Making things easier for them to add special Windows tie-ins with these apps than they could with apps built on other technologies.

    Of course, there are other issues, like mono grows dotnet mindshare among devs (that is a valuable asset) and makes the dotnet path more likely to stick with execs and tech leaders that otherwise would switch to a different technology. Ergo, why I talked about the effective pirated msdotnet being mono when looked at this way.

    >> I think there are a number of problems with your argument above, but I want to take issue with a couple of points:

    so what’s the next issue you have?

  53. Jose_X said,

    September 15, 2008 at 1:47 pm

    Gravatar

    >> I perfectly know there are differences

    I should clarify. I don’t perfectly know all the differences, but I am very aware of what makes free software different from most other.

    >> If you don’t use or understand Mono, it’s very unfair to comment on what it is and isn’t, and what it does.

    I’ll comment, and I’ll leave it up to you to see if you can find mistakes and maybe fix them for me. I think I know enough about what is going on in general to comment. I disagree with enough important items that you say to feel a bit of an urge to comment. We’ll each comment and each correct the other… deal?

  54. paul (the unverified) said,

    September 15, 2008 at 3:34 pm

    Gravatar

    Kudos to you, Jose. Excellent response. I think you’ve put things into perspective very well.

    I am astonished at how often m$ has used the Ex3 strategy and yet people blindly jump right into their arms whenever they say they have the next great thing.

    Anyone that doesn’t see this as an effort by m$ to pollute the FOSS environment must be living next door to Pollyanna.

    And you’re right, Alex. It is about choice. So if someone feels warm and cozy with m$’s products, they should buy all the licenses they can afford from them. But please, don’t expect those of us that believe in and support FOSS to listen to a rationalized defense of Redmond.

    There is only one way to counter Redmond’s efforts. Stay the course. Keep FOSS as free and unencumbered by patents as possible. I know that is impossible to do completely re all the software manufacturers (eg, Mozilla), but when it comes to m$ it must be as close to 100% as possible.

    FOSS will draw developers because they see it as an advantage because it is unencumbered and because it is better maintained and developed. We don’t need to make allowances for or tolerate convicted monopolists who SAY that they want interoperability and let’s all get together and hug and sing ‘Kumbaya.’

    I really appreciate the work that Roy and the others here do with re to keeping a watchful eye on what is going on in our industry. I say, keep up the outstanding work. Some day I hope we drive a stake through the heart of the Redmond beast. I DO NOT care how that sounds. They have done nothing to improve our industry. They only introduce conflict, confusion, and angst into the market. They are a cost to all of us.

    I apologize for the angry response, but I get the impression that you, Alex, have created an homage to the infamous Monty Python Argument Sketch in the form of this discussion. So unless you’re willing to pay for another “five minutes,” we won’t be permitted to argue with you any longer.

  55. AlexH said,

    September 15, 2008 at 4:41 pm

    Gravatar

    @Jose:

    So quickly you seem to contradict what you just said about mono and dotnet being “absolutely nothing” like each other.

    I said it’s absolutely nothing like a pirated dot net. You’re equating use of Mono with copyright infringement, which is so wrong I just don’t know where to begin.

    @roy:

    I disagree with this. Novell has some sort of agreement around it.

    We went through this yesterday; there is no patent cross-license. You admitted it.

  56. Roy Schestowitz said,

    September 15, 2008 at 5:09 pm

    Gravatar

    Look back at this discussion. Formally, there is no “cross-license”, just a close equivalent.

    Microsoft is a company of lawyers and marketing and I shall post something about it in 5 minutes.

  57. Jose_X said,

    September 15, 2008 at 6:55 pm

    Gravatar

    >> You’re equating use of Mono with copyright infringement

    That’s not what I was doing. Maybe you will reread it later and it will make sense.

    mono is like MSdotnet in a lot of ways but MSdotnet is not $0; however, a pirated MSdotnet is still somewhat like mono as before except that it’s also $0.

    Why do I mention this? because mono is a bit like the poor man’s MSdotnet. Those that can’t afford MSdotnet and want $0 (and better, without pirating) now have mono.

    Gates and others have said that pirating your software (ie, your technology) is preferable to the customer going with someone else’s technology. mono allows the benefits of pirating Gates’ technology for those that won’t buy MSdotnet.

    Sorry, if you don’t understand what I mean. I could try again some other day on some other thread.

  58. Shane Coyle said,

    September 15, 2008 at 11:27 pm

    Gravatar

    Hey folks. I know I rarely stop by anymore, but I still have the RSS feed… just no time.It keeps coming up where people say Novell has no patent license from this deal with MS directly, only their customers.
    Not only do I disagree, but so does Novell. Let us review what Novell had to say in their 10Q filing regarding the deal with Microsoft (emphasis mine):

    Under the Patent Cooperation Agreement, Microsoft agreed to covenant with our customers not to assert its patents against our customers for their use of our products and services for which we receive revenue directly or indirectly, with certain exceptions, while we agreed to covenant with Microsoft’s customers not to assert our patents against Microsoft’s customers for their use of Microsoft products and services for which Microsoft receives revenue directly or indirectly, with certain exceptions. In addition, we and Microsoft each irrevocably released the other party, and its customers, from any liability for patent infringement arising prior to November 2, 2006, with certain exceptions. Both we and Microsoft have payment obligations under the Patent Cooperation Agreement. Microsoft made an up-front net balancing payment to us of $108 million, and we will make ongoing payments to Microsoft totaling a minimum of $40 million over the five year term of the agreement based on a percentage of our Open Platform Solutions and Open Enterprise Server revenues.

    FWIW

  59. Roy Schestowitz said,

    September 16, 2008 at 2:42 am

    Gravatar

    Thanks, Shane. I wish you wrote here as often as you used to. :-(

    If I’m gone from here one day, I’m sure you’ll take over and brighten up the place. I’ll be away Sep 26-30, so I hope you’ll post some stuff. I can’t reach you by E-mail by the way.

  60. AlexH said,

    September 16, 2008 at 2:59 am

    Gravatar

    @Roy, Shane:

    Sorry, but you’re simply both wrong. Nothing you have posted shows Novell having licenses for Mono. Conveniently, you post the 10Q where it says “with certain exceptions”, without saying what those exceptions are.

    Look at the actual agreement for definitive text on what is covered:

    “Covered Products” of a Party means all products and services sold, licensed, supplied, distributed or otherwise made available by such Party except for Foundry Products, Clone Products and Other Excluded Products (collectively, “Excluded Products”).

    Mono is not a “Covered Product”, it is an “Excluded Product” because it is a “Clone”.

    This isn’t the first time that this information has been pointed out on this site; it is sad that it makes the same false claims again and again.

  61. AlexH said,

    September 16, 2008 at 3:02 am

    Gravatar

    @Jose:

    mono is a bit like the poor man’s MSdotnet. Those that can’t afford MSdotnet and want $0 (and better, without pirating) now have mono.

    I’ve already given numerous examples where Mono is better than Microsoft’s dot net platform. I’ve also given examples of where it allows you to do stuff that dot net doesn’t.

    People don’t choose to use Mono because of the price. If you’d look on the internet, you’d find out that Microsoft don’t charge for dot net (nor, infact, do they charge for the entry developer environment in Visual Studio, either). People choose Mono because of the advantages it has over any other available system (see: Linden Labs, et al)

  62. Roy Schestowitz said,

    September 16, 2008 at 3:27 am

    Gravatar

    http://commandline.org.uk/linux/2007/aug/5/be-careful-who-you-kiss/

    Interestingly, the Novell deal seems to be different, Mono is not excluded from the Novell deal. So Microsoft seems to be promising not to sue Novell over Mono, but keeps the option open for Xandros. Weird but true.

  63. AlexH said,

    September 16, 2008 at 3:42 am

    Gravatar

    Yeah. If you actually read the evidence they cite, it doesn’t make sense, because it’s comparing two different parts of two different deals.

    The exceptions that they mention only admit products before a specific date (November 2006). What they’re saying is, they won’t sue people for using old versions of “Clone” products. There is no such benefit for current editions.

  64. zinka said,

    September 16, 2008 at 7:29 am

    Gravatar

    AlexH: “I’ve already given numerous examples where Mono is better”

    Yeah, but this is wrong! It should be completely compatible. But it doesn’t matter, this technology is doomed out of my cultural space. You can have it all you want.

  65. AlexH said,

    September 16, 2008 at 7:33 am

    Gravatar

    @zinka: you can be compatible and still better.

    I’m not encouraging people to use it; I’m explaining why people do use it and defending it from people who like to knock free software.

  66. Shane Coyle said,

    September 16, 2008 at 7:59 am

    Gravatar

    Umm, I didn’t mention a word about mono in my comment. I simply refuted the repeated assertions that Novell hasn’t any broad patent license with Microsoft as a result of this deal. That blanket release is also in addition to the virtualization patent license as well. And, if my memory serves me correctly, (and Mr Muglia had any clue in the linked article) Novell does indeed have protection for Mono.

    There is a substantive effort in open source to bring such an implementation of .Net to market, known as Mono and being driven by Novell, and one of the attributes of the agreement we made with Novell is that the intellectual property associated with that is available to Novell customers.

    I’ll admit I am not nearly as up on all of these details as I once was, but that is how I remember it.
    FWIW

  67. AlexH said,

    September 16, 2008 at 8:10 am

    Gravatar

    @Shane:

    Umm, I didn’t mention a word about mono in my comment.

    The discussion was about Mono specifically; that probably explains why your comment wasn’t very insightful about Mono.

    No-one’s arguing that Novell don’t have “protection” in place for their customers. That’s very different to having a patent license themselves, which Roy keeps claiming but never seems to have any evidence for.

  68. Roy Schestowitz said,

    September 16, 2008 at 8:12 am

    Gravatar

    I use the word “protection”, not “licence”.

  69. AlexH said,

    September 16, 2008 at 8:20 am

    Gravatar

    @Roy: Actually, you did.

    First you claimed they have a cross-license twice , before you later retracted the claim, but then later changed your mind and disagreed with my statement that they don’t have a license.

    It’s all in the record.

  70. Shane Coyle said,

    September 16, 2008 at 8:32 am

    Gravatar

    Well, I don’t know what you call an agreement in which Novell agrees to pay Microsoft an ongoing per-unit royalty in order for Microsoft to pledge not to enforce their (supposed) legal rights, but here in my neighborhood we call it a license.As far a Mono goes, I haven’t any stronger opinion about that project than Wine, both are on potentially dubious ground due to the farce that is software patents and IP, but undoubtedly they are Free Software implementations. I’ve even pointed out here, before, in discussions that Gnewsense includes Tomboy/Mono and had pondered whether the FSF had done the legwork in certifying it as safe… something which would help the project immensely, imo.

  71. Roy Schestowitz said,

    September 16, 2008 at 8:40 am

    Gravatar

    @Alex: not quite. You deliberately manufactured a catch, asking if there was cross-licensing. I don’t typically describe it in such a way. I say Novell’s customers are ‘protected’ for the use of Mono — whatever that means in practical terms.

  72. Shane Coyle said,

    September 16, 2008 at 8:42 am

    Gravatar

    Oh, and Roy – email has long been gone in my life, as well as most of my internet time. I’ve never even configured kontact/kmail on this new PC, which is perhaps almost a year old now. I’ll fire it up and send you an email (s@___ , right?) so that you can share any rss feeds that you patrol for scoops, and I’ll be sure to be ready for end of the month. Kinda like Joan Rivers sitting in for Johnny Carson, I suppose. I don’t know what domain or email I will setup an account for, maybe @shanecoyle.com – I was getting so much spam I had to give up on shane at edu-nix.org and some other domains too. Filtering made it worse, because I still had to look at every email in the trash to ‘be sure’ – many hundreds per day, it seemed. Now, I look at no emails and love my life (and my house is really coming along – not the worst on the block anymore!).

  73. AlexH said,

    September 16, 2008 at 8:43 am

    Gravatar

    @Shane: There absolutely is a per-copy fee, but you can’t really sever up the deal and say it’s a patent license fee: for one, Novell aren’t getting an actual license.

    What annoys me is the implicit suggestion that Novell are putting code into Novell which infringes Microsoft’s patents, which is obviously wrong.

    But, there is much we can agree on. And indeed, I would point out that Red Hat/Fedora have already done a legal review of Mono: it wasn’t allowed into the distribution before that was done.

    The thing is, you can never say for sure a project is 100% safe: even the simplest of free software applications have been attacked by software patents. But what you can do is say that a. the Mono project avoid patents, b. OIN protect Mono, c. major distributors have found no problems with it after review (Red Hat’s ongoing concern with Moonlight notwithstanding).

    There’s not much more you can say about it.

  74. AlexH said,

    September 16, 2008 at 8:45 am

    Gravatar

    @Roy: I manufactured nothing. You made a wild claim which you were unable to support, because it suits your argument to suggest that Novell have licensed Microsoft patents.

    It’s all in the record.

  75. Roy Schestowitz said,

    September 16, 2008 at 2:15 pm

    Gravatar

    No, not quite. I made a claim. You then posed this as a question suggesting “cross licensing”, but it was a trick question.

  76. AlexH said,

    September 16, 2008 at 2:23 pm

    Gravatar

    @Roy: again, no. I didn’t pose it as a question at all, I made a statement asking you to stop inferring it was a cross-licensing deal.

    There was no question from me, and I certainly didn’t ask you anything to “trick” you. Please retract that false claim also.

  77. Roy Schestowitz said,

    September 16, 2008 at 2:38 pm

    Gravatar

    You introduced the notion of cross-licensing here, but I typically refer to ‘protection’, not cross-licensing.

  78. AlexH said,

    September 16, 2008 at 2:51 pm

    Gravatar

    So when you said “Novell cross-licensed with Microsoft”, what, I hypnotized you or something?

    If you’re in so little control of the words you write that reading things makes you burp them back out accidentally, I suggest you take steps to correct that. You spent about four posts defending an idea you now said I “tricked” you into, which is pretty pathetic behaviour to be honest.

  79. Roy Schestowitz said,

    September 16, 2008 at 2:53 pm

    Gravatar

    It started here where I incorrectly responded to something you said. I didn’t bring up the notion of “cross licensing”. I have already admitted the mistake.

  80. AlexH said,

    September 16, 2008 at 3:02 pm

    Gravatar

    I know you admitted it wasn’t a cross license, I’m not bothered by that.

    What I am bothered by is your suggestion that I somehow asked a “trick” question. You still haven’t retracted that false claim, even though it’s quite obviously factually false to anyone who cares to check this record.

    For whatever reason, you started to defend an idea which is indefensible, and now you’re trying to put the blame on me for your apparently poor comprehension skills.

  81. Roy Schestowitz said,

    September 16, 2008 at 3:40 pm

    Gravatar

    Sorry for suggesting (or rather making it sound like) it was something intentional that you did. I know it was not, so the way I phrased it stands out badly.

  82. AlexH said,

    September 16, 2008 at 4:13 pm

    Gravatar

    Ok, I accept that, thanks. For what it’s worth, I absolutely didn’t attempt to trick you – if it was a simple misunderstanding, that was unfortunate.

  83. Roy Schestowitz said,

    September 16, 2008 at 4:16 pm

    Gravatar

    Yes, I understand that. We’re debating, not arguing/fighting and I appreciate that. BTW, I’m working from the office today and tomorrow (connection problems at home), so BN will probably be less active and I’ll be slow to respond.

  84. Adam Williamson said,

    September 16, 2008 at 4:46 pm

    Gravatar

    I really can’t be bothered reading through this entire gigantic comment thread, but in case it hasn’t been noted yet, the dependency on Mono in openoffice.org is removed as of openoffice.org-3.0svn13581-2mdv2009.0 .

    Our oo.o build is based on the go-oo project, which optionally adds Mono support (basically for writing plugins or macros in Mono). We enable this, and by default if you do that, it winds up with an auto-generated mono dependency in the package. In fact everything will basically still work without Mono installed – you just won’t be able to use any plugins or macros that are written in Mono unless you have Mono installed.

  85. Adam Williamson said,

    September 16, 2008 at 4:47 pm

    Gravatar

    er, missed the last bit of my comment:

    …so with the new build we’ve just disabled the Mono dependency.

  86. Dan O'Brian said,

    September 16, 2008 at 5:39 pm

    Gravatar

    Out of curiosity, where do you work Roy? You always ask anyone who disagrees with you where they work but I have yet to see any mention of where you work.

  87. Roy Schestowitz said,

    September 16, 2008 at 7:11 pm

    Gravatar

    Manchester University. I suspect you knew this already.

  88. Dan O'Brian said,

    September 16, 2008 at 7:19 pm

    Gravatar

    Nope, I didn’t know.

  89. Adam Williamson said,

    September 17, 2008 at 1:36 am

    Gravatar

    Roy, you’re obviously reading these comments, but I haven’t seen an update to the article yet…

  90. Roy Schestowitz said,

    September 17, 2008 at 3:51 am

    Gravatar

    I’ll update the post, Adam. Thanks for the information.

  91. Roy Schestowitz said,

    September 17, 2008 at 11:59 am

    Gravatar

    @Shane: I thought about going down the very same route. I dropped cellphones in 2003. I even set up some Wikis private for communication to reduce the impact of spam back in 2004 or 2005. I know a people who have no landline, either.

    You got my E-mail address right. Let me know when it’s set up and I’ll pass you all the stuff I’ve probably been sending to your /dev/null/ ‘folder’ over the past year. :-)

    I hope you’ll help me out here more.

  92. Jose_X said,

    September 17, 2008 at 4:15 pm

    Gravatar

    I am cutting my participation on forums in order to advance something more interesting.

    >> I’ve already given numerous examples where Mono is better than Microsoft’s dot net platform.

    Honestly, as large as dotnet is, could you imagine if mono didn’t beat out msdotnet in anything?

    Keep in mind that Microsoft has msdotnet AND mono. And with proprietary licenses (or free software licenses like Apache, MIT, BSD, etc) from Novell, they will have modified mono closed source, too.

    FOSS always has that issue that it can be used by closed source companies as their entree. Most of the time, this just gives company X a little payback for investments in FOSS study/devel/whatever. Preferably, I contribute nothing to company Microsoft where they can gain particular advantage. I think mono falls into this bin, as I have said many times. Microsoft’s market-distorting advantages are already too great. Linux and FOSS doesn’t need more handicaps. [Why delay the inevitable?]

    I think companies hooked on dotnet will use mono and supplement with msdotnet or use msdotnet with mono here and there. As long as msdotnet is significant (true on MS platforms), then mono will be on shaky ground. “Introspection” won’t save it from lack of interoperability as suits Microsoft.

    >> I’ve also given examples of where it allows you to do stuff that dot net doesn’t.

    And since Microsoft has just as much access to mono (to package it or extend it or whatever) as everyone else, Microsoft and their offerings have these capabilities as well.

    >> People don’t choose to use Mono because of the price.

    I’m sure this is a consideration.

    >> If you’d look on the internet, you’d find out that Microsoft don’t charge for dot net (nor, infact, do they charge for the entry developer environment in Visual Studio, either).

    All versions aren’t free (“poor man’s” version might be). No version is guaranteed to be free over time, eg, once the lock-in kicks in. [As Matt Asay recently wrote, “Discounts are nice, but discounts only make it cheaper to fall into lock-in.” http://news.cnet.com/8301-13505_3-10043997-16.html ] Those companies that swallow the hooks of MS’ more integrated and advanced offerings, will find mono to be of limited use (a shame since mono is open).

    I know FOSS mono has benefits as does any FOSS tool, but if you are into dotnet, mono lags and falls short in integration/interop on Windows (most using dotnet are on Windows).

    >> People choose Mono because of the advantages it has over any other available system (see: Linden Labs, et al)

    It’s good you can find an example of a company that might think this is true. [I do think I remember them stating they find value in mono.]

    Sorry, I took so long to reply. Like I said, I am trying to cut back in order to work on some more interesting things. Microsoft can attempt to embrace and extend anything. They don’t need mono, but mono helps them with certain goals and makes some things easier.

    Make things easyeasier for Microsoft? Not me! If I ever find dotnet-ish needs, I’ll look for or contribute to alternatives.

    Those that support FOSS that don’t think Microsoft is as much of a hindrance to FOSS as I do may not mind adopting mono as they find a need.

  93. Baby In The Bath Water said,

    September 17, 2008 at 5:18 pm

    Gravatar

    All versions aren’t free (”poor man’s” version might be).

    Uh… yes they are. Microsoft’s .NET runtime and framework are both free.

    Note: this comment was posted from Novell’s headquarters.

  94. AlexH said,

    September 18, 2008 at 3:17 am

    Gravatar

    @Jose:

    The Mono compiler and class library is MIT, but the runtime library is LGPL and the tools are GPL. Your theory that ” Microsoft has msdotnet AND mono [and] they will have modified mono closed source, too.” just doesn’t stand up to any factual scrutiny, I’m afraid.

    The rest of your argument seems to be based on this speculation.

  95. Roy Schestowitz said,

    September 18, 2008 at 5:20 am

    Gravatar

    AlexH, a reader has sent me some very detailed analysis of Mono, which I will post soon. I very much agree with Jose on this point.

  96. Dan O'Brian said,

    September 18, 2008 at 6:14 am

    Gravatar

    It should also be noted that Mono’s class libraries are also shared with DotGNU.

  97. Jose_X said,

    September 18, 2008 at 5:26 pm

    Gravatar

    >> Uh… yes they are. Microsoft’s .NET runtime and framework are both free.

    I was going by AlexH’s comment (which makes sense) which included development tools that are not free.

    Also, you have to pay for Windows (at least most of us do). If you pay for Windows, you pay for everything within Windows. That packaging is how IE ended up $0 (not) and the Spyglass suit. You can’t use MSdotnet in a vacuum. You have to pay Microsoft for Windows/Vista. Same applies for all Windows products.

    This was such a small part of that original post. I wish you guys would choose to focus on something else. You aren’t getting too far with this minor point as is. [This original minor point was that mono had the effect towards msdotnet as a pirated Windows contributes to Windows mindshare and "addiction".. because you have a similar product in terms of what developers see and code up (investment in brain cells and code much less useful elsewhere), but at no charge. This was a minor point. Are we going to fetch down all prices of all MS products for all time?]

    >> The Mono compiler and class library is MIT, but the runtime library is LGPL and the tools are GPL. Your theory that ” Microsoft has msdotnet AND mono [and] they will have modified mono closed source, too.” just doesn’t stand up to any factual scrutiny, I’m afraid.

    I have no idea what you are talking about. *Anyone* can distribute mono.

    I also said that this mere fact means that MSdotnet users have access to it even if Microsoft isn’t the one that directly gives it to them. This is an issue with all FOSS. One difference with MS protocol clones vs other FOSS is that it that it serves as marketing for keeping customers on the lock-in product. It also leads to many apps that don’t work unless others adopt and follow Microsoft. Advantage Microsoft. I don’t find it funny donating FOSS developer time to give advantages to Microsoft’s closed platforms.

    As I’ve said before, developing mono is not the end of the world. It’s help to Microsoft and a failed opportunity. Eg, imagine the ODF folks throwing in the towel to follow OOXML just because Microsoft said that’s the next greatest and latest. Sure, Microsoft can embrace and extend ODF (anyone can though not with the leverage of Microsoft), but let’s move the game there to ODF instead of to OOXML and Microsoft’s home court.

    Mono has been in development for a very long time and no doubt it has contributed to dotnet uptake. If dotnet, “wins out” over other technologies, it is a setback. Leading is how FOSS will be able to overtake the monopolies, not by following. At the time mono was pushed, we (those contributing) took the follower role AND helped give legitimacy to dotnet when it didn’t have it. Novell admits time and time again that Microsoft is here for the long haul, and they show through actions that they want to be as high in the Microsoft dominated protocol ecosystem pecking order as possible. Those liking dotnet could have forked in many places or worked with other groups on alternatives (if they really liked that model.. eg, over the existing JVM). Not a huge problem. Just another case of let’s follow Microsoft. Novell is in good company. That is how Microsoft has been making their living for a long time.

    I mentioned somewhere that it’s possible Novell will break off with Microsoft, but that is their business. As has been said, tomorrow it can be any other company. Will I help companies that work to sustain the monopolist closed source platforms? No. Simple. Nothing complex. No evilness anywhere. Just my decision. I speak for no one else.

    I don’t believe in staying with bad technology. As I said earlier, if a FOSS supporter finds value in dotnet, s/he can work on similar alternatives. We already have alternatives, but you may want something closer.

    To finish off with the quote…

    Anyone can include MIT licensed code in their closed source products or link to LGPL code. I still don’t see what you point was of mentioning this in an attempt to put down my statement. Maybe I again wasn’t clear in explaining what I meant.

    Additionally, no one (just about) outside Novell’s (or Microsoft’s) top management is likely in a position to say which of their code (eg, GPL code) gets or doesn’t get licensed to Microsoft under alternative commercial licenses. No one can talk about the future either (not with certainty.. only with probabilities).[ I understand that you can't condemn Novell on what they might do in the future.]

    ..However, a dotnet app is easier for Microsoft to leverage directly, in terms of strengthening the value proposition of the Windows platform, then would be for applications written with Linux in mind.

    >> It should also be noted that Mono’s class libraries are also shared with DotGNU.

    Noted.

    FWIW, also, note that I don’t support the FSF’s dotGNU, but that project is a very small part of what they do.

    Eventually, it might be a good idea to support dotnet. A shame if that becomes the case.

    I’m optimistic though that despite dotnet, Linux will continue to move forward aggressively if not as fast. Microsoft can’t match the giving away of all source code and build tools. We will hopefully tap into that advantage much more and lead as much as possible with GPL type code (with distributed ownership).

    Microsoft will be able to change to all open source, but I won’t expect it without them first taking a huge hit financially and losing much control. At such time, they will be less of an impediment to FOSS, so it won’t matter. [It's unlikely they will change while retaining most of their strength, but it's theoretically possible, I imagine.]

  98. Jose_X said,

    September 18, 2008 at 5:47 pm

    Gravatar

    >> Will I help companies that work to sustain the monopolist closed source platforms? No.

    I am referring to *net* help (based on what conclusion I come to).

  99. Roy Schestowitz said,

    September 18, 2008 at 6:02 pm

    Gravatar

    I used to assist some SUSE users before the deal. Novell is not the one to help now. it empowers Microsoft, which fights Novell’s rivals (using the same source code).

  100. paul (the unverified) said,

    September 18, 2008 at 8:10 pm

    Gravatar

    Jose, what an articulate and intelligent response. You absolutely nailed it re the general tack of the discussion. That’s why I stopped commenting. I’m really impressed with Roy’s measured and respectful responses.

    Alex was completely strung out on a point of minutiae. We all understood what Roy is concerned about. It’s more than just a little obvious, but your explanation bears reading for those of us that are still naive about how Redmond operates.

    Occasionally, I’ve had to deal with people like Alex during my 20+ years in the business world as a manager. Their points might be valid enough, but they slow everybody down with their overwhelming desire to debate a point and prove themselves right. And in this case, I believe this mindset can put FOSS at risk because it comes off as if it’s rational and analytical when in fact it’s naive.

    In business, when dealing with a competitive threat, you have to be aware of possibilities. It is not a bad thing to be suspicious. This is not like programming where you can point to a section of code and say it’s good or bad and be certain of it because you can confirm it by testing.

    This is an environment of innuendo and implication with no testing allowed. You must achieve a very delicate balance between suspicion and confidence. You don’t have a nice safe well-defined dev environment in which to see if you’re ideas are sound. You can’t be certain if a strategy will pay off until the sales numbers are examined. And sometimes, then it’s too late.

    So when considering the FOSS community’s security re the world’s largest software manufacturer who has consistently used the Ex3 strategy, there is no way that I would encourage using mono. If someone can’t see how this is an attempt at polluting the FOSS environment, then they can go buy as many winDOHs licenses as they have money for.

    Thanks again, Jose.

  101. Jose_X said,

    September 18, 2008 at 10:04 pm

    Gravatar

    IMO

    AlexH many times takes a stance you could describe as developer-practical. It recognizes that there is lots of “free software” already and Novell is contributing more to the pile. [Smartly, AlexH also points out problems in other companies' approach as a way to divert attention from Novell. Some of it is very reasonable criticism, btw.]

    What I think is missing from this perspective is the view that the people who feel most threatened tend to take (I think): the pov of “users everywhere” and not just the pov of the lucky few developers (or users) that will be able to have all the source accessible to entertain themselves as they could possibly want/use in a lifetime.

    Those of us with what I am calling the “users everywhere” pov care much that Microsoft’s hold be broken. That FOSS is being created is secondary. FOSS sets the conditions of the field of play and is the source of great diversion (you may feel this way if you are a dev), but the primary driving factor is about end user (and developer) freedom across the board.

    Developers may be split for all time between the virtues of having open and closed source, depending on how they are leveraging each one, but end users that don’t make a living off coding likely would care much more about the empowerment they would have in a FOSS environment [most still aren't at a point to see this]. So most users likely much prefer to break monopolies, opacity, lack of control, lock-in, etc, if at all possible by having access to FOSS that works and is practical.. over simply knowing that FOSS exists but is out of reach to solve their immediate problems. A dev could have an orgasm with impractical FOSS, but most people would like to have the freedoms of FOSS as part of the software they “are stuck with.” It’s important that FOSS not be developer-fun only but user-practical as well. And note I am not talking about having sw that “just works” (like a Mac) as being the ultimate goal. I am specifically saying that the openness brings with it some very valuable items, but it must be usable (interop, quality, usability, etc). I suppose users want to have their cake and eat it.

    AlexH may not agree with this depiction, but that’s what I conclude when, in defending deals with Monopolysoft that help sustain Monopolysoft, one effectively defends the continued existence of Monopolysoft. Maybe AlexH doesn’t think Novell is helping Monopolysoft, but, besides ignoring certain types of arguments, we’d have to believe that Ballmer and staff have been having a lapse of clear thinking on their part for all of this time (considering they extended the voucher program). Maybe it’s a huge bluff by Microsoft, some might reason. Maybe FOSS is so powerful that a little eating of the pie before dinner won’t really hurt anyone very much. Or maybe Microsoft is so powerful that FOSS has no real chance for the time being. Or, more precisely, maybe Novell is such a small player that they can’t possibly do much to tilt the pendulum in either direction. Or maybe Microsoft, by embracing FOSS, will become good and wholesome and all problems and conflicts will be solved (never mind that their primary products have more lock-in, less transparency, etc, than ever). Maybe users really don’t care about the benefits of being able to rely on FOSS for any need. Maybe users want nothing more than software that works. [Never mind that this is a trap argument because closed software never really just works and solves your problems because humans are complex beings who among other things really value freedom of choice and control, two things taken away if any closed source vendor had his way.]

    AlexH and anyone else can do their thing career-wise, but it’s up to those interested in the “users everywhere” goals to draw attention to and challenge attacks on users everywhere. On some issues we are friends ..on others we are enemies. That is life.

    PS: Above I said, “but [FOSS] must be usable (interop, quality, usability, etc).” AlexH backs FOSS criticisms that could be seen to help improve FOSS. And AlexH backs “interop”. The criticisms he backs should be done tactfully whenever possible since doing otherwise can serve other purposes (criticism doesn’t bother me too much but context may call for a balanced explanation). More importantly, “interop” with Microsoft is an illusion or a short-term gimmick to help divert business in a way beneficial to Microsoft. It’s true that *maybe* Novell is not doing THAT much that is wrong, but I’d rather play it safe and not underestimate Microsoft and the inside knowledge and tactics they have at their disposal nor the demands stockholders can place on Novell at any point in time if Novell sets its table properly (they have added significant backing and resources to technologies that benefit Microsoft significantly in relation to everyone else). It is a shame because deep down I think some Novell/Suse folks and those on the other side really would like peace. But enough likely don’t care. Just like the Microsoft employees that want peace but overall are more than willing to continue contributing to Microsoft lock-in: developer friendly (and exclusive access high inducing) when you have access and make the bucks, but not much fun to ordinary users (including a threat to a free society and privacy).
    PS2: Darn, another reply that got out of hand in the length and obscurity department. It’s late for me tonight. Off to sleep I go.

  102. AlexH said,

    September 19, 2008 at 2:06 am

    Gravatar

    While it may be interesting to speculate about people at length, it doesn’t help the discussion.

    The basic point remains: the people criticising Mono here have very little idea of how it works, what it contains, and why people choose it.

    You can continue to hold the point of view of “It’s a poor man’s .net”, but that’s fundamentally mistaken, and you’re just going to get more frustrated as Mono take-up increases.

    I know it takes effort to come to a more sophisticated point of view, but that would then allow you to understand why Fedora are not happy with Moonlight but are happy to ship Mono.

  103. Roy Schestowitz said,

    September 19, 2008 at 2:26 am

    Gravatar

    I know it takes effort to come to a more sophisticated point of view, but that would then allow you to understand why Fedora are not happy with Moonlight but are happy to ship Mono.

    See this.

  104. zinka said,

    September 19, 2008 at 2:38 am

    Gravatar

    Alex,

    I don’t criticise Mono. You’re right, I know nothing about it nor I want to. What I do care about is to make it completely out of my little world, with a simple switch, make variable or whatever. I respect your point of view, I know you can respect mine.

  105. AlexH said,

    September 19, 2008 at 2:59 am

    Gravatar

    @Zinka:

    Absolutely; it’s entirely your choice what software you run.

    I don’t mind people choosing not to use Mono; that’s their choice. The only problem I have is with people who criticise the project unfairly, especially when they have a habit of bashing free software developers and applications not because of what they do but because of who they are. (the Novell OOXML vs. Sun OOXML hypocrisy is particularly obvious).

  106. Roy Schestowitz said,

    September 19, 2008 at 3:21 am

    Gravatar

    No, Novell supported OOXML in 2006. As a supporter, it helped Microsoft market it as a substitute to ODF.

  107. AlexH said,

    September 19, 2008 at 3:26 am

    Gravatar

    Right, and Sun’s code just dropped off the tree yesterday…

  108. Roy Schestowitz said,

    September 19, 2008 at 3:28 am

    Gravatar

    Timing matters. See this discussion. Novell gave Microsoft ammunition, which Microsoft paid them for.

  109. AlexH said,

    September 19, 2008 at 3:55 am

    Gravatar

    Yes, that’s a very interesting discussion where someone who knows OOXML very well tries to correct your misunderstandings and fails, because you’re unwilling to change your viewpoint to fit the facts.

    You can lead a horse to water, but you can’t make it drink. I don’t think I’m going to have much more success. Your beliefs about OOXML are based more in faith than anything else.

  110. Roy Schestowitz said,

    September 19, 2008 at 3:57 am

    Gravatar

    This is muchly related to your stance on Mono. Can’t you see that by following Microsoft companies cannot properly compete against it?

    OOXML is like Mono — technical and legal baggage…

  111. AlexH said,

    September 19, 2008 at 4:05 am

    Gravatar

    No, it’s nothing like my stance on Mono, the two things are entirely unrelated.

    I’ve made this argument numerous times before: the main reason people are able to use OpenOffice.org is not that it has great support for ODF, but because it has great support for .doc. Anyone who thinks that OOo ignoring the default format of the latest Microsoft Office is somehow going to convert users to ODF is living in cloud cuckoo-land.

    And, at the end of the day, this is an argument that has run its course. Office is getting some form of ODF support, which will not be perfect but will certainly be good enough, and ODF and OOXML will be slowly merged over the coming years. Microsoft is a member of the ODF TC and has already contributed to the spreadsheet work.

    Losing sleep over OOXML is really missing the point.

  112. Roy Schestowitz said,

    September 19, 2008 at 4:18 am

    Gravatar

    No, it’s nothing like my stance on Mono, the two things are entirely unrelated.

    It is very much related. It’s about doing things ‘the Microsoft way’ using their so-called “IP”.

    And, at the end of the day, this is an argument that has run its course. Office is getting some form of ODF support, which will not be perfect but will certainly be good enough, and ODF and OOXML will be slowly merged over the coming years. Microsoft is a member of the ODF TC and has already contributed to the spreadsheet work.

    We’ve seen a lot of talk, but not much walk. Based on what I’ve been hearing (accompanies by evidence), Microsoft will treat ODF badly. it’s all just a PR charade.

  113. zinka said,

    September 19, 2008 at 4:27 am

    Gravatar

    Roy,

    you may be right, but you may also be wrong. I won’t check it and Alex has his bias too. Plus it all depends on context and the interpretation. A method demonstrated by Jose above gives favourable results, please use it in your strategy.

    We all live in our little nice worlds and pretending we can read, check and prove more than trivial is unreasonable. If opponent wants to prove his reputability, he can not attack you personally, so you should mix citations and your impressions. Don’t talk about facts, that aren’t trivial. Maybe he won’t fool you but he will fool bystanders and even though you are right, the conversation will give a wrong impression to them.

  114. AlexH said,

    September 19, 2008 at 4:28 am

    Gravatar

    You said my stand was the same; I’m pointing out that it’s not. If you treat them the same, all power to you. You’re not competent to judge what my standpoint is, however.

    As for ODF; the TC’s mailing list and working materials are (mostly) public.

  115. Roy Schestowitz said,

    September 19, 2008 at 4:46 am

    Gravatar

    Yes, I can see the mailing lists because I’m subscribed. Microsoft was also participating in the W3c while at the same time not obeying it or bypassing it. It’s a case of keeping one’s enemy closer.

  116. AlexH said,

    September 19, 2008 at 5:43 am

    Gravatar

    I realise I’m in danger of HBT here, but you don’t think IE7 was a step forward in terms of support for web standards, and you don’t think IE8 is?

    I’m not going to defend their general development practice, but I have to take interest in IE because I’m a web developer. It could be much better than it is, but I’m not going to criticise them for the improvements they make to it to better support web standards – which is precisely what you’re doing it.

    If you want to criticise Microsoft, criticise them for not participating in WHAT-WG effectively, or for not supporting SVG. That’s fair criticism. Criticising them for using CSS vendor extensions isn’t, though; it’s nonsensical.

  117. Roy Schestowitz said,

    September 19, 2008 at 5:47 am

    Gravatar

    When can I get my -roy- extensions to HTML?

  118. AlexH said,

    September 19, 2008 at 6:02 am

    Gravatar

    Well, we’re talking about CSS not HTML, but you can have them today; they’re in the spec.

    But that’s not quite the point anyway. These “extensions” are features which are being designed by the CSS committee in the CSS 3 process. What would you rather Microsoft do:

    1. Not participate in CSS 3
    2. Participate in CSS 3 and use the CSS 3-specified names for the attributes
    3. Participate in CSS 3 and use vendor extensions.

    Pick one from three is easy, right?

  119. paul (the unverified) said,

    September 19, 2008 at 8:58 am

    Gravatar

    AlexH,

    As you’ve pointed out and so many of us have agreed, “it’s about choice.”

    If you choose to accept anything from m$ or Novell, that’s your option.

    I choose to be suspicious of anything associated w/Redmond. I’ve watched their tactics over the years and I’ve watched as they’ve applied the Ex3 strategy. In my opinion anything that’s associated with them should be suspect. How many times do we have to watch them destroy another company or pollute another piece of software before we become cautious?

    My background is in management mostly in the marketing area with a great deal of involvement in a wide range of technology. I’ve seen these methods used first-hand by competitors.

    Roy’s suspicions and criticism are completely justified and if you don’t agree, I guess there’s no point in prolonging this comment thread.

    As you’ve pointed out, you’re a developer. As I’ve said before, I’ve worked with people like you during my career. You have a very well-defined and analytical thought process. However, what Roy and I and others are concerned about exists outside that realm.

    This is not a well-defined area. Nobody comes right out and admits that they intend to pollute a developer base or they intend to freeze the market.

    This is about competitors’ business methods over a period of time. Things might appear appropriate on the surface, but if a person has been paying attention to history then one has a better basis for forming an opinion about someone else’s intentions.

    I think this is one of those right-brain/left-brain things.

    If you like Novell and want to support their products, please do. If you like things like mono regardless of their origins and you want to use and promote them, please do. Once again, it is about choice.

    The criteria that you use to qualify whether or not something is acceptable might make you feel like everything is safe and open, but I’ve seen enough that I’d prefer to keep things like mono and companies like Novell at arm’s length.

  120. Roy Schestowitz said,

    September 19, 2008 at 9:04 am

    Gravatar

    AlexH,

    When you find the time, I urge you to read how Microsoft planned to destroy Java. Yes, Jim Allchin wanted to “piss” on Java.

    Development experts suggest that in the near future there will only be Java (GPL) and .NET (multiple-times convicted monopolist). Whose side will you embrace?

  121. AlexH said,

    September 19, 2008 at 9:06 am

    Gravatar

    @Paul: please don’t presume to know how my thought processes work.

    This isn’t an issue of choice; this is an issue of honesty. I’m not arguing people should use Mono; I don’t really care what decisions other people make.

  122. AlexH said,

    September 19, 2008 at 9:10 am

    Gravatar

    @Roy:

    I know the history of Java, you don’t need to teach me to suck eggs.

    I don’t know which “development experts” you’re quoting, but it’s not going to be a choice between Java and .net any time soon. When it is, I can answer that question in a non-hypothetical manner.

    In the meantime, care to enlighten us as to whether or not MS should implement web standards?

  123. Roy Schestowitz said,

    September 19, 2008 at 9:14 am

    Gravatar

    I answered that question days ago. You’re going around in circles. :-)

  124. AlexH said,

    September 19, 2008 at 9:14 am

    Gravatar

    You answered it in a self-confessed sarcastic manner. Is that your actual answer?

  125. Roy Schestowitz said,

    September 19, 2008 at 9:27 am

    Gravatar

    Later came a more serious answer.

  126. AlexH said,

    September 19, 2008 at 9:33 am

    Gravatar

    A serious answer which didn’t address the actual question.

    You talked about “Linux is a cancer”, anti-Linux advertisments, their pretend commitment to web standards, Silverlight, racketeering, and called me “nativ” for believing Microsoft (which I don’t).

    None of that is in dispute, though.

    The question is about the actual implementation. You criticised them for using CSS vendor extensions. What should they be doing instead?

  127. Roy Schestowitz said,

    September 19, 2008 at 9:46 am

    Gravatar

    I didn’t call you “naive” (I fixed the typo that I hadn’t noticed). I wrote:

    “You would be naive, Alex, to believe whatever Microsoft tells you. To make matters worse, you try to spread this ‘trust’, imposing it onto others.”

    It says would be. I am not so impolite.

  128. AlexH said,

    September 19, 2008 at 9:55 am

    Gravatar

    It says “would be”, but then implies “are” because you then accuse me of trying to spread it and impose it on others.

    You’re still avoiding the specific question on CSS web standards.

  129. Jose_X said,

    September 19, 2008 at 3:25 pm

    Gravatar

    >> But that’s not quite the point anyway. These “extensions” are features which are being designed by the CSS committee in the CSS 3 process. What would you rather Microsoft do:

    From the blog http://blogs.msdn.com/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx
    >> As you may know, all browsers have a set of CSS features that are either considered a vendor extension (e.g. -ms-interpolation-mode), are partial implementations of properties that are fully defined in the CSS specifications, or are implementation of properties that exist in the CSS specifications, but aren’t completely defined. According to the CSS 2.1 Specification, any of the properties that fall under the categories listed previously must have a vendor specific prefix, such as ‘-ms-’ for Microsoft, ‘-moz-’ for Mozilla, ‘-o-’ for Opera, and so on.

    My question then is, are extensions part of 2.1 or 3.0?

    [I'll look it up if I have to, but I figured you'd know.]

    If it’s from 3.0, then how can it be justified to allow 2.1 to have them unless 2.1 doesn’t exist yet and gets created with the extensions work of 3.0 committee.

    [Again, I'll look it up if I have to, but I figured you'd know.]

  130. AlexH said,

    September 19, 2008 at 3:29 pm

    Gravatar

    @Jose:

    The way that CSS works is that new features are kicked around in the working group, and they put together a draft specification. That’s where CSS 3 is at right now.

    Vendors are trying to implement those features, but they’re working to a draft spec., so they can’t just implement them as in the spec. Therefore, the use the vendor prefix, so that people can test the compliance with the standard without actually conflicting against the standard.

    Pretty simple, really.

  131. Baby In The Bath Water said,

    September 19, 2008 at 3:42 pm

    Gravatar

    The same happens with IETF draft specifications (which is where I’m involved).

    Note: this comment was posted from Novell’s headquarters.

  132. Roy Schestowitz said,

    September 19, 2008 at 3:45 pm

    Gravatar

    isn’t Wilson there to stuff the committee, so to speak?

  133. Jose_X said,

    September 19, 2008 at 4:05 pm

    Gravatar

    >> The basic point remains: the people criticising Mono here have very little idea of how it works, what it contains, and why people choose it.

    You are speculating about people. Heed your own advice:
    >> While it may be interesting to speculate about people at length, it doesn’t help the discussion.

    Comedy aside, you aren’t saying anything here except the greatest of generalities. Can you point to something said specifically that is off (I’m thinking of things *I* may have said).

    BTW, what is mono technically beyond a VM with a general language API (ie, a mapping from a canonical rep to each of the supported languages). Yes, there are details to the VM to allows the various languages it supports to be supported. Yes, there likely is a comprehensive API not too dissimilar from what you find in the Java world, except possibly with the heavy Microsoft Platforms bias and less developed. But in a nutshell, what am I missing? I have not looked at mono, but I am familiar with J2SE at least whatever version was out some years ago (before the 1.5/ 5 makeover). I’m also familiar with the server side but less so (again, the versions of some years’ back). You can use this background info on me as a reference for a comparison if you want and can do so.

    Can you see how the Parrot VM might (not) be a suitable base to accomplish most of what mono accomplishes? [Just gloss over their PVM Faq and maybe read a bit more. That's mostly what I know about parrot.]

    Can you compare and contrast with the JVM? No need to go into the finer points of decisions made to support feature X unless feature X is that much of a killer feature.

    Why do people use it, you ask? Well, some like the technology. Follow a given rule for you language of choice (ie, the dev platform/tools do it for you), and you get automatically supported bindings for every single language in a well defined way. That is nice. It saves the manual process of creating bindings for perl, python, etc. That’s not that much of an issue in the large FOSS world, but it would be for a small outfit. And we certainly have patterns for creating the bindings. If we have patterns, those doing this likely have automatic binding generators.

    OK, there might be neat support for some other things (please specify so that I don’t have to guess). There may be gains in space and or efficiencies somewhere.

    You usually aren’t going to beat C in terms of the end product (using support tools, many eyes, etc), but that is more time consuming for a first draft. Sometimes that is not a problem because the community will later on build the heavy duty version (to follow the scripted short-term solution).

    I am not criticizing dotnet technically (again, not having actually looked at it and going only by the glossy brochure). But why not support a different VM? Why was this not done years ago (since now mono is a bit developed)? I have heard the arguments that we need to keep up with Microsoft and “no longer will Linux be second hand citizen”? But really, why dotnet? Did we go for the Microsoft hype from a few years’ back? Did those that worked on it already have a business model in mind (perhaps a la current Novell path)? Were those that worked on it unable to resist the temptation of an already laid out set of specs and/or the attraction to following Microsoft? Why?

    Please don’t wave us off on how we don’t understand mono if you can’t answer these basic questions. I am not trying to put anyone on the spot, but it is a little bothersome to be waved off with nothing to go on. Just say business is business if you want to. I say Novell can do its thing, and I can boycott or maybe not. No prob here.

  134. Jose_X said,

    September 19, 2008 at 4:08 pm

    Gravatar

    AlexH, you didn’t answer the question I wanted answered. 3.0 is not 2.1. The blog says that the prefixes are being added to 2.1. Will this be legal as the ms blogger stated or not.. in your opinion? [I may have to look up 2.1 and check it for myself I guess.]

  135. AlexH said,

    September 19, 2008 at 4:13 pm

    Gravatar

    @Jose: you misunderstand the point.

    CSS 3 is in development, and these are the features that they are developing. CSS 3 is not a finished specification, though.

    The vendor prefixes are part of the CSS spec, and ensure that they can add these new features without conflicting with the CSS specification. So with the vendor prefixes, they are valid CSS 2.1. But they’re developing CSS 3 features.

    They’re “extending CSS 2.1″ to the extent that they are developing CSS 3 features.

  136. AlexH said,

    September 19, 2008 at 4:23 pm

    Gravatar

    @Jose:

    I’m going to try to address the main point of what you’ve written. Let’s talk in terms of Java, since that seems to be more readily understandable to everyone.

    You have Java the language, Java the bytecode, and a standard library.

    Now, these are effectively “interfaces” but they don’t make any implementation decisions. You have the JVM as Sun ship it. You have gcj. You have the Android system, which is a fundamentally different design being stack-based rather than register-based. And obviously, you have Mono, which can run stuff via IKVM.

    Parrot could well be sufficient to run .net; aside from introspection features (which Java only got recently), you could easily have an IKVM-style setup which allowed it.

    At the end of the day, the actual VM engine doesn’t really matter one jot. Mono has two VM engines of completely different designs alone! And the main one compiles code into native code as Hotspot does.

    Virtually none of the interesting stuff is the platform code. If you haven’t already, I highly recommend cgwalter’s essay on a single free software VM.

  137. AlexH said,

    September 19, 2008 at 4:24 pm

    Gravatar

    I should also add that Parrot is not likely good enough for a few reasons.

    Mono is a good enough VM, Java is a good enough VM, and the thing in Android is probably good enough.

  138. Baby In The Bath Water said,

    September 19, 2008 at 4:33 pm

    Gravatar

    I can’t say why the Mono team decided to implement .NET, but one possible reason they did that rather than inventing their own wheel is because inventing your own wheel is quite costly.

    The amount of research and development that went into designing .NET was huge and Microsoft had a lot of the best minds in the field working on it. Does the Mono team have those kinds of things going for it? Probably not.

    Besides having a a design to start with by implementing the .NET specifications, they also get compatibility with Microsoft’s .NET (which is a bonus). There are a lot more Windows developers out there than there are Linux developers. It seems to me that if it is made trivial for them to write applications that work both on Windows and Linux, then Linux users win because they get a wider selection of software to choose from.

    The biggest reason a lot of people I know stick with Windows is because of the apps. They won’t even go Mac even though they love the interface (ugh) because the software they need doesn’t exist for Mac.

    As far as “did they fall for the microsoft hype?” – I can’t speak for why the Mono team started developing Mono for certain, but from what I’ve read – they chose to implement it because they got tired of writing large applications in C and were in search of a better platform. At the time, Java was not free (and as I discovered a while back, some of the Mono developers were the creators of the GNU Classpath project), so it seems likely that Java had been considered.

    Why didn’t they use the Parrot VM? That’s a question you’d have to ask the Mono team, but quite possibly they weren’t aware of the project; maybe the parrot vm wasn’t a good fit (at the time?), etc.

    Note: this comment was posted from Novell’s headquarters.

  139. AlexH said,

    September 19, 2008 at 4:43 pm

    Gravatar

    @Baby: Parrot has a very specific design better for Perl et al., and until recently every other VM had pretty poor support for dynamic languages.

  140. Jose_X said,

    September 19, 2008 at 4:48 pm

    Gravatar

    AlexH, so “extensions” are a part of CSS going way back. OK. np

    http://www.w3.org/TR/CSS21/syndata.html
    “Section 4.1.2.1 Vendor-specific extensions”

    “Keywords and property names beginning with -’ or ‘_’ are reserved for vendor-specific extensions.”

    This section itself doesn’t describe everything (eg, conformance for an implementation is not addressed here).

    Also, note the following:

    “Authors should avoid vendor-specific extensions”

    So Microsoft is doing what they have to do, according to the spec, in order to add their own “keywords” or “property names” (assuming I’m not missing anything).

  141. AlexH said,

    September 19, 2008 at 4:51 pm

    Gravatar

    So Microsoft is doing what they have to do, according to the spec, in order to add their own “keywords” or “property names”

    Sort of, but still not right. They’re adding CSS 3 properties for people to test. They cannot add those with the CSS 3 names because that would conflict with CSS 2.1.

    So, they prefix them with a vendor code: this allows them to develop CSS 3 features without conflicting with existing CSS.

  142. Jose_X said,

    September 19, 2008 at 5:11 pm

    Gravatar

    AlexH, you didn’t describe anything really, but thanks. As long as you don’t attack people here for not understanding what you yourself did not come close to explaining, I have no problem.

    FWIW…

    I have no clue what IKVM is (I’ll have to look it up).

    You gave absolutely no reason why parrot can’t work (as you mentioned). It is free software so could be changed, but I won’t buy it until I have a reason. I’ll take a look at the article you linked to see if it gives the clue you are withholding.

    Point out otherwise, but I believe Java has had introspection since before dotnet existed or at least it has since version 1.2 if not earlier (not sure if dotnet existed then). If you are correct wrt to dotnet’s timeline (I don’t much know the history of dotnet), certainly Java (the standard and Sun’s version) has at least had introspection for something close to a decade and almost certainly before mono got it implemented.

    >> Now, these are effectively “interfaces” but they don’t make any implementation decisions. You have the JVM as Sun ship it. … And obviously, you have Mono, which can run stuff via IKVM.

    You are confusing me. You can’t mix VM from different unrelated standards. Maybe what you mean is that you can implement one VM to work over another, but I doubt dotnet’s VM follows the same definitions/interface as Java’s one (I don’t know dotnet).

    Anyway, I was expecting more from you here given how you said we didn’t understand dotnet/mono. If you don’t want to share, just don’t criticize. As far as anyone here can tell, you don’t have too much of a clue yourself beyond vague generalizations. [I'm just saying based on what you have posted -- isn't that how you judged us?]

  143. Jose_X said,

    September 19, 2008 at 5:18 pm

    Gravatar

    >> Sort of, but still not right. They’re adding CSS 3 properties for people to test. They cannot add those with the CSS 3 names because that would conflict with CSS 2.1.

    When you say something is not correct, you should point out how it is wrong.

    I think what you are saying is that Microsoft is adding as their extensions CSS 3.0 trial properties. This doesn’t contradict what I said. It simply adds new information.

    For those following along, AlexH is saying that Microsoft’s extensions are innocent features-in-testing from the yet to be fully specified/ratified CSS 3.0.

    So to repeat, Microsoft is doing what they have to do to change CSS 2.1 while not violating the spec.

    AlexH claims that the (only) extensions they are adding are items being considered for CSS 3.0 and (presumably) nothing else.

    If all of this is true, there is at this point not much to get upset over unless you want to practices ;-0.

  144. Jose_X said,

    September 19, 2008 at 5:58 pm

    Gravatar

    >> I can’t say why the Mono team decided to implement .NET, but one possible reason they did that rather than inventing their own wheel is because inventing your own wheel is quite costly.

    Microsoft is not an ordinary player. Re-inventing their wheels, especially when they wave patent threats around and work from a closed source monopoly position, is a very good idea. We re-invent wheels in real society when necessary. You just don’t want to do it when the existing wheels will do.

    >> The amount of research and development that went into designing .NET was huge and Microsoft had a lot of the best minds in the field working on it. Does the Mono team have those kinds of things going for it? Probably not.

    This excuse is weak unless you don’t mind using that wheel. People reinvent wheels all the time. Microsoft leveraged much existing material. Don’t overestimate their minds. FOSS is not supposed to work, remember — a ragtag bunch of hippies scratching themselves — but it does.

    >> Besides having a a design to start with by implementing the .NET specifications, they also get compatibility with Microsof’s .NET (which is a bonus)

    Not really possible.

    Not to mention this is inconsistent with Novell’s (inaccurate) position that they are achieving interop because they are working closely with Microsoft, unless the mono people never expected to achieve (essentially impossible) interop except through special deals and contacts with Microsoft. If the mono people believed this, then this is as wonderful a reason as any to reinvent the wheel unless you want to run a Microsoft rat race (and risk much time and money much as IBM did with OS/2). If the mono people don’t believe this (ie, if they believe that you *can* achieve interop straight from following the spec), then they (would be fools and) would be contradicting Novell’s position that they have an advantage over all other implementations because of the deals they have with MS.

    >> It seems to me that if it is made trivial for them to write applications that work both on Windows and Linux, then Linux users win because they get a wider selection of software to choose from.

    Again, interop is not achieved from the spec (ask Novell). You need to have access to the entire source code (and then only with the assumption there are no bugs).

    The reality is that full interop is not really possible but some % of it is possible. Of course, if you think Microsoft will help that percentage be very high and cover everything of significance or else offer money to the customers when mis-matching occurs, I have some land in Florida….

    When FOSS apps fail to interoperate, have bugs, etc, you have the source code right there. There is good faith among most FOSS developers (not that faith is needed when the source is right there). These things are not only not true with Microsoft, but Microsoft has every incentive to be sloppy and break with the “best” interpretation of any given standard since that would help secure their monopoly position.

    Working on mono seems to me as practice for trying to get a job with Microsoft. The whole premise to trying to interop with Microsoft is broken.

    “What about OO.o .doc formats,” AlexH will say? That is most certainly not a perfect or complete conversion by any means. Fortunately, for adequate subsets of MSO, it can do a good enough job.

    But there is a real difference. If text is a little off on the page, you can still read that and fix it perhaps. You may not even notice in some cases.

    If a bit is off within a long instruction stream, the whole system might come “crashing down” (ie, interop broken perhaps horribly badly leading to nothing useful).

    Now, it’s very easy to be off by a bit somewhere, especially when one side of the conversation has real interests in having those bits be incorrect here and there.

    Also, the bit thing also can apply to documents to the extent off-by-a-bit can lead to complete garbage (eg, change a single random bit on a .tgz file and likely you will get garbage). To this end, OOXML might be a format more “properly” designed to make it easier for such garbage to result from such a small error. OO.o tries to find all the things it needs so that .doc work. In some cases, they fail a little, in others (probably more so with macros and instructions), they fail much more.

    [For those not following, "bit" is the term used to describe a single on/off entity within a computer.]

    >> Why didn’t they use the Parrot VM?

    I think parrot was new as well, but the question isn’t why didn’t they use parrot, it’s why didn’t they join a group to build parrot instead of starting mono? Of course, you already gave a partial response to that (>> too much trouble to re-implement that wheel).

    Don’t mean to be feisty in this post, btw, or to appear to be attacking you. It’s a bit of frustration on my part. The interop thing is exactly why people spend lots of dollars and time playing a never-ending game of catch with Microsoft (a Rat Race).

    Deal with a closed source monopolist? No no.

    [Mono can be useful without interop with MSdotnet. I don't deny that. In earlier posts, I explained why I wouldn't take the mono path, but different strokes for different folks. ..And maybe in the future some day I will be using mono! .. ah-ah- ah ahh aaaachew... sorry.]

  145. Baby In The Bath Water said,

    September 19, 2008 at 6:43 pm

    Gravatar

    Mono does, in fact, achieve interoperability. I have personally run .NET apps written for Windows under Mono on Linux and they work. No recompile or anything.

    You don’t actually need source code to get compatibility, you simply need to write unit tests and make sure they work on both systems.

    From what I’ve seen, Mono has a LOT of unit tests, more than any other Free Software project I have seen.

    Note: this comment was posted from Novell’s headquarters.

  146. Jose_X said,

    September 19, 2008 at 7:21 pm

    Gravatar

    >> You don’t actually need source code to get compatibility, you simply need to write unit tests and make sure they work on both systems.

    Don’t be silly. Why does having 10 unit tests matter? Isn’t 1 enough? Maybe 1000000 is better? Why?

    A unit test simply shows that that particular test works. It says nothing about what wasn’t tested.

    More importantly, however, is that you can’t measure the behavior on Windows because it is not transparent (unless you are running it so that every single instruction is trapped, recorded, analyzed, compared, while every single memory byte and byte on the drives are similarly recorded and tracked for each such instruction).

    I know you did not do this. Possibly a “Hello World” program would take at least millions of such (eg) x86 instructions. Not to mention that hardware on the PC bus would also have to be tracked (including opaque graphics cards and motherboard chips etc).

    Look. I am saying something that is not supposed to be an issue among friends, but it is when Microsoft gets together with hardware vendors and chooses to mess things up. And they don’t have to get together with any hardware makers. Windows is plenty. Windows is opaque unless you literally do what I just described above to in effect reverse engineer Windows. This is not a task humans or their computer programs are likely to do anytime soon for such a large blob that is an OS like Windows. [How well we succeed depends on how much or not Microsoft wants to hide their tracks and succeeds at doing so, though, in any case Windows is a monster of a program in size and complexity.]

    If I have lost you, let me try again with an example.

    How do you define “something works”? You can look and study the code and believe that X should happen. Then you might observe X on both platforms and conclude that the two implementations work the same. And perhaps they mostly do.

    But what if when you study the code, you think X yet on Windows Y happens which is behavior that is subtly different, eg, the registry is modified so that on next log in you app fails to work. Maybe you observe Y as if it were X because you weren’t measuring too carefully or tracking instructions, memory, nor the registry (btw, you can’t track memory the OS occupies on x386 and above unless the OS allows you and no OS does this.. or if you run within the OS).

    I can re-explain if you want. Just ask.

    This crazy things I am talking about matter because it’s ridiculously easy for Microsoft to pull off (just by being sloppy, in fact), and means that your app might end up doing or lead to anything in reality (eg, phoning home to Microsoft behind your back). Another example, your next OS call to allocate a memory buffer simultaneously corrupts memory you were already using.

    We can achieve some level of interop (a high percent), especially, if there is no intelligent/concerted effort to sabotage. Otherwise, you can’t really know/measure.

    If you trust Microsoft for all your applications for all time, go ahead. I do not. I don’t even trust their (superhuman) ability to code bug free or make specs that are completely unambiguous, consistent, fully specified, etc. I certainly don’t trust their intentions or business plan.

    You are talking about interop at a very high level for toy programs. The reality is that MS lock-in will never be solved except in pieces and even then we can’t be sure. We play the rat race and our software is never quite just right with their stuff. This is especially true for complex programs.

    So in practice things might work most of the time “good enough”, but that can change the moment Microsoft feels threatened (and they always feel threatened). It’s especially easy to thwart your app in predictable ways if you reveal your source. Also, Microsoft likely always gives you something subpar so that you can’t compete on an even field with their integration-apps.

    As for performance, that is not really an issue for toy apps with today’s computers, but you might be using a lot more CPU than you should.

    Was your app a toy? Did you even test everything you can see? Do you know if the exact input string “http://www.google.com/X/Y/Z” won’t translate to “http://www.microsoft.com/A/B/Z”? Have you tested every possible input string? .. I am just getting started.

    If you insist you can have interop, I did not make myself clear above, but I don’t know what your background is so don’t know how much more to explain without you asking me first for more examples.

    >> From what I’ve seen, Mono has a LOT of unit tests, more than any other Free Software project I have seen.

    I have no idea, but surely you haven’t tested everything under the sun. For arbitrary inputs (eg, mouse clicks on screen or typed strings), this would constitute an infinite set).

    Mono might work if you guys separate from Microsoft’s lead. This way, you can at least have as much confidence as you want/need whenever you run the app over a FOSS platform. You would also find out quickly if Microsoft will sue.

    Try it and see if Microsoft comes after anyone. Ditch Windows, for security, if for nothing of what I have said in this reply or if you don’t care about privacy.

    BTW, I don’t pretend that FOSS has behavior (especially on a desktop) that anyone is likely to completely predict, but being able to check up and verify or being able to find the problems is priceless.

    As you can see, for practical “good enough” results, Microsoft platforms are usually fine.. at least until it’s time for an upgrade.

    [I *may* not post again until earliest tomorrow.]

  147. Roy Schestowitz said,

    September 19, 2008 at 7:41 pm

    Gravatar

    I really love the example which illustrates the impossibility of interoperability. This term, “interoperability”, is becoming loathed by more and more people because, unlike standards, it strives for approximation. It’s the best it can achieve and it typically involves just two parties, thus limiting the space of competition to just a colluding few. If Mono needs to rely on this thing called “interoperability” (OOXML has the same problem), then it’s doomed to begin with. It’s about one leader’s implementation (Microsoft) and a bunch of followers begging for a rope.

  148. Dan O'Brian said,

    September 19, 2008 at 8:18 pm

    Gravatar

    1. As Jose has mentioned, Mono is not useless w/o interoperability. It can stand on its own 2 feet.

    2. Jose: I’m guessing what BITBW was referring to was that you write a bunch of tests that check the behavior of something in a bunch of different situations. From that, you can deduce how something works. You then go and implement something else with the same API, and you can very effectively mimick the behavior.

    This is called reverse engineering.

  149. Jose_X said,

    September 19, 2008 at 8:52 pm

    Gravatar

    >>This term, “interoperability”, is becoming loathed by more and more people because, unlike standards, it strives for approximation.

    The people wanting a good standard would strive for a quality product capable of allowing perfect interop merely through the study of the standard, at least this would be true in the ideal case (eg, no implementation bugs, no spec ambiguities, etc).

    I don’t believe English can be made that precise in general. OASIS is working on testsuite specs for ODF (tests are useful if on top of a solid standard). OO.o, KOffice, … source code are available to enable interop with those particular products.

    Does MS reveal source code? Well, they should reveal some for $$, but even here there is no way to verify what they showed you is what they ship. You also don’t have access to the source code of their toolchain. This means deviations in their compilers from the standards will lead the code they showed you not to work as you would expect. Finally, I am assuming good faith on their part since they can play many sorts of games even through revealing source.

    Everything about OO.o is open source (all functions calls all the way straight into the heart of the kernel).

    Everything about MSO carries a red flag, from the lack of source code all the way to the expected motivations of the monopolist vendor.

  150. Jose_X said,

    September 19, 2008 at 9:14 pm

    Gravatar

    >> 2. Jose: I’m guessing what BITBW was referring to was that you write a bunch of tests that check the behavior of something in a bunch of different situations. From that, you can deduce how something works. You then go and implement something else with the same API, and you can very effectively mimick the behavior.
    >> This is called reverse engineering.\

    And my answer was that you can only feel “good enough” comfortable about what you specifically tested. You can take your chances with everything else.

    In practice, ie, among friends, you can get great coverage if you know what the behavior is supposed to be and you test boundary points and various key data in general.

    With Microsoft software, the spec is not what their software is supposed to do. What is their software supposed to do if not the spec? What their software is supposed to do is something only Bill Gates and I know, but I’d have to shoot you if I told you ;-)

    Let’s talk a second about continuous well-defined (etc etc) math functions vs. a computer program. If you know you have a linear function in mathematics, you need only know two test points and then you know everything. That is because math defines a line perfectly that way. A discrete computer program OTOH can produce any arbitrary map from its inputs to its outputs. It’s the math equiv of an arbitrary mapping from an infinite domain to the corresponding infinite range. This means that if you don’t measure every output for every input, you could leave holes behind that don’t conform to the model you are reverse-guessgeneering. In other words, a “line” function in the computer can plot all X’s to the proper Y’s except for 34.32. Why? Because that happened to have been the value the developers of the program decided to use for trap/secret bypassing backdoors or to execute a set of secret extensions… or to create rarely occurring misbehavior for the interfacing third party app… or because of a bug.. because they want voting tallies to reverse and start counting backwards when some point is reached.. why? I don’t know, but the point is that anything like this can happen.

    If Microsoft could be assumed to want to follow the spec at all costs, we would not be here. They would not be in court every day of the year, and they also would not have a monopoly. Bill Gates would have much less money. ETC.

    Show me a single third party product you think works identically to any specific MS product in every single respect at all times. .. oh, time! I was just looking above at space mappings at a single point in time. You mean that the “tricks” and traps can change location and behavior over time, too? [BTW, list such an app for the record, but I won't make an attempt to use it to disprove you. Surely, you can find 10 or 20 such clones, right? Surely, reverse engineering is an art.. I mean, a science many practice, right? I don't think I can find or create such apps, but I think you have that magic reverse-engineering touch. I look forward to your submission. Surely, people would not keep trying unless several had succeeded before among the thousands that had tried.. unless of course there is money involved for continuing to try.]

  151. Jose_X said,

    September 19, 2008 at 9:50 pm

    Gravatar

    >> Show me a single third party product you think works identically to any specific MS product in every single respect at all times.

    To be fair, I should ask, “once we find a mistake, can we fix it?”

    With FOSS we also will find mistakes (in many cases anyway), but once the bug is diagnosed, we can fix it and usually very quickly. We have the source. This is important not just to find little bugs but to verify that very strange things or violations are not being attempted or lie in wait (eg, the closed source “time-bomb” that is not disclosed and maybe does something even more nasty).

    That reverse-engineering sometimes does a good enough job (within a limited context), and many times this is not even true, is because developers don’t usually spend time crafting tricks in their code or into the toolchain. Microsoft has a multi-billion dollar per month revenue set of monopolies to protect. They have also shown to have gotten into that position because of their willingness to stretch the law and the boundaries of ethics. Use your imagination to see what they might do with some of that money. Consider too that it only takes a few developers working at a high clearance level to adjust the code the others do (or perhaps automatically through the in-house tools).. “to foil reverse engineering of our IP.”

    On boycottnovell, I’ve seen a 1988 quote of Gates apparently wanting the OS to isolate third party apps for misbehavior. Back then computers, the Internet/networking, Microsoft’s software, their revenues, their size, etc, were a small or even tiny fraction in magnitude of what it is now. I think this was still the large-floppies-in-a-bag world with sparse online connectivity and low bandwidth. Microsoft was very small.

    Fast forward to today many years and experiences later. Much has changed, including what is at stake for Microsoft and the many times they have managed to have their way with the law. Even simply coding in bugs is enough to foil reverse-engineering if the bugs are well placed (not to mention that bugs, ambiguous specs, tired employees, etc, offer plausible deniability).

    It’s very easy to foil apps if you control the OS. I might eventually get to doing a distro that does just this (but with source code).. it tracks you, it collects data, it gives variable quality hooks to the apps isolating each app individually.. Then maybe have people use the distro and through online updates change the behavior based on some secret formula (ie, “which project forums treated me well”). … :-P

    The problem:
    (a) Do we know what the software is supposed to be doing? Yes for FOSS or honest closed apps. No for Microsoft sw.
    (b) Is there an active effort to foil spec’d behavior and reverse-engineering? No for FOSS or honest closed apps. Yes for Microsoft sw.

    This is why testing and reverse engineering is likely to miss many problem areas. And Microsoft has lots of money to help build their “protections of IP.”

    Also, in practice simply by keeping secrets and using other levers, Microsoft can come out ahead. They likely reserve their greatest tricks when they target specific apps or groups. I can’t stand competition where you are only safe so long as you don’t pose a threat or aren’t doing a very good app.

  152. Jose_X said,

    September 19, 2008 at 10:38 pm

    Gravatar

    Simple examples of plausible deniability.

    Consider a company, Monowallow, that controls servers of a certain type, builds corresponding client apps that compete with third party client apps, and publishes the protocol specs to the server-client interactions.

    A particular call/message accepts various parameters including a “quality” parameter that has a few values, eg, OPTIMIZE_FOR_SPEED, OPTIMIZE_FOR_FAIRNESS, OPTIMIZE_FOR_PAYLOAD_SIZE. There are also two private/undisclosed values used internally and a few repetitions of these but using older slightly buggy implementations within the server (for “backwards compat”).

    The OPTIMIZE_FOR_FAIRNESS is defined in the spec, but it’s a bit ambiguous. Examples of use are given, but this doesn’t solve the confusion. Most third party devs avoid this value.

    Monowallow internal devs use the 2 undisclosed calls. For these, the semantics and range of values for the other parameters also change, perhaps subtly. Maybe a “size” value is actually a shifted and scaled value and maybe a few such values map even more strangely. Undisclosed values give performance boosts, new functionality, etc.

    The internal devs also use a set of C macros that map to the integral values; however, there is a “typo” in the macro files used internally relative to the published spec. The internal developers always use the macro names so never know the actual numbers except in passing when they debug (or the tools they use hide the numbers). The various levels of macro indirection led to the bug/typo so that the OPTIMIZE_FOR_FAIRNESS is implemented as OPTIMIZE_FOR_SPEED and vice-versa. This means the calls will not do what the public api say, yet virtually no one, even internal devs, will realize this. Since these are optimization hints, it’s not a big deal except for perhaps servers under pressure. Here using the wrong optimization will have some noticeable penalties. Those doing reverse-engineering along with profiling may catch this bug (and maybe keep it as a company secret for market advantage). Others will likely try to use OPTIMIZE_FOR_SPEED frequently but instead get the performance characteristics of the confusing OPTIMIZE_FOR_FAIRNESS and never realize it.

    Also, you can use your imagination as to why there will be good and buggy versions of the same code in there. The buggy was simply bit rotted in some cases. Maybe a small boundary error occurs in the other (so some packets might be dropped unnecessarily). Maybe some of the shipped developer tools (Monowallow also sells devel tools) map to one set of quality implementations or another based on who is receiving the tools (eg, a tier 2 or tier 3 customer or the community vs the deluxe tools).

    Maybe some of the values in the actual published spec map to buggy implementations, so that by default everyone uses a less than efficient/correct call for some values. Maybe the error is only noticeable in conditions that occur infrequently. Also, we have old API vs. the new and improved API. The old have problems to discourage use (bit rot might mean that only 16 bit sizes are used where nowadays you are likely to find a larger size). OTOH, the new API’s might do DRM.

    Also, the undocumented values used internally lead to superior performance but only for internal client/server interactions since these server calls make assumptions that only client apps made by the internal developers would also make (eg, info known already from the OS or from out of band from initialization). Others that try and use these calls (eg, they heard from a friend who.. or they were reverse-engineering and noticed better performance at some time) likely will get corrupted data at some point.

    There is a ton that can be done, but this should give a flavor of how easily it is to naturally find ways to give handicaps to outsiders and benefits to insiders while partly hiding your tracks and even having plausible deniability should some of this ever get discovered.

    Really, this are small items. Anything can be done when you have closed source and put decoys and errors in place.

    “I dunno. We have sloppy devs.”

  153. Jose_X said,

    September 19, 2008 at 10:51 pm

    Gravatar

    >> 1. As Jose has mentioned, Mono is not useless w/o interoperability. It can stand on its own 2 feet.

    I haven’t used it, but I don’t see why it wouldn’t be possible at least at some point.

    I have also said that I personally would not tax my brain with MS protocol specifics. mono follows Microsoft and so helps grow the dotnet ecosystem where advantage goes to Microsoft in many ways. This is the main reason I would not use mono but would instead opt for a different set of specs if I ever wanted to use something like mono.

    Let’s hope someone tests Microsoft by forking mono and then diverging from dotnet. I would welcome such success since eventually that would mean I would have yet another FOSS tool at my disposal.

  154. Roy Schestowitz said,

    September 20, 2008 at 3:53 am

    Gravatar

    Let’s hope someone tests Microsoft by forking mono and then diverging from dotnet.

    To properly fragment and harm .NET, it would take quite some userbase. Either way, from my point of view, Mono developers willingly put themselves at Microsoft’s mercy, enabling the tools to be restricted, pulled or sabotaged (remember what Microsoft did to Java and DR-DOS?) at any time. They need to keep “The Beast” satisfied.

    For the Free Desktop to depend on Mono is a big gamble.

What Else is New


  1. Eight Wireless Patents Have Just Been Invalidated Under Section 101 (Alice), But Don't Expect the Patent Microcosm to Cover This News

    Firms that are profiting from patents (without actually producing or inventing anything) want us to obsess over and think about the rare and few cases (some very old) where judges deny Alice and honour patents on software



  2. 2017: Latest Year That the Unitary Patent (UPC) is Still Stuck in a Limbo

    The issues associated with the UPC, especially in light of ongoing negotiations of Britain's exit from the EU, remain too big a barrier to any implementation this year (and probably future years too)



  3. Links 7/1/2017: Linux 4.9.1, Wine 2.0 RC4

    Links for the day



  4. India Keeps Rejecting Software Patents in Spite of Pressure From Large Foreign Multinationals

    India's resilience in the face of incredible pressure to allow software patents is essential for the success of India's growing software industry and more effort is needed to thwart corporate colonisation through patents in India itself



  5. Links 6/1/2017: Irssi 1.0.0, KaOS 2017.01 Released

    Links for the day



  6. Watchtroll a Fake News Site in Lobbying Mode and Attack Mode Against Those Who Don't Agree (Even PTAB and Judges)

    A look at some of the latest spin and the latest shaming courtesy of the patent microcosm, which behaves so poorly that one has to wonder if its objective is to alienate everyone



  7. The Productivity Commission Warns Against Patent Maximalism, Which is Where China (SIPO) is Heading Along With EPO

    In defiance of common sense and everything that public officials or academics keep saying (European, Australian, American), China's SIPO and Europe's EPO want us to believe that when it comes to patents it's "the more, the merrier"



  8. Technical Failure of the European Patent Office (EPO) a Growing Cause for Concern

    The problem associated with Battistelli's strategy of increasing so-called 'production' by granting in haste everything on the shelf is quickly being grasped by patent professionals (outside EPO), not just patent examiners (inside EPO)



  9. Links 5/1/2017: Inkscape 0.92, GNU Sed 4.3

    Links for the day



  10. Links 4/1/2017: Cutelyst 1.2.0 and Lumina 1.2 Desktop Released

    Links for the day



  11. Financial Giants Will Attempt to Dominate or Control Bitcoin, Blockchain and Other Disruptive Free Software Using Software Patents

    Free/Open Source software in the currency and trading world promised to emancipate us from the yoke of banking conglomerates, but a gold rush for software patents threatens to jeopardise any meaningful change or progress



  12. New Article From Heise Explains Erosion of Patent Quality at the European Patent Office (EPO)

    To nobody's surprise, the past half a decade saw accelerating demise in quality of European Patents (EPs) and it is the fault of Battistelli's notorious policies



  13. Insensitivity at the EPO’s Management – Part V: Suspension of Salary and Unfair Trials

    One of the lesser-publicised cases of EPO witch-hunting, wherein a member of staff is denied a salary "without any notification"



  14. Links 3/1/2017: Microsoft Imposing TPM2 on Linux, ASUS Bringing Out Android Phones

    Links for the day



  15. Links 2/1/2017: Neptune 4.5.3 Release, Netrunner Desktop 17.01 Released

    Links for the day



  16. Teaser: Corruption Indictments Brought Against Vice-President of the European Patent Office (EPO)

    New trouble for Željko Topić in Strasbourg, making it yet another EPO Vice-President who is on shaky grounds and paving the way to managerial collapse/avalanche at the EPO



  17. 365 Days Later, German Justice Minister Heiko Maas Remains Silent and Thus Complicit in EPO Abuses on German Soil

    The utter lack of participation, involvement or even intervention by German authorities serve to confirm that the government of Germany is very much complicit in the EPO's abuses, by refusing to do anything to stop them



  18. Battistelli's Idea of 'Independent' 'External' 'Social' 'Study' is Something to BUY From Notorious Firm PwC

    The sham which is the so-called 'social' 'study' as explained by the Central Staff Committee last year, well before the results came out



  19. Europe Should Listen to SMEs Regarding the UPC, as Battistelli, Team UPC and the Select Committee Lie About It

    Another example of UPC promotion from within the EPO (a committee dedicated to UPC promotion), in spite of everything we know about opposition to the UPC from small businesses (not the imaginary ones which Team UPC claims to speak 'on behalf' of)



  20. Video: French State Secretary for Digital Economy Speaks Out Against Benoît Battistelli at Battistelli's PR Event

    Uploaded by SUEPO earlier today was the above video, which shows how last year's party (actually 2015) was spoiled for Battistelli by the French State Secretary for Digital Economy, Axelle Lemaire, echoing the French government's concern about union busting etc. at the EPO (only to be rudely censored by Battistelli's 'media partner')



  21. When EPO Vice-President, Who Will Resign Soon, Made a Mockery of the EPO

    Leaked letter from Willy Minnoye/management to the people who are supposed to oversee EPO management



  22. No Separation of Powers or Justice at the EPO: Reign of Terror by Battistelli Explained in Letter to the Administrative Council

    In violation of international labour laws, Team Battistelli marches on and engages in a union-busting race against the clock, relying on immunity to keep this gravy train rolling before an inevitable crash



  23. FFPE-EPO is a Zombie (if Not Dead) Yellow Union Whose Only de Facto Purpose Has Been Attacking the EPO's Staff Union

    A new year's reminder that the EPO has only one legitimate union, the Staff Union of the EPO (SUEPO), whereas FFPE-EPO serves virtually no purpose other than to attack SUEPO, more so after signing a deal with the devil (Battistelli)



  24. EPO Select Committee is Wrong About the Unitary Patent (UPC)

    The UPC is neither desirable nor practical, especially now that the EPO lowers patent quality; but does the Select Committee understand that?



  25. Links 1/1/2017: KDE Plasma 5.9 Coming, PelicanHPC 4.1

    Links for the day



  26. 2016: The Year EPO Staff Went on Strike, Possibly “Biggest Ever Strike in the History of the EPO.”

    A look back at a key event inside the EPO, which marked somewhat of a breaking point for Team Battistelli



  27. Open EPO Letter Bemoans Battistelli's Antisocial Autocracy Disguised/Camouflaged Under the Misleading Term “Social Democracy”

    Orwellian misuse of terms by the EPO, which keeps using the term "social democracy" whilst actually pushing further and further towards a totalitarian regime led by 'King' Battistelli



  28. EPO's Central Staff Committee Complains About Battistelli's Bodyguards Fetish and Corruption of the Media

    Even the EPO's Central Staff Committee (not SUEPO) understands that Battistelli brings waste and disgrace to the Office



  29. Translation of French Texts About Battistelli and His Awful Perception of Omnipotence

    The paradigm of totalitarian control, inability to admit mistakes and tendency to lie all the time is backfiring on the EPO rather than making it stronger



  30. 2016 in Review and Plans for 2017

    A look back and a quick look at the road ahead, as 2016 comes to an end


CoPilotCo

RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

CoPilotCo

Recent Posts