Questions I continue to wrestle with are:
- In its efforts to maintain and grow its market share, does Microsoft demonstrate an intentional, habitual and ongoing use of dishonorable or “dirty” tactics?
- Can I/could I/would I put my heart into building on a technology stack that contributes to the success of a player that uses such tactics?
My answers at the moment are:
- It seems like it!
- I don’t know!
I’ve been challenged on question 1: what do I mean by this “dishonorable tactics” or “plays dirty” idea? Question 1 needs to be challenged: if I’m wrong, then I’m thinking bad things about a good company — maybe I’m the one being dishonorable!
- Do I simply take issue with Microsoft’s success? Would I have the same issue with any company that rose to Microsoft’s position?
- Microsoft seems to sometimes resist industry standardization and interoperability… but they seem to have improved their C++ standards compliance in recent versions of Visual C++ (and maybe IE7?) so are they changing their ways?
- Alternatively, are the industry standardization guys just a bunch of Microsoft competitors or wannabes who haven’t attained the level of success Microsoft has?
IBM looks different. I appreciate their apparent attention to supporting and giving back to the open source community from whose resources they draw. It doesn’t mean that IBM gives away its software and services; but for those components that aren’t part of the application IBM is selling, it encourages and leverages the work others are doing. It seems like IBM sees the open source community as a partner and is working hard to create a scenario where when IBM wins, many other initiatives win too in the open source world.
It seems like Microsoft sees the open source community as an enemy and is not working to create a scenario where where when Microsoft wins, many other initiatives win too in the open source world.
Maybe open source tends to work against a monopoly, so maybe Microsoft is right to treat open source as an enemy. But…if IBM reached Microsoft’s status again someday, would IBM have to drop its cooperative stance with the open source community and operate like Microsoft is now? I have a lot of intuition going on at the moment and precious few facts. My gut feeling is, “No.” I think the way IBM would have attained that dominance would be different and the way it would try to keep it would be different too, and the cooperation aspect would be central to its strategy.
IBM once did have somewhat of the status Microsoft does now, didn’t it? (I was a mere babe and don’t remember those times.) I don’t think IBM had a cooperative stance at that time, did they? Were they more like Microsoft is now? That’s an encouragement to me — IBM changed its identity. Microsoft could too. I wouldn’t (I surely hope I wouldn’t) maintain my current opinion of Microsoft if they changed.
When I touch code, I try to leave it in a little bit better state than I found it. It seems to me that if we go with a Microsoft stack, I will be part of supporting a company (Microsoft) that currently seems to work to funnel your choices into Microsoft choices rather than freeing you to make the best choice in each situation, or to innovate new choices. It seems like by so doing I’d be leaving my corner of the world a bit worse than I found it. (I am not utterly refusing to adopt a different view; it’s just that as of this moment I have not been sufficiently convinced at this point.)
So — these thoughts and feelings and concerns about Microsoft that I’ve been rambling about: which ones have a basis in fact? Which ones are unfounded and indefensible?