Why Can't Microsoft Ship Open Source Software?

I actually do have a problem with the ever-growing number of products on the shelves of my local supermarket. That’s to some extent related to the Paradox of Choice topic (one of my highest ranking book recommendations), but it also seems extremely wasteful. Not only would the logistics of less variations be much easier, we would also not need as much promotion to make us believe that vendor A’s product is in any way better than others.

Having said that: the big question is where to cut off. Maybe two products seem very much the same when they come out, but as we all know software products evolve over time and due to different environments they might evolve into something more distinct from each other. And don’t forget: the hard part of software development is most often figuring out what to do, not how. With software I am often more happy to accept competing products if they show the willingness to learn from their competitors. The supermarket shelves full of physical redundancy annoy me.

PaulG:
a nightmare how?

my experience has been the opposite of yours, but I actually took some time to learn subversion and use decent tools [notably VisualSVN] and have much fewer problems now than with VSS.

Though admittedly my problems with VSS were mostly with the control part being absolutely useless. Adding/deleting not being versioned, commits not being atomic, renames or file moves loosing previous history, and a commit being a single file not an entire change set… Trying to look at the overall history of something is painful or impossible in VSS, and always works well in subversion.

Actually, Microsoft wanted to clone the internet right?

So… why doesn’t this surprise me?

It’s a cultural problem… they’ll never change.

Just to produce a counterexample, what about WiX (see http://wix.sourceforge.net/ and http://en.wikipedia.org/wiki/WiX)? That’s open source and released by Microsoft. It works pretty well too, we’re using it to build our latest installers.

PaulG: I’m a Subversion fan, so that’s my bias, but I appreciate that different source control tools have their advantages and disadvantages and I wouldn’t criticize someone for their choice of tool…

… except in the case of VSS. There’s absolutely no good reason to be using VSS in this day and age. When Microsoft’s Source Safe Best Practices page (http://msdn.microsoft.com/en-us/library/bb509342(VS.80).aspx) is essentially a list of things you need to do to prevent VSS from corrupting your data, you know it’s a lemon.

I can’t really do the topic better justice than one of Jeff’s previous posts: http://www.codinghorror.com/blog/archives/000660.html.

I definitely agree. I’m currently on an internship at microsoft, and there’s pretty rampant wheel reinventing. This issue goes way deeper than actual products. Microsoft seems to have a culture of in-housing everything and remaining largely unawares of alternatives. There are probably more source control systems at microsoft than in the rest of the world, and they all largely suck.

I’m hoping to use Mono.Cecil to rewrite some code analysis stuff - hopefully I’ll be allowed.

@ Jeff re: Do some searching and you’ll find out why this will never be – both projects both accept open source code contributions.

Well, according to my research that is not true - it may be in the future, but at least for IronPython, it is not today:

http://blog.jimmy.schementi.com/2008/06/dlr-will-continue-to-be-licensed-under.html

Personally, I am quite happy that IronPython is open source (it’s a dream come true for a .NET developer!) as I included it in my own open source project: http://www.codeplex.com/gsb

I still don’t get what your beef is man, how about spelling it out in plain English?

reply posted here: http://16randombytes.blogspot.com/2008/07/reinventing-wheel.html

Microsoft wants to own the code for sure. They can make it just enough different so that their version is incompatible with everything except Microsoft. When most developers have to make the choice, they go with what they know, the Microsoft solution. Thank goodness no one uses MSTest!

In two years, people will be faced with a choice between: (a) Windows 7 (Vista bloat plus a dollop more, sans MinWin) and MS Office (expensive licensing), and, (b) a mature and much trimmer ReactOS (GPL Windows OS API; already runs lots of Windows apps) and OpenOffice (does what most users want; free as in beer).

You betcha Microsoft are crapping their pants right now. Windows and Office are their main revenue stream. Thus the huge push toward Internet search portal ad vending, games consoles and the rest of it.

I long ago stopped being infuriated by the sheer number of meaningless options for drinks, shoes etc. Instead I think I’ve taken up the slack of one emotion with boundless apathy. I know what I like, on the topic of drinks: a good cup of coffee from a fresh grind… fruit juice which isn’t made from concentrate, and soda water with a squeeze of lemon instead of sugar/corn syrup based fizzy drinks. I’ve noticed as I get older a splashy new marketing campaign has less and less effect - I know what makes my body feel good and stick to that. About the only thing I’ll do to spice up that stuff is maybe trade the lemon for good whiskey on a Friday/Saturday.

Maybe ignoring this kind of stuff has reduced my life enjoyment… but on the other hand, it gives me more time to think about the important stuff… like when Diablo 3 is coming out or why on earth I chose to use a ThreadLocal for a particular problem and what a better solution might be.

It doesn’t matter whether it’s MS or F/OSS or some niche company. Every camp will be guilty of reinventing the wheel as long as there is something better out there in the other camp. I don’t know if this is good or bad. OpenOffice is a fantastic piece of reverse-engineering, but it makes me sad that we even have to use it (well, I almost don’t but whatever). And there were good user reasons to develop OpenOffice, just as MS has good business reasons to develop in-house versions of apt-get, kshell, and svn, way overdue or not.

I think it was someone at Red Hat who said billions of dollars are wasted every year because companies don’t open source their code. I can see all the developer-years wasted in the constant cross-imitating of closed- and open-source software. But even as a die-hard Linux user I’m agnostic about which side is better. Companies like Mathworks, SAS, and whoever makes CPLEX are way ahead in what they do. I really appreciate being able to use things like Octave and GLPK when I’m traveling, but it always makes me think of how open-source is under a whole different set of goals.

I find the comments about beverage variety pretty interesting but I’m too tired to write more.

Anyone who’s alarmed at how eager companies are to duplicate existing software hasn’t spent much time working for large companies. There are many reasons to re-invent the wheel (a loaded, tired analogy) - legal, integration, etc. In this case, what mockery would MS endure if they actually provided a Subversion client? Probably the same noisy backlash they got for not re-implementing every Flash movie in Silverlight.

That said, TFS is an atrocity. The Source Control tool is SourceSafe with lipstick, and the only defense is But TFS does so many things! It’s like bundling phone, internet, and cable onto one (usually higher) bill - maybe your new phone service sucks but you’re locked into it forever. Isn’t integration great?

I both agree and disagree.

I agree with the sentiment that MS has so much money and talent, why can’t they build a decent, out of the box source control + revision tracking system that’s easy to install, works over HTTP, and bog down? It’s like having 1 billion barrels of crude oil and only making 1 liter of gasoline out of it. Inefficient.

But I know why they avoid 3rd party integration too. I do it all the time. I can’t stand the myriad of crap purveyed out there. I’ve been bitten by vendor lock-in far too many times (usually as the result of other team members), and unless you’re getting something so totally cool and outside the realm of your abilities as a coder, you’re better off just doing it yourself. There’s always that 1 feature you need, or 1 bug that never gets fixed.

I’ll never reinvent a database wheel, but I won’t bother with for-pay ajax component libraries or some such nonsense.

To point out the blindingly obvious, businesses and their legal departments do not like:

*Selling something they don’t fully control
*Selling something that comes with legal encumbrances
*Selling something they don’t own outright
*Selling something they can’t demonstrate the full provenance of (If you think this is dumb, put your money where your mouth is and buy your next house without title insurance.)
*Supporting a moving target

I hardly see why Microsoft would be any different than anyone else.

Why should we care if Microsoft wastes their time re-inventing the wheel? Integration is overrated. I’d rather NOT have my unit testing framework, bug tracking, and so forth all integrated in my IDE. Mainly because it means I’m free to pick the framework that is the best fit for my project instead of being forced into someone else’s idea of out of the box.

Diet Cherry Vanilla Doctor Pepper is the greatest beverage ever. Bar none.

And yes, I do agree that Microsoft needs to begin playing nice with the open source kids.

Also, do not mock Mr. Pibb.

You people should taste Guaran, it’s far better than any other beverage.

http://en.wikipedia.org/wiki/Guaran#Beverages

Microsoft builds the platforms creating vertical markets for 3rd party tools. There are a number of subversion plug-ins to visual studio, same with nUnit, Resharper, etc. I don’t think it’s a matter of including opensource offerings in their products, if they did, it’s harder to ask for multiple thousands of dollars for a glued together comprehensive product. Not their market.

Ps. Dr. Pepper is far superior to Mr. Pibb (though both trounce Pepsi)

earn subversion and use decent tools [notably VisualSVN]

Totally agree with the VisualSVN recommendation – if you are primarily a Visual Studio developer like me. Can’t say enough about how great this add-in is. I was ready to give up on TortoiseSVN until I installed it!

You betcha Microsoft are crapping their pants right now. Windows and Office are their main revenue stream.

What drives me crazy isn’t the wheel reinvention, per se – sometimes that’s healthy. It’s the creation of crappy copies that do not innovate or make my life easier in any way. Exactly like MSTest.

That’s my message to MSFT: Innovate or die. It is possible. Look at the UI innovation of the Office 2007 ribbon, for example.