Microsoft takes a lot of grief for its stance on Linux, while IBM gets a lot of credit. Extending from that, the industry tends to view IBM as a paragon of open-source virtue while Microsoft plays the role of villain.
It struck me today, however, that these roles are, to a certain degree, accidents of history, and not founded in any genetic predisposition in either company to love or hate open source.
Microsoft has fought Linux almost from its inception, but this makes a great deal of sense: Microsoft Windows competes directly with Linux on servers, personal computers, and mobile. Microsoft would be foolish to not fight Linux. I don't particularly like the patent FUD used in this competition, but it's not hard to understand Microsoft's motivations.
Unfortunately, along the way Microsoft has confused Linux for open source (something that the broader industry also does, as I pointed out in 2005), and so painted its product-level competition with Linux in too broad of brush strokes, turning it into an anti-open source crusader that it has no business (literally) being.
IBM, for its part, needed Linux to help harmonize the different operating systems that spanned its hardware businesses. It was a rational act for IBM to throw its weight behind Linux, with the added bonus that the broader industry conflated Linux with open source in the early days, such that IBM has carried the "We love open source" glow with it ever since, despite IBM competing vigorously with open-source projects like JBoss, MySQL, etc.
Imagine what would have happened if instead of harmonizing IBM's disparate hardware businesses with Linux, someone had released an open-source project that threatened to cannibalize IBM's mainframe business. I guarantee IBM wouldn't have pledged a billion dollars to that project.
Ironically, Microsoft may well have put serious money behind such a IBM mainframe killer, as Microsoft would love to undermine IBM's mainframe business.
As the industry matures, it has come to separate Linux from open source. Linux is just one open-source project among many, and it's not even necessarily the most important one, because there is not "most important one." What's important depends on what part of the industry you're in, and what problem you're trying to solve as a customer.
As we distinguish between open source and Linux as just one open-source project, we're going to see the lines blur between "good" and "bad" in open-source software. Microsoft has started to contribute to Apache, traditionally IBM's preferred open-source organization. Maybe at some point Microsoft's open-source activities will be as expansive as IBM's, such that it's calculated competition against one or more specific projects won't cause the alarm they do today.
Maybe at that point we, too, will bring an end to conflating Linux with open source, and allow Microsoft to compete with Linux while acknowledging its contributions elsewhere.
In other words, maybe we'll start to treat Microsoft the way we treat IBM. Stranger things have happened.
Follow me on Twitter at mjasay.