What Should Microsoft's Open Source Strategy Be?
JWinterboy asks: "I'm guessing that everyone here has a valid criticism of Microsoft's attacks on, and approach towards the Open Source model. To me, that begs the question of what we think would be an "appropriate" reaction from Microsoft towards the Open Source model. It doesn't have a service arm, so IBM's approach isn't really viable. At the same time, non-service related business models haven't fared very well.
What would we like to see Microsoft do? How can it work with the Open Source community, leverage its resources, and still make a buck?"
What MS should do to work well with Open Source:
a) Document API's thoroughly, and keep the docs up to date
b) Standards: Microsoft is frequently the first one to implement a standard or to make it mainstream. As an example, XSLT comes to mind. AFAIK, IE was the first browser to support XSLT. As the first big boys there, they usually claim the right to make modifications to a standard or to fill in details in the standard. They could win a lot of goodwill merely by consult other companies and open source developers before as they implement the standard. This will greatly reduce (though probably not eliminate) the feeling of railroading that we all feel when MS' software doesn't follow standards, and we all have to deal with it.
c) Document and admit mistakes and bugs. One of the most infuriating things about Microsoft software, is that it either doesn't do what it says, as in undocumented behavior and bugs, or cryptic error messages saying things don't work unless the OS is configured right (which is true ipso facto, but somewhat accusatory, and certainly not helpful). I think this happens mostly because they can get away with it, and writing thorough documentation for your programs is not nearly as satisfying or financially rewarding as designing and writing the code itself. They could again improve goodwill if they were responsive to outside developer's questions about these bugs and behaviors, rather than being dismissive.
I'm sure there are more, but these sure would make it easier for an outsider to like Microsoft.
Embrace and extend. What else? Or were you wondering what their strategy should be if they did NOT want to dominate the whole freaking world? That's kind of academic.
In fact, the strategy they have is a damned good one. It'll be even better if nobody clues to it in time, which is why I particularly delight in outing it here. This is my interpretation, and they may possibly phrase it differently- or not. Maybe in the NEXT antitrust fiasco this will come to light.
MICROSOFT'S OPEN SOURCE STRATEGY
This. Is. What. They. Are. Doing.
Note that it plays to their strengths, including the strengths they've learned in the antitrust trial, of barratrous lawsuits and dragging things out endlessly, and note the brilliance of embracing and extending, not the openness of collaboration, but the concept of a viral license. This is brilliant conceptual work on their part, it really is.
But it does not have to succeed- because they really need people who are KNOWN to have agreed to their license. They can't really go around suing everyone who writes open source and dragging them into court and saying, "You DID agree to the Shared Source license, didn't you? Everybody does! You had to have!". That won't fly- people who can legitimately say they've never agreed to that license are in a position of strength.
However, people who have in fact agreed to their viral Shared Source license, EVER, are fucked. And can never be allowed to participate in open source or free software development- because of the legal exposure.
Given this state of affairs, why would Microsoft ever need to find another open source strategy? This is unquestionably the best one for their goals. Yes, it's evil. And your point is?