Why Open Source is Better for Your Business than Microsoft

I think everyone in the technology field knows Microsoft, you either love them or you hate them.  It seems there are more haters these days than those that love them and it is often times their own fault.

Commerce Server

My problems with Microsoft have been rooted around a project I had done for a client many years ago based on Commerce Server.  For those of you that don’t know, Commerce Server is a product which allows users to setup a complete commerce system based on the Microsoft platform.  It also allows developers to heavily customize it to meet the client’s needs.  Oh, and it is expensive.

This version of Commerce Server relied heavily on XML and XSLT for rendering pages.  Microsoft was high on XML at the time as it was the technology to solve all of our problems.

Along came .NET and the next version of Commerce Server was all based on .NET and XML was not the hotness any longer so they re-wrote from scratch with all the bells and whistles of .NET.  What did this mean for the client wanting to upgrade to the new version of Commerece Server?  It meant, there was no upgrade.  It meant their entire code base was garbage and had to be rewritten from scratch.

This was certainly a dilemma.  Do they reinvest in Commerce Server and build their site from scratch, hoping a future version of Commerce Server would not require the same rewrite?  My recommendation to them was to toss out what they had and rewrite their system in plain old ASP.NET and C# at the time.

I think this worked out well for them as they don’t have to rely on something that Microsoft could drastically change down the road and leave them in a bind.  Sure, Microsoft could change ASP.NET but at this point it is a safer bet it won’t change that drastically.  It is at this point I really became suspect of Microsoft and buying into what they tell developers is the next great invention that we should use.

Enter Silverlight

Microsoft has been all about Silverlight for the last couple years as their solution for cross-browser, cross-platform rich Internet application development platform.  The idea is we write it once, we run it everywhere.  I think we’ve heard this one before (Java, I am looking at you).

The Microsoft Professional Developer’s Conference is happening now (or just ended) and news coming out of Redmond is they are pulling back on Silverlight and HTML5 is the way to go.  An interview by MaryJo Foley with Bob Muglia from Microsoft tells the tale:

Silverlight is our development platform for Windows Phone,” he said. Silverlight also has some “sweet spots” in media and line-of-business applications, he said.

But when it comes to touting Silverlight as Microsoft’s vehicle for delivering a cross-platform runtime, “our strategy has shifted,” Muglia told me.

So what happens to all of those Line of Business applications these companies have been working on?  I don’t think I would bet my business on any continued development of this platform in the way it was originally sold to developers.

It leaves some folks wondering:

silverlighttweet

This appears to be another dead-end for developers.  Even if it’s not, the waffling about its future would be enough for me not to use it.

Open Source to the Rescue

I was a Microsoft developer for more years than I care to admit and I have been bitten by their change in direction more times than I can count.

The real solution is to control your own destiny and build solutions with open source components.  Speaking as a developer who leverages Ruby and Ruby on Rails, I feel much better about supporting a client and knowing the technology decisions I make for them are safe.   Since it is all open source, I am free to make changes to the framework as I need now or down the road.  The open source community is vibrant and even the smallest projects are active, but even if they die out..you still have the source to do with as you see fit.

Microsoft rolled off projects involving IronRuby and IronPython to the Mono folks and now these projects will live to see another day.

I really don’t care if Microsoft dumps products (or changes strategic direction, same thing) but don’t leave users in a bind.  These projects should be given to the community to move forward and to support.  Silverlight could easily be moved down this path, given to a community to evolve and keep those developers who put so much time and effort into.  Developers would have a way to leverage their codebase and not be left to explain to product owners how they have invested in a dead-end product.

This might start to build trust again in Microsoft by those that lost confidence.  But, open source puts the power and the future of the frameworks and tools we use in our own hands.

  • http://wizlb.myopenid.com/ WayneB

    Why did you need to upgrade your Commerce server project if it was working? Are they going to take back Silverlight 4 and make it stop working for LOB apps?

    Not sure I see a problem here. You know the same thing happens in Open Source world. I’ve seen tons of Open Source projects die from lack of maintenance. Obviously, you can take the code and add whatever you need, but would you have honestly started maintaining Commerce Server if it was open source?

  • http://www.accidentaltechnologist.com Anonymous

    @wayneb It was a business decision to move off of the current version of Commerce server because Microsoft was ending support. Eventually it will be a dead end.

    The problem is MS changing direction on a whim and leaving developers and business folks without a direction, without support from the company. They do it all the time and only care about the bottom line.

    I am not suggesting I would want to do anything with Commerce Server as open source, it is a bloated POS, I can only imagine what the code looks like. Silverlight on the other hand is likely much better code and if opened up would at least be maintainable.

  • No-mail

    There IS an open-source implementation of Silverlight: Moonlight. So please help yourself.

  • Nicolas

    The problem is not open source or even about a community. Theses type of change occurs too on Open source. And if the community shift to another hot technology, you are stuck with the old one.

    The problem is about choosing the right technology.

    Do you wonder why so many enterprises choosed java ? To be honnest java is verbose, and is less integrated that other technologies. You can do whaever you want on java, but to make it work, you need a little more time than on integrated solutions.

    The key point is that you 10 year old java program still work with the latest server and java version and can be used everywhere.

    The problem with real custom solution is that they change everytime. We have silverlight, javaxFX, flash… And it is all the same thing. Only flash really was successfull but still it’s not a silver bullet. Only HTML/CSS allow you website to be seen by the majority of users.

    Choose maintraim and standard technology is you want perenity. Ofen, making the framework evolve yourself is simply overkill.

  • http://twitter.com/blodstone Hardy Huang

    It happens on Open Source too. You invest in the one technology, time shift, new technology comes in and you are stuck with the old one. The open source technology is not immortal.

  • anehra63 ashish

    Open source has more pros than cons.

  • Paparipote

    I think that , in general, all serious companies are fighting to rise the level of abstraction of its applications and reduce the hard working of informatic solution development. Don’t forget that new complex variables are added every day which are related to security, communications, integration between applications, compliances to audit and economic new rules, language matters, culture of countries, fashion, etc. Today the only constant is change.

  • http://kevdev.mp/ kevin williams

    The license applied to a piece of software does not make it a perfect path forward either. This article is more about trust and learning from past behavior. When a vendor like Microsoft (or Apple or RedHat or Apache or Oracle) switches direction on a project without providing an upgrade path then it is a sign of the regard they have for their customers.

    Many of these changes are the result of end-of-life maintenance contracts which may not be a concern for small companies or companies with large pools of technical resources, but are a need for the rest of us.

    Pay attention to how companies upgrade, the support they provide to their customers, and focus on open (cross-vendor) standards to leave yourself with options if your vendor changes to a direction that doesn’t suit your needs.

  • Andrew

    I can understand the decision to move off of a version because the vendor pulls support. That is, after all, why you choose a vendor and not open source.

    But my observation is this, if you choose open source, you are often choosing “no support” up front. I know that a ‘vibrant os community’ will keep up with security changes, technology trends, and so on. However, only in a few cases do open source projects allow you to purchase support.

    I think of this as being much like buying a house, in which the contractor leaves behind all of his crews tools and the left over materials. Sure, using those tools you can be a “DIY” guy and fix or add things yourself. What you lose is the expertise and experience of those that contributed to the project. (Electricians, plumbers, roofers, framers, etc.)

    It is often not practical to assume you can pick up an unsupported open source project and continue it yourself in a manner that makes fiscal sense. There is a reason for the cost, often a cost-justification, and then an ROI. If you don’t get that from a commercial product, or open source product, don’t use it.

    If things change, well, that IS the nature of business…

  • http://www.accidentaltechnologist.com Anonymous

    @andrew – you are right, there is no perfect solution to any problem and this is a perfect example. My point about open source is a user at least has the flexibility to control their own destiny if they use a project which is open source. Maybe supporting a project which has lost leaders is not a reasonable expectation but at least you HAVE the source and can update if you need to.

    If we rely on a company like Microsoft who, at a whim, shuts down a project and does not open the source, then you have no choice. Choice was removed for you and you are stuck with a dead product.

    No perfect solution but OSS gives you options.