I thought heavily about calling you on the phone and having this as voice conversation because I didn't want to go on the record publicly about it (most of my real friends are in Open Source) and I don't really need the flames that will, inevitably, be directed at me regarding this but ... oh well. And that felt cowardly. I'd send it to Bill or Steve but, honestly, to me you are Microsoft. So here goes.
1. Fork the Issues On Competition Between Client Side Software versus Server Side Software
Open Source software is, honestly, wildly different between client side software and server side software. I bloody well love server side open source software. I built my company on it and I rely on it *by the minute*. But -- and this is what's going to get me flamed to a toasty crisp -- when it comes to open source GUI software, the Emperor's clothes are, sadly, missing. We all boldly claim that Open Source is better engineered, runs faster, etc. And, in the area of the desktop, I'm just finding that not to be true. My experience using Open Source software on the client side i.e. GUI apps basically, well, sucks camel balls (not all of the time but a large part of it). By and large my open source GUI apps:
- Crash; Example: Gaim. If I leave Gaim on "Automatically Reconnect" then if it encounters and problems, well, it tends to just plain die.
- Use way too much memory: FireFox. Yes I'm a tabaholic. I've admitted that and I'm in a 12 step program for it. Right now I've got maybe 20 tabs open spread across 8 browser windows and FireFox is using 125,104K of RAM. I have a hard time understanding why 20 tabs opening relatively small web pages uses 125 megs of RAM. And it doesn't reclaim the memory when you close a tab (this is a long standing bug). I've seen similar memory characteristics in other Mozilla apps (and other Open Source apps).
- Fail oddly. Thunderbird is an interesting mail client. For me it consistently refuses to send messages if its been running too long so I constantly have to exit mail just to send a message. This happens regardless of whether or not I'm using my Feedster mail server or my (cursedly required) Yahoo DSL mail server. Yes I have a large mailstore but I find it hard to believe that the size of my mailbox affects whether or not I can connect to a mail server. I do believe that the regular problems that Thunderbird has saving drafts is related to that and I'll take the heat for it (or at least not blame them; it could be the OS responding too slowly as it seeks for the right spot to write the mail).
So if I was Microsoft I'd promote the client side of the business with a FACT (not FUD) based compaign around something like this:
Microsoft Desktop: It Just Works Better
And do the classical studies on how the stuff actually does work better.
2. Attack Open Source Server Software By Hiring Away the Developers
Given that Microsoft is one of the leading employers of software engineers world wide, and is a company with $$$ that always needs engineers, if I worked for Microsoft, I'd say this:
- Let's analyze the leading open source server tools that take $$$ away from us (heck our commit logs are public; its easy to figure out who's actually making a difference)
- Task our recruiters to locate, romance and recruit them
Open source developers are, generally, poor as church mice. Yes there's someone like Greg Stein from the Apache project (also ex-Microsoft) who's done quite well for himself and is now at Google but then you have someone like John Coggeshall, a buddy and really good member of the PHP community. I'd describe John as a "soldier" in the Open Source wars. He's not Rasmus; He's not Linus but he's still important. If you hire John (and John is now a real adult with real cash needs) then you just (minorly) attacked the PHP project at its core. Now someone else will rise up and not everyone will join but, when you come right down to it, car payments are car payments, people get married, have kids, etc. And you're hiring good software engineers anyway -- why not hire the people who would otherwise compete with you?
All my best.