Thursday, July 24, 2008

Response to "Microsoft at OSCON"

Zack Urlocker has written a blog on his OpenSource blog at InfoWorld about Microsoft's participation at OSCON. Please read that first.

I started writing this as a comment on his blog but it was getting a bit too long .. so I thought I'll blog it directly:

Zack, conventional wisdom seems to be that Microsoft must do open source by releasing the source code for one of their cash cows. If you're a shareholder of MSFT, does that make sense at all?? They're making $60B an year and we expect them to open source any of that? No way.

Take IBM. We all give IBM a lot of credit for being a "good" open source player right?? Hmmmm. Really? Which product of theirs is open source? Compare with MSFT: Windows == mainframe (totally proprietary). Office == WebSphere family (totally proprietary) etc. etc.. Not a single major product of IBM's is open source. (I don't consider WebSphere Community Edition aka Apache Geronimo a serious play.) Should IBM open source DB2 or WebSphere or any of their other market successful products?? Hell no. Why should they; certainly their share holders aren't calling for it!

The way Microsoft can and should do open source is by (a) interoperating with open source stuff and enabling open source to run well on/with their products, and (b) by using open source to expand the markets they play in.

We (WSO2) are working with them closely on (a). For example, right now we have a joint booth with them at OSCON demonstrating WS-* interop between .Net, Java, PHP, Ruby, Perl and Spring. (Please do drop by and take a look!) In May we were part of a keynote speech by Bob Muglia (MSFT SVP Server & Tools) at TechEd ITPro where we showed an earlier version of that demo. That's the first time an open source company was part of a major MSFT keynote.

I'm not here to defend MSFT. Yes, they have DEFINITELY done all kinds of things to try to destroy the open source movement. IBM, on the other hand, has indeed helped in NUMEROUS ways with helping open source (esp. in market/technology segments where they were not players .. they're VERY smart). However, I think the conventional wisdom that MSFT can do more with/for open source only by "showing me the code" is wrong.

That's where (b) comes into play. The way I see MSFT entering open source is by buying one or more open source companies and entering into market segments they do not play in now. When? Who knows. Who? Who knows. Obvious candidates go from Redhat to Novell to Spring to a bunch of others. Why should they enter spaces they are not in right now? Because the enterprise space is inherently and permanently heterogeneous and if you want to eat bigger and bigger chunks of that market, the only way to do that is to play in multiple segments of that market. You will not succeed by trying to get Java developers to convert to .Net. Nor PHP ones. Nor mainframe ones.

There certainly could be a (c): open source one or more of their products. However, as anyone who has tried to open source a closed source products knows, it is REALLY difficult to make such an open source project succeed. First of all, getting legal clearance and scrubbing the code takes a long time (for example, someone told me that Sun decided to open source Solaris 5 years before they were finally able to do it .. no idea whether its true). Second, open source code is naturally modularized and better documented because there are geographically and temporally separated contributors from day 1 who communicate to each other thru such module boundaries. What that means is that it is VERY difficult to form a community around a complex piece of software because no one can easily "carve out a corner for themselves". Even building such complex software is hard and may require resources that a typical developer notebook can't deliver.

So even if the MSFT business were to decide that (c) made sense (and I really don't see why yet), the practical reality of getting the code out and making it work as a true community effort is going to be so hard that in the end they'd be holding a lemon of an open source project.

Thus, to me, the current MSFT strategy of doing (a) makes perfect sense. (b) will come when the time is right. Whoever will get bought out first will be making history.


Shaun Connolly said...

I posted a blog a while ago covering MSFT's open source strategy. As you can see I tend to agree with some of your points:

Microsoft's Open Source Strategy

Moreover, I recently blogged about Microsoft Live Mesh, which strikes me as a great play for consumerizing cloud-based interactions:

Wrapping My Head Around Microsoft Live Mesh

Finally, based on their current strategy, I'm not convinced MSFT thinks it must acquire open source companies. If/when they do I will be surprised.

Is WSO2 trying to position itself to make history with MSFT? ;-)

Sanjiva Weerawarana said...

Hi Shaun! I hadn't seen your earlier post- agree with it completely. Its disappointing to me that most people can't get past the "you gotta open source something" nonsense.

Oh I don't expect they'll acquire anyone anytime soon! However, they do have significant marketshare and we want to be the ones that interop best with them so that customers who need to interop with Microsoft technologies (er, that'll be like everyone?) will find our stuff the easiest to work with. We cover Java, PHP, Perl, Ruby, Spring, Groovy, Jython etc. etc. .. basically everything except .Net. So it makes total sense to that we'd work closely with them to make sure everything works right.

Of course, someone will make history .. maybe it'll be Ringside!

Aj said...

Your entry prompted me to write down my own perspective on this matter