Honestly, I’d probably go mad without it, I know I certainly would not know even half of what I know if it wasn’t for all the code up there on Github that I can peruse. This has been doubly true while learning and building in Ruby on Rails.
Microsoft seems to have been unable to ignore the importance of open source either, though in the 90’s they gave a decidedly valiant effort to slay it as if it were some ugly dragon, threatening their customers precious “total cost of ownership”. This antagonism has made Microsoft quite the FOSS villain in the past, a reputation that still lingers a bit today. However there are definitely rumblings inside of the Redmond giant over the past few years that seem to indicate big shifts, at least internally to embrace open source software.
Perhaps it’s more of a reluctant, “if you can’t beat ‘em join ‘em… then beat ‘em’” attitude, but I think Microsoft is honestly learning. I mean lets face it, Microsoft has a lot of software developers and I for one don’t believe for a moment that the majority of them are anti-open source zealots.
That said, has Microsoft come far enough here? Far enough to undo the damage caused by actions like the SCO lawsuits, probably not, maybe never. But lets take a look at what they’ve done so far.
- Created Codeplex and Outercurve
- Released pretty much all the .NET source code (not exactly open source, but at least you can read it)
- Made Silverlight and a few other projects “sort of” open source
- A number of personal contributions to .NET Github projects have been made by prominent Microsoft developers
- A small team (or is it just one person?) actively contribute to the Linux kernel on Microsoft’s behalf
- Recently contributed to Samba, a project that years before they felt was a huge thorn in their side
- Node.js on IIS (as well as many other open source web tools)
- [Make web not war]
This list could actually go on really, so on the one hand Microsoft is clearly really into open source right now. The question is it a mixing of the minds or is it just oil and water?
A lot of people in the open source community will probably say it’s still open to debate, and a few of their choices have been questionable in the eyes of the community.
- Continue to use their own “sort of” open source brand which means they do not accept patches form the community… which isn’t really open source at all
- Starting Entity Framework instead of embracing nHibernate
- Took over the nu project to create nuget which is now part of Microsoft’s brand of “sort of” open source
- Still occasionally spewing FUD around technologies they don’t yet have a handle on like noSQL
That said this list is considerably smaller and was harder to come up with than the first one. Perhaps Microsoft’s foray into embracing the FOSS community is a bit like the friendly giant. His intentions a good, but when he comes to your village occasionally steps on a house or two. Sure, I think a better job could be done here, the embrace still feels a bit… Reluctant.
We also shouldn’t be too quick to laud Microsoft for this either, since it was inevitable, open source is a force to be reckoned with, ignore it, fight it, at your own peril. Still the results are, on the whole, good for Microsoft and .NET developers, good for open source (for the most part) and good for Microsoft. Everybody wins.
Perhaps it is still oil and water, or maybe, oil and vinegar. They still won’t mix, but if you shake it up a bit you still get a decent salad dressing.