Evangelism is War – The Mono/Moonlight Agenda

I was going over an old Groklaw posting that got me thinking about Microsoft and it’s .NET Agenda. I decided to do more research and took a look at the Comes vs Microsoft documents again but from the perspective of the current Mono issues. After reading the information contained in the documents I am even more convinced that Mono and Moonlight do nothing but help Microsoft win against competing platforms. I will quote and comment on a few relevant sections I found useful to prove my point. These are old documents however I am looking at them with a different angle.

Evangelism Is War

Our mission is to establish Microsoft’s platforms as the de facto standards throughout the computer industry. Our enemies are the vendors of platforms that compete with ours: Netscape, Sun, IBM, Oracle, Lotus, etc. The field of battle is the software industry. Success is measured in shipping applications. Every line of code that is written to our standards is a small victory; every line of code that is written to any other standard, is a small defeat. Total victory, for DRG, is the universal adoption of our standards by developers, as this is an important step towards total victory for Microsoft itself: “A computer on every desk and in every home, running Microsoft software.”

Our weapons are psychological, economic, and political–not military. No one is forced to adopt our standards at the barrel of a gun. We can only convince, not compel. Those who adopt our standards do so as a rational decision to serve their own ends, whatever those may be. It is our job to ensure that those choosing an operating system are presented with an overwhelming abundance of evidence and reasoned argument in favor of our standards–so overwhelming that the choice of our standards seems obvious, or (ideally) that the developer is not even aware that a decision was faced, and a choice made.

We do this by understanding the barriers that might otherwise prevent the developer from adopting our standards, and removing them; by understanding the inducements that might facilitate the developer’s adoption of our standards, and providing them; by understanding the arguments of our competition, and countering them.

Many relevant points are brought up in this section. James Plamondon states (infamously) that “Every line of code that is written to our standards is a small victory; every line of code that is written to any other standard, is a small defeat.”

This would imply that by using the C# standard (ECMA 334 & 335), Microsoft receives a small victory. An example of defeat would be lines of code written in Java, C++ (Standardized, C++98 or C++03 for example), Python, etc.

The second paragraph explains that they want to use psychological, economic, and political weapons to convince people to adopt their standards. Often I hear a lot of business talk about wanting to use Microsoft because most of their customer base is Windows machines. Other excuses for sticking with Microsoft has been the FUD “Total Cost of Ownership” studies that falsely prove Microsoft is cheaper or that GNU/Linux is more expensive.

After that they give a plausible reason for us to assume Mono and Moonlight are approved to help Microsoft. It’s there in their own wording. People did not trust Microsoft not to sue over Mono so they had to issue the Community Promise.

“We do this by understanding the barriers that might otherwise prevent the developer from adopting our standards, and removing them;”

This sums it up quite nicely.

Platforms

What is a platform? A platform is any software service which an ISV’s code assumes is present in order for it to function properly. For example, Windows is a platform, because ISVs can write code that assumes the presence ofthe Windows DLLs, and which will not function properly in their absence.

What are Microsoft’s platforms? Once, the answer was simple: Windows (and before that, DOS). Now, Microsoft has many platforms, and the answer is more complicated. Windows is still one of Microsoft’s platforms. New platforms include Microsoft Office, Microsoft Back Office, Microsoft Exchange, The Microsoft Network, Microsoft Internet Explorer, DevOffice, and ActiveX. For each of these, ISVs can (or will be able to) write code that assumes the platform’s presence.

Turning a product into a platform perpetuates and broadens the success of the product. This is because writing code to support even one platform is hard; writing code to support multiple, alternative platforms is exponentially more difficult. This leads developers to choose between alternative platforms, and (ideally) choose one over all others. This choice, once made, is not easily changed; code written to one platform is only re-written to another with difficulty. In effect, once a developer chooses a platform, the developer is “locked in” to that platform.

This is what Microsoft considers a “platform”. This is not just Windows (or DOS) but also covers their programming languages and environments. They state that developers tend to pick one platform because its harder writing for multiple platforms. Picking one platform according to them leads to lock in which they seem to state as a positive. It is also a huge win for them if they can turn a product into a platform.

Critical Mass

“Critical mass” is a term borrowed from nuclear physics, in which it means “a sufficient mass of fissionable material to sustain a chain reaction,” in which a chain reaction is defined to be “a self-sustaining nuclear reaction yielding energy that causes further reactions of the same kind.”

“Self-sustaining” is the key phrase in this definition. Once started, the nuclear reaction naturally reinvests its energy in perpetuating and growing the reaction. Once the point of criticality is reached, no additional external energy or intervention is required to maintain the reaction.

So it is with evangelism. Once a platform has reached a certain degree of support in the industry, it becomes self-perpetuating (for reasons discussed below). Once this “critical mass” of support for a given platform has been achieved, new applications will tend to support it too, even in the absence of further evangelism.

Note that were are concerned with the “mass” of support by. Both the number and the importance of applications supporting a platform contribute to the overall mass of the platform’s support.

Mass in motion gives momentum, which can be defined as the amount of effort required over a given time to stop a body in motion. A sufficient mass of applications delivering support for a platform over a sufficiently short time, gives the platform sufficient momentum that it is, for all practical purposes, unstoppable.

Current economic theory suggests that the emergence of a dominant standard from a number of competing alternatives, is the result of “random events.” It is our job to ensure that there’s nothing random about it: we create the platform momentum that ensures Microsoft’s victory.

This explains the importance to Microsoft over the adoption of a platform. They need to reach critical mass via evangelism in order to get the machine rolling. Once they have enough applications and users, new applications will be written to support the platform as well even if they halt their evangelism.

C# platform development has been quite slow at reaching critical mass (and it hasn’t). This explains a lot about why Microsoft is acting so friendly towards anyone wanting to adopt C# and Silverlight. They need people to support these platforms in order for them to reach critical mass or they consider it a defeat. Mono on Linux, OSX, The iPhone, etc will help them reach critical mass. Talking about Silverlight and C# positivity will also help them reach critical mass.

Third-Party Applications and Business Solutions

Platforms, by themselves, are of little or no value to end users. Their value is derived from the applications and business solutions which take advantage of the platforms’ services in order to deliver real value to the customer. If we wish our platforms to be successful, we must ensure that our platforms are used by the applications and business solutions that customers want.

Third-party applications and business solutions are the measurement of the success of evangelism. The greater the mass of shipping applications that support our platforms, the more successful we have been.

The art of evangelism is concerned with increasing the mass of applications and business solutions that support our platforms, to the point of criticality.

This is more of the same stuff from above except more or less cementing facts. They added that end users don’t care about platforms other than the applications that can be run on those platforms. The more applications that support their platform the more customers they expect. This means that If people support the C# platform then this helps Microsoft gain more customers because their platform is seen to be well supported.

The Measure of Success

The success of evangelism is measured in the mass of shipping applications that support Microsoft’s platforms. Those applications that support a given platform, move it closer to critical mass, and thus count as successes; those that support a competing platform, move it away from critical mass, and thus count as defeats.

Microsoft has many platforms, and what appears to be a victory for one Microsoft platform may appear to be a defeat for another. If OLE is sucessful on the Macintosh (making Macintosh applications more powerful), is that a victory for OLE, or a defeat for Windows? If the Windows API is sucessful on Unix (making Unix applications less expensive to develop), is that a victory for the Win32 API or a defeat for Windows NT?

Diversionary tactics, holding action, and retreats may each seem contrary to the achievement of the overall objective when considered solely in their own terms, but taken in light of the overall conflict, may contribute to overall success. In the Chinese Civil War that followed World War II, Mao Tse Tung’s Army ran away from every battle, until they won the war. They knew that overall victory, not local victory, was the objective.

Thus it is imperative to measure each action in accordance with its contribution to overall, not just local, victory.

This is quite interesting on several fronts. They cement the fact that any application written for one of their platforms will help it reach critical mass. This means that F-Spot, Banshee and Tomboy all help Microsoft get its platform to reach critical mass. In doing so Microsoft can make more customers and in effect, more money.

Further on Microsoft even explains that the Win32 API on Unix is a win. OLE on Macintosh is also a win for them. Why wouldn’t the C# Platform on Unix also be considered a win? Microsoft explains these are diversionary tactics which appear to contradict their goals but not their overall victory. Even if they back away and retreat from a battle they expect to win in the long run. This would imply that even though standardizing and making a community promise for C# would appear to be their downfall, it only helps them in the end because more people will be developing applications for their platform.

Platform Example: Win32

* Win32 on Windows
o Windows NT, Windows 32s, Windows 95
* Win32 API on Unix
o Sun, WABI
o Bristol, MainSoft
* Win32 API on Mac
o Visual C++ for Macintosh
* Result: Win32 is the universal API
o We win!

This part only further reinforces their idea that their Win32 API on any operating system is a win for them. It further implies that they use the same logic in regards to C# being universal, and being considered a victory for them.

As a result of all this information I suggest free software and open source developers stick to alternatives to C# and other Microsoft platforms. There are options such as Java for those who need garbage collection. C++ and C for those who want a little more power and Python or Perl for scripting. Other alternatives also exist and are FAR too numerous to list but should be easy enough to find on Google. One I might recommend keeping an eye on is Google Go, which is quite new, and offers the benefits of dynamic languages with the speed of compiled code.

80 comments to Evangelism is War – The Mono/Moonlight Agenda

  • nobody

    Fact is Moonlight is free open source software (and not written by Microsoft) while it’s main competitor Adobe Flash is not, therefore Adobe Flash is the far bigger evil here!

  • Whoever you are “nobody”, LOL! Flash is a far bigger evil because it’s a competitor to Microsoft? What kind of logic is that? You’ll notice HTML5 will destroy both and it really is a recognized open standard.

    Even still, amusing that I have to quote you a paragraph from this very article…..

    Platform Example: Win32

    * Win32 on Windows
    o Windows NT, Windows 32s, Windows 95
    * Win32 API on Unix
    o Sun, WABI
    o Bristol, MainSoft
    * Win32 API on Mac
    o Visual C++ for Macintosh
    * Result: Win32 is the universal API
    o We win!

    Source: Comes vs Microsoft

    You’ll notice Sun released a Win32 API for UNIX and Microsoft considers it a win for them. Wouldn’t it then also be a win for Novell/Ximian releasing the C# language, ASP.NET and WinForms API’s to Unix? I’ll also note Mono is available for OSX, the iPhone and also Windows.

    Don’t forget Moonlight which would also be a victory for them due to pushing the Silverlight standard.

    Fact is Moonlight is free open source software (and not written by Microsoft) while it’s main competitor Adobe Flash is not, therefore Adobe Flash is the far bigger evil here!

  • ET

    Is everything that comes out of Microsoft inherently malicious? Why can’t the FOSS community freely embrace the good things from Microsoft while righteously scorning the bad? Judging by the growing number of applications written in Mono, it must not be a half-bad language. Microsoft may choose to look at that as a platform victory if the so choose, but I think it is really a victory for the Free Software community who get to use and develop really cool software.

    Another thing to remember is that how Microsoft chooses to view the world is not nearly as important as how the world REALLY IS.

  • sandala lafoan

    add in the fact that MS went with silverlight and NOT mono for its use of Moblin “linux” and much becomes clear.

  • Sum Yung Gai

    MCSE Alert! “Nobody” sounds just like a Microsoft employee trying to throw in a red herring. “Waaaah, Adobe Flash is proprietary, waaaah!!”

    Actually, with your example, you just proved why truly open standards and truly Free software are necessary.

    We need to stick to languages, API’s, and truly open standards. Microsoft’s so-called “standards” are to be avoided like the plague. That’s the only way *we* win. And as for video, all mine are in Ogg Theora, which is supported natively by Firefox, Chrome/Chromium, and Opera with HTML5. I will never use dot-NOT or any clone of it, even if it’s GPL’d. Same goes for SliverBlight.

    –SYG

  • To Chris and others who may try to distort truth by claiming Linux has 1% Market Share

    http://boycottnovell.com/wiki/index.php/GNU/Linux_Market_Share

  • David Stephens

    Boycott Novell, are you serious? Like this group of foaming at the mouth fanatics of the religion of “Free” do not have an interest in ballooning the numbers of Linux users.

    I don’t believe anything they say, no one lies like a fanatic.

  • poak

    This article is a mishmash of paranioa, ignorance, hyprocrisy and blatant lies. Of course, just like any other company or special interest group, Microsoft have a self serving agenda, but the author allows their paranioa to overwhelm rationality.

  • sandala lafoan

    duder, STEVE BALLMER states that desktop linux has market share at the same level that Apple has, or even slightly more.

    steve.ballmer.

  • Olli Markkanen

    @Poak

    You should understand that those quotes are from Microsoft internal documents. There are more, worse lines there too. They once even admitted they were not on the path to win against Linux. You should read the COMES vs Microsoft documents and the Halloween documents.

    @Nobody

    It’s true it’s FOSS. Still, it’s all the same if Microsoft would be writing it, as it doesn’t work if it’s not compatible with Silverlight. It will always be behind. Also, it needs Mono, which is bad enough already.

  • Olli Markkanen

    @Chris

    I can refute just about anything you can throw at me. First I’ll give you something that proves Microsoft fights against Linux any way it can, even bringing the price down as much as possible. Currently they are doing this at Russia, where they were going to make every school Linux only.

    “When should I request funding under the EDGI program? EDGI should only be used when every other attempt to close the business has been exhausted and the customer will be buying naked PC’s with Linux.

    So how does EDGI level the playing field when it comes to price? Won’t the customer still have to pay for Windows as part of purchasing a Windows-based PC? Yes, the customer will stay pay for Windows as part of the purchase price of the new PC. We can however, use EDGI to re-invest in the customer in the form of training, services, or in extreme cases, even rebates so that the total cost of the project is the same as if the bought PC’s with Linux and then had to pay for the training and/or services, etc.”

    “EDGI is a customer-focused program that is for circumstances [...] where an education and/or government customer is going to purchase naked PC’s or PC’s w/Linux. IF we do everything possible and it still comes down to price differential between the Windows PC’s and Linux PC’s, then we can invest some/all of the royalty revenue from the deal back to the customer in the form of training, services, or even rebates.”

    -Highly confidential email 2002

    Argument: Microsoft just doesn’t _need_ you (‘you’ as in ‘desktop-linux users’). Neither as developers, nor as users. Investment in winning you over or destroying you doesn’t make any economical sense.

    “Monitor OSS news groups. Learn new ideas and hire the best/brightest individuals.”

    “Linux is a cult that captures the best-and-brightest kids. … The Linux cult views Solaris as bad and Windows as evil or stupid. … Linux is a huge training group and experimental laboratory for Solaris. Suggestion: We need to find and analog to create a “cult” of core windows developers.”

    -Microsoft internal documents

    How blind-sided must one be to accuse MS of somehow paying (again, this accusation of his has no base in reality) for study that reflects the decline of Windows usage and the rise of Mac OS X?

    “Analysts are people who are paid to take a stand, while always trying to appear to be disinterested observers (since the appearance of independence maximizes the price they can charge for selling out). [...] Bribe Hire them to produce “studies” that “prove” your technology is superior to the enemy’s, and that it is gaining momentum faster.”

    “Working behind the scenes to orchestrate “independent” praise of our technology, and damnation of the enemy’s, is a key evangelism function during the Slog. “Independent” analysts’ report should be issued, praising your technology and damning the competitors (or ignoring them). “Independent” consultants should write columns and articles, give conference presentations and moderate stacked panels, all on our behalf (and setting them up as experts in the new technology, available for just $200/hour). “Independent” academic sources should be cultivated and quoted (and research money granted). “Independent” courseware providers should start profiting early from their early involvement in our technology. Every possible source of leverage should be sought and turned to our advantage.”

    “Analysts: Analysts sell out – that’s their business model. But they are very concerned that they never look like they are selling out, so that makes them very prickly to work with.”

    -Microsoft internal documents

    Any study paid by Microsoft should be taken with a bucket of salt.
    Ooh, I have even better one!

    “I hate to put it like this, but at this point, IDC is done negotiating with us. We have moved them quite a bit already, but they are now holding the line, saying that if we want the names of their ‘big’ analysts on the report this is it.
    [...]
    I can have the MSFT name removed from the report. I remain concerned that it will get out that we sponsored so I don’t know how much advantage we will get out of removing the name.”

    -Microsoft confidental email. 2002

    This was about a TCO-study that wasn’t as good for MS as they would have liked.

    Ubuntu measures their install base in just that – installs! How many Ubuntu installations have you performed? Every single one of them is counted in those 10 million!

    I’d say, 2-5 Mio Linux users _in_total_ would be realistic.

    Yeah right…
    “In terms of numbers we’re very confident this is an 8 million plus user base of active users,” Chris Kenyon, director of business development at Canonical told InternetNews.com. “That is a hard thing to count and there are lots of issues about methodology for counting but I have seen nothing that sheds doubts on that.”

    “The Fedora 6 release in 2007 reported more than two million unique IPs.”

    “Red Hat currently has over 2.5 million paid subscriptions for its Red Hat Enterprise Linux offerings.”

    And these figures are from an article published in 27.10.2008.

    NO, oh; no. No I see that you completely misunderstand what Net Apps are doing. Net Apps process accesses to over 40,000 websites world-wide, weighted by country, according to the number of internet-users. This gets them by far more accurate results than any other poll I know of.

    Give me the source that says those 40k websites are world-wide.

    Also, one day OS X population went down 50%, from 10% to 5% according to Net Applications. Do you still think that’s reliable data? Were they reliable before that or afterwards? What if there happens something like that again? Did someone kill half of them? It’s sad if it’s the most accurate like you say.

    And a bonus for you Chris, please tell me what do you think about this one:
    “[If I ask you who is Microsoft's biggest competitor now, who would it be?] Open…Linux. I don’t want to say open source. Linux, certainly have to go with that.”

    –Steve Ballmer (Microsoft’s CEO), February 28th, 2008

  • lefted

    @David Stephens

    “Boycott Novell, are you serious? Like this group of foaming at the mouth fanatics of the religion of “Free” do not have an interest in ballooning the numbers of Linux users.

    I don’t believe anything they say, no one lies like a fanatic.”

    They’re more serious then MS, Novell, Planet Gnome and their propaganda. It’s funny you called them fanatics. Why? Afaik they usually post links for real things.

  • Jose_X

    Boycottnovell wrote up a good page about a year ago covering lots of quotes from James Plamondon: http://boycottnovell.com/2009/02/08/microsoft-evilness-galore/

    >> Well, I left the Macintosh world and started doing Windows stuff and became this notorious heretic, OK. But on the other hand, I was just such a hell of a nice guy—you know, you guys know that’s not true, but they didn’t—I was such a hell of a nice guy that they’d go, You know, that damned Plamondon, you know, he’s working for the Evil Empire, he’s seducing people to the Dark Side, but, you know, he’s such a hell of a swell guy…you know, I hate Microsoft, but he’s OK.

    >> They are very valuable pawns in the struggle, however. We cannot succeed without them. If you’ve ever tried to play chess with only the pieces in the back row, you’ve experienced losing, OK, because you’ve got to have those pawns. They’re essential. So you can’t win without them, and you have to take good care of them. You can’t let them feel like they’re pawns in the struggle. I mean, all through this presentation previously I talked about how you’re using the pawns you’re going to screw them if they don’t do what they want, and da-da-dah. You can’t let them feel like that. If they feel like that, you’ve lost from the beginning. It’s like you’re going out with a girl; forgive me
    ___________; it goes the other way also. You’re going out with a girl, what you really want to do is have a deep, close and intimate relationship, at least for one night. And, you know, you just can’t let her feel like that, because if you do, it ain’t going to happen, right. So you have to talk long term and white picket fence and all these other wonderful things, or else you’re never going to get what you’re really looking for. So you can’t let them feel like pawns, no matter how much they really are.

    >> At enemy conferences you gather intelligence. You go to the enemy sessions, see what they’re saying, talk to people, be nice. Just be super nice. You never say anything rude; never, never, never. …You just never, ever say anything like that. You can occasionally go up and say, “Hi, this was a really great presentation. Thank you very much for doing it. I had a question about one of these things. You said it would be shipping by when, exactly?” OK. That kind of thing is OK. You’re just asking for very general information that anyone else could have asked. But even then it’s better to get somebody.. .some shill to go up and ask the question for you. I mean, if you’re at a conference like that, hopefully you know some people there. Get them to go ask the question for you,what the hell.

    >> So at independent conferences, or rather those controlled by the enemy vendor, just gather information. At independent conferences, subvert them. Find the people who choose who goes on the agenda and who doesn’t. Send that person all the free software in the world they want. Find out if their kids are in school, find out what school they go to, send them free software; see what kind of car they drive, send them a little keyring with that car’s logo on it, you know. Anything, anything. Love those people. Just suck up to them so hard your face collapses. I mean, those people…those people are so valuable to you, it’s beyond belief, because they control who goes on that session or not. At last week’s Macworld expo, I had a session added to the conference agenda called Windows95 Programming for Macintosh Developers. At Macworld! Can you imagine?
    OK.

    >> I’ve killed at least two Mac conferences. First there was the Mac App Developers Conference. I was on the Board of Directors of the Mac App Developers Association long ago, and after I left I worked to try to turn it into a cross-platform developers conference, and I did. I managed to make it.. their last conference was very cross-platforn, both Windows and Macintosh, which of course turned off their Macintosh audience; half of the conference was irrelevant to them. They didn’t care about Windows. They were a bunch of Mac guys. Which diluted the value of the conference. And they didn’t know how to advertise the Windows guys when the Windows guys showe dup. So they lost money that year and the group folded. Oh, well. One less channel of communication that Apple can use to reach its developers.

    >> They also have the patina of objectivity: this very thin layer, they can say, I don’t work for Microsoft, I’m not just spouting the Microsoft party line, but…here’s the Microsoft party line, OK? So, a very thin appearance of objectivity. Contract programming houses are the same way. If you need some sample code written, or a book or an article, or anything like that, for God’s sake don’t write it yourself. Get them to do it, because then you can do something else, like getting somebody else to do part of your work for you. It’s not only frees you up to do something else, it’s getting them to do something so that now they’re committed to it, right? They’ve written this book on OLE. They’ve learned a lot about OLE. If that doesn’t pay off for them, then they’re losing all that time, so it’s in their interest to stomp open.doc into the ground and to make OLE successful, tight?

    An underlying theme here is about the power of deception and how it should be used as much as possible.

  • Alhazred

    You might want to consider what it means to “own” a platform. Consider Mono/Moonlight. OK, this is technology that operates according to “standards” developed by MS and presumably .NET/Silverlight will always incorporate new innovations first, which will then be copied by OSS. But is that really true? Sure MS makes a new version of Silverlight and sensibly enough Moonlight eventually adds those features as well. There is really no particular reason why that has to be so. Mono has its own toolchain. If you want to develop applications that use Mono-only features there’s nothing stopping you. There’s nothing stopping you from using Moonlight-only features.

    The real point is with a technology of this type, which is not dependent on ANYTHING that MS does sell their “ownership” is a fairly tenuous thing. On top of that it gains them little or nothing if this platform is used in ways that MS can’t monetize. Ultimately they have to tie you back to a product you PAY FOR in order to make money, which is the only goal in the long run. Nowhere in this particular platform technology is there a mechanism by which MS gets to say what goes into Mono. It already has APIs and features that .NET lacks. Granted they may at this point be fairly small things but look at where Java went. The vast majority of enterpise Java is using things like JBoss or Spring etc which have NOTHING to do with Sun.

    There is a lot more to all of this than “where was technology X invented”.

  • Boy, you’re now part of the “faux” community..! Welcome! Well written article, good research, my compliments.

  • Jose_X

    Chris,

    >> Any standard that MS adopts has reached critical mass per se since MS is – listen closely – the monopolist in home-operating systems. …With Silverlight its a bit different – but here the opponent is not us, the open-source community, but ADOBE. And again, MS doesn’t need us to win the war, but big marketing-channels, like TV-stations, the Olympic Games, the World Series.

    I have four words for you: http://www.youtube.com/watch?v=8zEQhhaJsU4

    They need people writing the interesting apps for Windows so that Windows remains interesting and desirable despite it’s shortcomings (like virus, costs, and lack of freedom in many ways).

    Also, the monopolies don’t stay without work. They always need internal developers. In fact, Microsoft has already invested how many tens of billions of USD into dotnet and modifications to their various API? They need third party developers to use the API (leads to dependencies and money for Microsoft) and developers to keep integrating into Windows and growing Microsoft’s portfolio.

    When they lose the developers, they lose the “war”.

    >> We (as desktop linux users) are utterly, utterly unimportant to Microsoft. So PLEASE finally get over your paranoia.

    At least you stated “as .. users”; however, Linux represents $0 and libre. “GPL is a cancer”, remember? These are real threats. It’s not so much the money they are leaving behind, but the money that gets placed in jeopardy if Linux is credible so that more users switch and more developers target Linux (especially through Linux exclusives and through $0 software). How does Linux become credible? ..to a large degree, if developers improve it enough.

    It’s not you and me and a “few” other Linux users. It’s Linux the product. It’s the Linux that gets taken up by companies everywhere to be branded and controlled by them. It’s the Linux that Google leverages to take desktop and other market share through a quality and low-priced product.

    Why would confidential Microsoft emails show them worried and planning against Linux as early as the late 90s? In particular, their patenting really increased as part of their plan to address the Linux+FOSS threat.

    Microsoft has many deals with Apple. They are trying to tame Linux. They have invested heavily (as mentioned in emails going back to the late 1990s) in patents and later in patent trolls. Apple is on board. Novell is on board. Linux and many “starving” FOSS developers and supporters, generally, are not.

    As a Linux user, I can tell you that Linux is a capable platform but would be better if FOSS devs focused even more on it instead of wasting time with Windows and technologies where Microsoft leads and controls patenting and has huge investments and monopolies.

    >> Apple IS a threat to Microsoft. Yet they play that competition very fairly; heck, they even saved Apple from bancruptcy once. Adobe is a threat to MS. And most importanty, Google is a threat to MS. Linux. Is. Not.

    Google depends greatly on Linux and on FOSS: both, to provide quality server services and to threaten Microsoft through client access. If Google’s approach threatens Microsoft and Google accomplishes this largely with the help of Linux, then Linux and its developers threaten Microsoft. It makes great sense for Microsoft to want to neutralize Linux development. This more so when Microsoft can’t leverage Linux nearly to the extent Google (or just about anyone else) can, at least not relative to the alternatives (eg, Windows).

    Monopolies are very powerful. So much so that there are exceptions in the laws of many nations simply to address monopolies/abuses of monopolies and similar scenarios more effectively. Microsoft’s monopolies are threatened by Linux in a way from which they find difficult to benefit.

    >> Argument: Microsoft just doesn’t _need_ you (‘you’ as in ‘desktop-linux users’). Neither as developers, nor as users. Investment in winning you over or destroying you doesn’t make any economical sense.

    I just argued it does, and did so mostly by looking on a single competitor to Microsoft. Of course, Linux is leverageable by anyone, not just by Google. We have Red Hat, IBM, Oracle, and many others (including millions of individual users) leveraging Linux. In the future, we might have a large percentage of businesses owning their own branded Linux distro. Users will also eventually have a distro (runnable on a VM) to pick for almost any event or fancy.

    >> Your counter-argument: Ballmer has said “All open source dev should happen on Windows”. Mono is just a step towards this goal.

    >> That is no rational counter-argument. That Ballmer expressed his (understandable) wish that all open-source development should happen on Windows doesn’t make it any more plausible that Microsoft should devote its considerable resources to undermine Linux.

    You ignore the other things Ballmer, Gates, and other Microsoft execs have said over the years. You ignore what they have said about what Linux represents or about what the GPL represents. You ignore how Gates and others prefer that Microsoft wares be pirated over those of any competitor. You forget about the times these two individuals have personally visited large groups migrating to Linux in order to regain the account. [EDGI was mentioned by Olli Markkanen.] You ignore what they have said and done over the years against their competition (read this blog piece for some examples; read the USDOJ antitrust findings of facts). Perhaps you don’t really understand monopoly control. You ignore the 180 degree change in Ballmer when a short time back he was denouncing FOSS left and right but now wants *all of it* to occur on Windows, the implication being, none to happen on competing platforms, eg, like Linux despite so much FOSS (many many millions of source code lines) naturally being done on Linux as the primary (or strongly supported) platform. Thus, given the large amount of FOSS done principally for or well-supporting of Linux, his statement about windows and FOSS is a very strong statement about Linux.

    You ignore how much code reuse there is between a Linux server and a Linux desktop or between an embedded device Linux and a desktop Linux. This means if Linux can win or do very well at the server or with an embedded market, it has at least a shot at the desktop. You ignore how much money and leverage Microsoft gains from the desktop market.

    Just put 1 and 1 and 1 together and you will see you get 3. It’s all logical.

    >> For commercial software though, .NET means faster and less costly application-development

    It also means a number of other things. It means less efficient applications (vs C/C++), which, for state of the art functionality and in competition with Microsoft integration, puts you at a real disadvantage against Microsoft or against those employing more efficient technologies. In fact, the top software products are not dotnet based products. Microsoft likely still codes a ton in C and even in assembly language. Same applies to many other critical applications.

    Of course, where dotnet fits in well, so likely too does Java about as well. Java does have a more extensive API and more mature ecosystem.

    >> How blind-sided must one be to accuse MS of somehow paying (again, this accusation of his has no base in reality) for study that reflects the decline of Windows usage and the rise of Mac OS X?

    It would make lots of sense if the facts happened to be even worse.

    Remember that Apple plays ball with Microsoft. Apple supports intellectual property and closed source to a high degree. Apple supports Microsoft standards.

    Apple is a company whose shares can be owned to help control the product. There likely are even many major investors that own significant amounts of both Apple and Microsoft but can’t cover all their bases with Linux (on the desktop). All investors fear commoditization when they otherwise benefit from high margins and lock-in. These investors can like Microsoft AND Apple but not “desktop Linux”.

    Note as well that Linux poses a threat to Apple’s high profit margins.

    For example, assume Linux and Macs were at 10% and then Linux dropped to 5% while Macs rose to 15% and Windows holds steady. A supporter of Linux would benefit if the data were interpreted instead as Linux dropping to 7% with BSD rising to 3% while Mac and Windows hold steady. We’d rather see BSD gain than see Mac or Windows gain.

    From Apple or Microsoft’s pov, Linux threatens them more than they threaten each other (they need each other to try and avoid tighter antitrust scrutiny now or down the line). Apple and Microsoft worry more about Linux than Linux advocates worry about Macs or Windows, at least as far as $$$ is concerned.

    Market share can be guessed at from various measured metrics. Some guesses — I mean, models — might give a more or less favorable market share split, depending on what you want.

    It makes sense, if Microsoft worries more about losing market share to Linux than to Macs, for them to prefer to see Linux discredited the most.

    >> Because we are not talking server market when we are talking about how little it matters whether you use or don’t use Mono and Moonlight on your desktop. Linux market-share on servers might as well be 100% and it still wouldn’t hurt .NET’s success on the (as little as you may like to hear it) predominantly Windows-desktop.

    It would make sense for Microsoft to court Linux desktop users to beat Adobe if Microsoft believed Linux desktop had decent marketshare. That would make perfect sense.

    It’s much more costly for Microsoft to lose their OS monopoly than it is for them not to win the “flash” market. If they thought Linux desktop was a threat, they would care more about subverting that than about Adobe.

    Who was it from Microsoft that said that Linux is not a company and can’t be beat the way a company can be beat? Why has Microsoft been paying so much attention to Linux for so many years and even marked it as a serious threat (or greatest threat) in their financial filings?

    A Linux threat at the server represents a Linux threat at the desktop because of the similarities in the offerings. We all agree Linux has decent market share at the server. Further, a Linux threat at the server can be countered if those working on Linux servers (who likely are using Linux desktops) have access to tools to help subvert Linux servers.

    >> Net Apps are doing representative studies, that’s the best you get in statistics.

    Statistics is about using sampling to make accurate statements about a particular population. The question is: is Net Applications sampling properly from the population of all PCs or, eg, are they oversampling from Windows PCs?

    Perhaps if you sample only Windows machines, you can end up with Linux as a statistical error; however, sample all machines and the story should be quite different.

    Is Net Applications making the right inferences about the entire market?

    As an example, the following websites would bias against me, a Linux user 99.5% of the time: I won’t likely visit a website about Windows or about Microsoft or about software that works only on Windows. I won’t visit a website or webpage that really requires Windows (eg, active X or some other Windows-based extension). I might not much visit a site or page that looks badly on Firefox possibly because it was coded with broken or extended MS tools (I don’t use the IE-compat plugin for Firefox).

    Also, if I do visit, potentially it would be using Linux software that interfaces similarly to Windows software and so cannot be told apart from Windows easily.

    As another example, a Windows virtual machine would register as Windows, even if I had been using Linux 99% of the time.

    >> If you don’t believe me, do a simple representative study yourself: Go out in the street and ask every person you meet what OS they use. I would be VERY surprised if even every 50th person uses Linux. Mac OS, yes of course. Linux, no.

    First, there are many people that use more than one OS. You have to be careful in what you ask.

    Second, most don’t know what OS they use (and “Windows” is much more recognizable as a brand and as a word than is “Linux”). You have to be careful in what you ask.

    Third, I don’t think Linux is 10% in the US (but I could be wrong).

    Fourth… maybe I will do such a survey, but I will have to make the experience interesting. Also, I’d have to be careful in how I select a sample. I want to avoid biasing in any direction.

    Fifth, doing statistics properly frequently means “surveying”. This might help you, for example, gain confidence that you are interpretting the “ticks” properly. I mention this because you said: “No, you can’t top a representative study that monitored/sampled accesses to 40,000 websites world-wide and weighs them according to those countries’ computer-literate population by ‘a google survey’.”

    >> Net Apps process accesses to over 40,000 websites world-wide, weighted by country, according to the number of internet-users. This gets them by far more accurate results than any other poll I know of.

    >> Also, the sites Net Apps monitors are not a random sample; plus they also are weighed according to their relevance.

    We’d need to know what websites or, more accurately, which webpages are being measured and how… and how weighted.

    Also, there are way over 40,000 parked domains, so using such a figure as 40K by itself is meaningless. As someone else stated, Google likely can come up with a more accurate statistical result than can Net Applications. How large is Net Applications? How are they placed on the web? Google is large and placed very well.

    We also know that Microsoft games stats, eg, having IE send out bogus GET requests (I think this was used to pad Bing numbers). Among other things, this means if Microsoft knows which sites these might be, but Linux supporters do not, Microsoft can leverage this to game the system while we can do no such thing. Of course, even if we knew, we use open source and generally are more honest and transparent than is Microsoft (eg, we have less at stake than they do). They can more easily manipulate Internet Explorer and hide it (eg, update IE and then remove the modified code a week later) than can Firefox or other FOSS be manipulated secretly.

    >> But statistics is science, and I might be asking too much of you to follow me here.

    Then you will agree that without more precise information on how those sites were chosen (ideally the actual webpage urls, the code involved, and their rationalization for these), we don’t have science and likely not even accurate statistics.

    Where is the peer review and independent verification?

  • Bernard

    Excellent rebuttal, Jose. Very thorough.

  • Puppesurferen

    Remember that C# is technically crap and very poor performance. The only way they can shove it into the market is through use of tricks and unethical maneuvers.

  • It’s not too late to clean up Ubuntu:
    http://brainstorm.ubuntu.com/idea/110/

    But at this point, clean up will mean some staffing changes among the ‘volunteers’.

  • s.plisskin

    Only Mono provided from Novell is covered under their community promise. I will be laughing from my KDE/Enlightenment environments when distributions using Gnome/Mono have become so dependant MS will finally come after them and dissolve them in endless litigation and FUD. The kiss of death, so aptly named.

    Should be entertaining.

  • turtlewax

    The comment about C# “lacking critical mass” is amusing. I work in a company that is very anti-microsoft. Or at least, it tries to be. But little by little, more new projects are being written in .NET. Other vendors in our domain are exposing their APIs in .NET. We don’t have a choice. Good or evil, .NET is an incredibly productive stack. People are not debating if mono is truly FOSS. They don’t even know that mono exists. Hence, for all practical purposes Linux is not an option for new projects. I’m not trying to convince anyone of anything. Remove mono from every linux distro. Good luck.

    The quotes from James Plamondon are regrettable. They are also quite dated. He later apologized for those statements. Regardless of whether his apology was sincere, he hasn’t worked at Microsoft for years.

    Somewhere on the internet is a quote from a microsoft employee saying how great FOSS and Linux are. If I provide this quote does this mean we should all trust microsoft? Likewise, if some other employee condemns FOSS should we ban all microsoft technology?

  • Jose_X

    Alhazred,

    >> You might want to consider what it means to “own” a platform.

    I’ll address this and most of the rest of your comment.

    The “short” answer is that…

    With patents, mono people are screwed. Adding new API does not remove from play features that likely are patented by the inventor of dotnet (Microsoft). These extensions would likely still leverage the core dotnet spec. Microsoft extension patents on the core dotnet spec would likely be violated in many cases. This is made possible thanks to the generalities afforded patent claims by the USPTO. Microsoft covenants are weak. In particular, none of them protect against patent troll companies, eg, owned by Bill Gates or by Nathan Myhrvold, coming after you. The actual covenants themselves also preclude forking and leave much to the mercy of Microsoft (insofar you want protection from Microsoft). Remember, Microsoft is not like other competitors, who don’t own the ballgame and are willing to leverage Linux to gain market share. Microsoft’s fat margins come from minting money at monopoly prices.

    The problem with the OIN is that the backers don’t seem willing (or able) to press the nuke button. Most customers and small players (and large ones as well) will likely settle in Microsoft’s favor. The OIN is used to give you some leverage in negotiations, but such negotiations run counter to FOSS. It’s inefficient and Microsoft even works to isolate licenses like the GPL. IBM isn’t a huge fan of the GPL. Novell (another OIN supporter) already has struck side deals with Microsoft that give them a unique role.

    Without patents (or even with them), Microsoft still owns monopolies they leverage through interop issues. Only after you knock them from this perch do you have a quasi-level playing field.

    But remember that Microsoft has access to all of mono because mono is open source. To beat Microsoft at market share you have to attack where they don’t have an established (and reinforced) monopoly and a commanding lead. Mono shares with Microsoft, but Microsoft doesn’t share with mono except to an extent to fight off other standards by keeping mono devs hopeful and mono competitive with other FOSS offerings, eg, based on merit [or so would be the idea; as Puppesurferen stated, where merit won't cut it, deception might].

    To gain on Windows (ie, to break monopoly holds), you have to have an offering that competes competitively directly with Windows. Mono can never do this by itself (ie, don’t try to write a competitive OS with mono). Linux (the full platform) can. Mono could be a piece of the puzzle; however, mono is less mature than Java/C/C++/etc, produces apps less speedy than with C/C++ despite the source code being very similar in appearances in many cases.

    What I see is this: with patents, avoid mono and as many MS “inventions” as possible. Without patents, focus on Linux — in other words, on Linux integration so as to compete when Microsoft tries to clone the features within their closed source products. In this case, mono would be but a tool and there would be no need to follow the dotnet standard except to that extent one would think that would help migrations away from msdotnet.

    Today, patents exist. I do not support mono today at all.

    >> The vast majority of enterpise Java is using things like JBoss or Spring etc which have NOTHING to do with Sun.

    Sun is not Microsoft.

    Sun was not in a market position to leverage neither patents nor monopolies against most desktop users in a way which would involve significant prohibitions or money. Microsoft owns the desktop.

    Essentially, Sun was in a position to be nice and play the David to the Microsoft Goliath. Also, historically, and perhaps a reason why Sun was not in Microsoft’s position, is that Microsoft is more ruthless, deceptive, and ambitious than most companies.

  • sandala lafoan

    Any C# application that has accessible source code is trivially easy to port to C++ or Java. The best current example of this is Gnote, ported from C# Tomboy with minimal effort by one developer of modest skills.

    How about a translator?

    The first thing to observe is that C# and Java are remarkably similar. The syntax isn’t all that different, and the runtime libraries have many similarities. Wouldn’t it be cool if we had a translator that would take our C# source and generate Java source that “Just Worked”?

    I started by exploring ANTLR, a very cool parser generator that can output C# code. But along the way I realized that mcs (the C# compiler from the Mono project), would make a much better starting point. I simply need to make it generate Java source code out the backend instead of IL (the Intermediate Language used by the .NET runtime).

    So I started hacking. I spent two days adding a new backend for mcs, and I realized that while eventually we could make this work, it could take a long time. Beyond the syntax conversion challenges, the Java code converted from C# was still trying to call the .NET Framework, but those libraries didn’t exist in the JVM.
    Enter Mainsoft

    In the end, we decided to purchase a solution to this problem from a company called Mainsoft. Their product—Mainsoft, Enterprise Edition—happens to do exactly what we want. (I have no affiliation with this company other than the fact that SourceGear is their customer.)

    Mainsoft’s tool is a Visual Studio add-on which compiles C# to Java byte code instead of to IL. They include a class library that provides support for .NET Framework stuff.

    I was ultra-skeptical, but in practice, this tool is working surprisingly well. We had to make very few changes to the OpsLib code, all fairly minor, and the port took about three weeks. The resulting Java version of OpsLib passes our suite of regression tests, and that speaks volumes about the quality of work Mainsoft has done. Those tests are truly sadistic.

    In the end, we’ve got a pure Java solution, nothing but a collection of jar files. We can run them on Windows or on Linux.

    By purchasing Mainsoft’s product, we allow ourselves to keep our primary focus on four core product development. That’s a big win. Since June 2007, SourceGear offers full support for Visual Studio and Eclipse clients on Windows, Mac OS X, and Linux.

  • sandala lafoan

    and wheee! the translated source code is immune to copyright law as it is in a new language!

  • Jose_X

    turtlewax,

    >> But little by little, more new projects are being written in .NET. Other vendors in our domain are exposing their APIs in .NET. We don’t have a choice. Good or evil, .NET is an incredibly productive stack.

    Everyone has their incredibly productive stack.

    These developers might be in love with MSVisualStudio and its support for dotnet, rather than for dotnet itself.

    A real productivity boost comes from moving to open source development. Reuse and share work.

    I would not downplay “evilness”.

    >> Regardless of whether his apology was sincere, he hasn’t worked at Microsoft for years.

    >> Somewhere on the internet is a quote from a microsoft employee saying how great FOSS and Linux are. If I provide this quote does this mean we should all trust microsoft? Likewise, if some other employee condemns FOSS should we ban all microsoft technology?

    Except that he was tasked with teaching other employees how to go about things. His statements are also consistent with information about Microsoft behavior as discovered through other sources (eg, USDOJ antitrust trial; numerous company lawsuits; ISO manipulation; etc). We aren’t talking about opinions or theory only.

    Here is a video interview that I found interesting (I got it from boycottnovell). It concerns DRDOS. http://ia311511.us.archive.org/2/items/Richard_Williams_testimony_in_Caldera_v_Microsoft_1998/Richard_Williams_testimony_1998_small.ogg

    Bill Gates and Microsoft have had a bad reputation for many years.

  • michael

    “If OLE is sucessful on the Macintosh (making Macintosh applications more powerful), is that a victory for OLE, or a defeat for Windows? If the Windows API is sucessful on Unix (making Unix applications less expensive to develop), is that a victory for the Win32 API or a defeat for Windows NT?”

    What I find most disturbing is that they actually believe their own crap. “making macintosh applications more powerful” “unix applications less expensive to develop”. Win32? They’re fucking joking!

    Oh brother. There is a line beyond which ‘tech evangelism’ just becomes ‘religion’, and I think that’s a pretty good indication they crossed it.

    “so overwhelming that the choice of our standards seems obvious, or (ideally) that the developer is not even aware that a decision was faced, and a choice made.”

    I think this is particularly telling as well. Since the dawn of mass-media marketers have been perfecting this craft, manipulating people’s decisions without them even knowing it. MS has been particularly adept at it.

  • sandala lafoan

    There is a great quote by Upton Sinclair most relevant here: “It is difficult to get a man to understand something when his salary depends on his not understanding it … “

  • 周周

    lefted,

    That’s a classic case of not being able to see the forest through the trees. Yes, Roy’s “articles” use links to other websites, but his headlines, articles, and poorly rendered artworks are where the hypocrisy, lies, distortion, spin, fanaticism, and just plain stupidity shine though.

    The irony of sites like BoycottNovell is that while Microsoft talked about evangelism long ago, Linux zealots actually practice it. It’s one thing to have a foolish idea, but it’s much worse to follow through with it.

  • sandala lafoan

    There is no agreement in the industry about what precisely constitutes a “smart” phone, and definitions have changed over time.

  • Robmomo

    Ifn’ it don’ have no physical keyboard and it be not havin’ a CLI, then I reckon dat damn thing is still a phone, not a computer or “smart” phone.