Why Can't Microsoft Ship Open Source Software?

Microsoft is doing a tremendous amount to promote code sharing and create communities at the moment, so I think it’s disingenuous to say that it’s all about vendor lock-in (Daniel Lehmann). Can I remind you that C# and portions of the .NET Framework are open standards, free for anyone to use? I believe that C# and .NET Framework have raised the bar in many ways, and the stuff on the horizon (parallel extensions, Dynamic Data etc.) is very promising. Of course, if you don’t want to use C#, you can use pretty much any other language you want to target .NET. I don’t see Sun giving you that opportunity.

As for reinventing the wheel by coding up their own source control and team management tools, well I can see where MS is coming from too. If they had gathered together a pick-list of open source apps, including NUnit, NAnt and so on and integrated those into Visual Studio they would:

a) Have been accused of profiteering
b) Have been accused of not innovating
c) Have integrated software that they already had alternatives to
d) Have been criticised for including tool X instead of tool Y

You can integrate whatever tools you like by using MSBuild or the various source control add-ons, so I don’t see what the big deal is. If you don’t want to pay for Team Suite, then buy Professional for a few grand less and add and remove whatever features you like from the open source community. Sure, you’re not going to get the integration, but that’s the price you pay.

I see MS regarding open source and community contributions cautiously, but progress is being made. Others have mentioned the dynamic languages like IronPython, but teams working on Dynamic Data, ASP.NET MVC and other new additions are actively seeking out feedback from the community in order to provide the best products (which will be free in .NET 3.5 SP1). For these projects, many hooks are being included so you can plug in whatever support frameworks you currently use. They are actively working with open source teams to enable this.

Of course MS have also released the source code to their .NET compilers and tests in the form of Rotor to the community and have, with Visual Studio 2008, enabled you to debug into the full Framework source code (including developer comments and so on). Why isn’t this recognised? This isn’t altruism, it’s a corporation responding to the open source community, doing their best to accommodate developers who really should be more thankful for what they’re getting.

Finally, you can get Visual Studio 2008 Express for free.

Dear Jeff, would you grant me the authorization to translate this in french and pubish it ? I would grant you half of our nonexistent ad incomes, and links to the original article.

I am infuriated at the lack of insight in the french evangelists regarding how open source has shifted from pure unix/linux to all operating system. (I am not found of evangelists myself)

Your article is interesting since it is balanced and speaks of open source on microsoft system, and per se this will be new to some of the french community wich is not very open on certain point.

At my opinion, MS engeneers are not bad or good, solely their strategy is quite a mess. An editor should rather keep up its good reputation by doing software bricks that excell in their very own domain, and allow some modularity in the integration because high quality third party applications will only enhanced the excellence of their applications.

The strength of a chain is the strength of its weakest link, MSFT is a chain wich weakeast link cant be replaced opposed to a solution such has : SVN + apache WEBDAV + trac + RequestTracker which chain will be stronger since all links even SVN can be replaced (by skn for instance).

Some software that enhanced SVN to reach MSTF level of features :
redmine http://www.redmine.org/
Trac http://trac.edgewall.org/

And when you design softwares as brick … well, it’s the open window to any gates.

The only problem for microsoft is that they can’t give up the idea to let external teams do the integration, because windows OS supremacy is all about controling the vertical integration of any features.

It’s neither good nor bad, it’s just the way it is, but as long as windows don’t open the OS to integrators, open source development on windows will keep being painfull, and open source developpers will be bored one day.

Jeff,

In a manner of speaking when is software ever done, open source or not ? Yea you can have hard fast limits if you’re writing an driver or something. However take something like Windows. Has microsoft ever truly or will they ever finish windows. Yes they have finished release of an OS but I think that software is only ever 50% done at best on big projects because you can always keep adding to them and expanding, improving, etc.

Joe:
That’s because Microsoft bought Spyglass Mosaic and used it as the base for Internet Explorer.

Spyglass in turn licensed code from NCSA.

According to Wikipedia, Microsoft was also sued by Spyglass at some point because they used Spyglass’s code (despite having licensed it).

The same article also points out that IE7 was specifically audited to make sure no NCSA or Spyglass code was present in it. Thus, IE7’s About box no longer mentions either.

Source: http://en.wikipedia.org/wiki/Mosaic_(web_browser)

Lots of open source licenses make it almost impossible for the software to be used commercially. I’ve spent a lot of time working in large investment banks and it’s typically easier to bring a new commercial (paid for) product into the bank than an open source product. It all comes down to the Legal Team’s reading of the license, the GPL license is particularly bad.

Well I agree that MS do like to write their own software, however they have opened up a little bit by building SvnBridge which allows a CodePlex developer to use the Subversion clients TortoiseSvn and VisualSvn against the TFS repository.
I host a free a control on CodePlex (Superlist) and found TFS integration to be extreamly slow over the internet plus annoying when not connected, “do you wish to work disconnected” grrr . In my limited experience Subversion works much better over the internet compared to TFS, but in an intranet environment you probably wouldn’t notice the difference plus you’d get the extra goodies that TFS comes with – if you can afford it.
Great post

Lee

A bit off topic, but is it just me or does it seem that Gates is to Microsoft what Jobs is to Apple? I mean in a sense how Apple’s success seems to be directly connected to Jobs involvement in the company.

If I remember correctly Gates started stepping down around the time Vista development started and both development and customer adoption just failed (dropped features, customers begging for more XP, PR disaster etc.). Months to Gates’ retirement, MS admits losing document war for ODF, and just after his retirement MS starts talking about rental Office, which sounds like surrendering to OpenOffice (if customers don’t want to own it, they sure as hell won’t rent it unless absolutely necessary).

jeff, welcome to the anti-microsoft world.

may i know why u had to link to that horrible Chocolate Rain video? I read the wiki entry, but cannot figure out why you were required by law to do so?

Microsoft has shown time and again that their coding skills (overall) have deteriorated. Maybe the key people have left, maybe the culture changed, maybe it is micromanaged to death and nobody can get anything done. Maybe they are hiring anysmal programmers overseas (always a possibility).

How can it be that a bunch of people in dorms can deliver something more stable and usable than a company with virtually unlimited resources and access to best minds on the planet?

I work for a small software development company. We simply cannot afford to fork out the 10s of 1000s of $$s for TFS and our only alternative is to get cheaper/free tools and try to manually integrate them into our development platform VS - this is a painful effort and we do not have the resources to do this! While I have great respect and appreciation for MS, some of their strategies such as the one you have pointed out are regrettable.

Why Can’t Microsoft Ship Open Source Software?

You’re asking the wrong question:

Why on Earth Would Microsoft Ship Open Source Software?

Your statement that Open source seems to evolve according to a different power law than commercial software. makes no sense, considering the huge amount of software that is both Open Source and Commercial.

Did you mean to say that Open Source software and proprietary software follow different power laws?

There are systems that tried to get out of the sucking state by leaving the path that CVS once created (and SVN took over). E.g. darcs, but darcs is written in Haskell and even getting it compiled is so much PITA, it’s reason enough to dump it.

the darcs website provides binaries for most platforms (windows, OSX, various linux distributions, BSDs, …) and even if there aren’t any binaries you can usually find it in your package manager of choice.

I’ve never had any problem building darcs under OS X using macports. The only issue it has is that the compilation time is fairly long.

A system that does not suck too much is monotone.

Check mercurial.

It’s great to say Microsoft should just use and ship open source, but I’ve seen no mention of the potential licensing problems. There are a plethora of different licenses out there each with implications if you build on top of them, how they can be used commercially, etc. I would have to think that this is at least as important as owning the source since, well, they could always fork if necessary and have the existing codebase.

It’s simply not fair to make broad generalizations that Microsoft hates open source because it doesn’t ship it without addressing this issue.

Tim
http://tmarman.com

In fact, the more I think about this, the more I think Microsoft’s utter inability to integrate open source software of any kind whatsoever into their products might just end up killing them.

I disagree. In reality, people are happy if you deliver a good product reasonably free of defects.

However, considering the success of other well known bloated and buggy software there isn’t much MS can do to actually die. That said, they are good candidates for irrelevance: IBM anyone?

Well we all know that OSS is the new communism, so how a righteous, capitalist and a saint(because crusading against the heathens is sanctity) company can add that trash to their pure codebase.
It would undo all existence!

Shipping open source with a commercial product is just not a good idea since you would immediately become (at least morally) responsible for the performance of that section of the product that you do not fully control.

Have you read a Microsoft EULA lately? They don’t even claim responsibility for code they DO write. Why not just put a new line in the EULA that says and any third party code.

Microsoft is like an old oil tycoon, rich as anything, but one leg in the grave.

the sua for posix comes with some gnu tools, so ms is already integrating open source tools