Is Microsoft as Free as Open Source?

September 11th, 2009 by jeremychone

Jon Davis posted an interesting article discussing whether the Microsoft stack is really more expensive than open source alternatives.

Jon has a point; Microsoft’s restricted (i.e., Express) editions are as free as the open source alternatives. This is undeniably true, since the purpose of many software vendor’s “Express” edition is to compete against open source on price. However, the difference is that with open source you get the full-powered editions. For example, Linux (e.g., CentOs), Xen (for virtualization), PostgreSQL/MySQL, Apache, Java, Tomcat, AspectJ, Lucene, Hibernate, and Eclipse are all robust, full-featured, and powerful technologies available for free to developers. The variety and the quality of product available from the open source community are just astonishing.

On the other hand, Microsoft’s “Express” editions are just limited editions that are understerdanbly designed to lure the users to the full ones. Therefore, in the end, developers should not be duped, if they are using a Microsoft product, they will pay Microsoft.

Furthermore, the biggest benefit of using open source technology is not related to the price. Open source tools are built with the single agenda of making the technology increasingly better for the developer. Technologies produced by software companies have other driving forces, such as business agendas and internal politics. Having worked for big software companies, I can testify that there are many political distractions during the conception and evolution of any product, and often obvious features or integrations do not get done or get delayed because of internal politics. The “from developers for developers” open source model creates a very effective environment in which to produce high-quality technologies for developers.

Nevertheless, for Microsoft shops, the price to move out of the Microsoft stack might be very expensive and discouraging. In my youth, I was an MSDN subscriber (even a proud MCP holder), and I found it emotionally hard to switch. (Kudos to Microsoft for its great developer marketing!) However, for any developer or IT organization that has not invested too heavily in the Microsoft stack or that has already invested in both, I would definitely recommend investing more in the open source stack as it will continue to provide robust, advanced, and full-featured technologies to which you can add even enterprise support (e.g., RedHat). In most cases, these technologies will not have fancy marketing packages and nice dialog boxes, but it is the users who need the nice dialog boxes, not the developers.

Lastly, I find that Linux/Unix is more appropriate for servers than Windows, and once you know how to manage Linux, it is hard to go back to the Windows way of doing things. However, most people do not like change, even though we say we do, so our arguments will always be tainted by our own experience.

Note: This is by no mean a rant against Microsoft or proprietary software in general. I actually have great respect for Microsoft as a software company. I am a dedicated Microsoft Windows and Office user (even if I like to use Google Docs for some of my work) and cannot wait to update my laptop to Windows 7 and the next upgrade of Office and Visio. I like to describe myself as a pragmatically open user who favors open solutions but does not hesitate to use proprietary ones when the open alternatives do not satisfy my needs (i.e., Adobe Photoshop). I use Windows for my PC, Linux for servers, and Android for mobile.

9 Responses to “Is Microsoft as Free as Open Source?”

  1. Reno Says:

    I agree at 99%.

    1% left because the description of the open source world is too simplistic for me.

    For instance:

    Open source is good for technical components (SGBD, framework, library, web server…). It’s rarely good enough to be used by an end user.

    Open source is often used to threat a competitor on its primary market. (think of Java IDE or office suite and so on…) So the “from developpers for developpers” hum…..

    Good article! Thanks

  2. Jeremy Chone Says:

    @Reno, actually, I agree with you, open source is really good at creating tools for developers, but not yet there to create end-user type of applications (Firefox might be the only exception)

  3. SeanJA Says:

    @Jeremy Chone: Firefox may be one exception, there are others: Chrome is quite good, VLC, DosBox, Java… the list can go on and on.

  4. Jon Davis Says:

    I think I mentioned the Express versions a bit too much, but they do count for something. The thing is, I don’t think I’d ever stick with the Microsoft stack if I had to pay more than 10% of the normal license costs (i.e. anything more than nothing) because I’ve made it this far in my career track without having to buy anything. As I mentioned on my blog, there are ways to get the most exensive bits without spending anything.

    Yes at some point an established, profitable business would have to pony up the dough, but that’s business. If you can afford open source developers’ salaries, you can afford Microsoft licenses, too. The purpose of my blog article was to dissuade people from being afraid of the Microsoft stack when they’re in a greenfield project (starting something out) and broke. The mistake a lot of people make is that they think they HAVE to use open source. In my opinion, the dependency upon a commercial product where it eventually starts costing money but only after a fair shot is a good motivator to be successful.

    All of these being arguable points, I know, which is why each of us has his own opinions and would tend to stick to his guns no matter what is said by whom.

  5. Jon Davis Says:

    Also, I might add, ..

    “However, the difference is that with open source you get the full-powered editions. For example, Linux (e.g., CentOs), Xen (for virtualization), PostgreSQL/MySQL, Apache, Java, Tomcat, AspectJ, Lucene, Hibernate, and Eclipse are all robust, full-featured, and powerful technologies available for free to developers.”

    CentOS only recently became the standard, in my experience in the past (which is behind us all, I admit) companies relied on commercial distros like RHEL. Xen? HyperV is free after Windows. PostgreSQ/MySQL? For small-to-medium solutions, SQL Express really is the bomb compared to those, and btw MySQL has a $599 full version as I mentioned. Apache? IIS is free after Windows. Java? .NET is free after Windows. Tomcat? IIS is still free after Windows. AspectJ? Hrm not familiar with that one. Lucene? Lucene.NET is a fantastic port to the Microsoft stack. Hibrnate? NHibernate is what all the Alt.Net’rs are talking about these days, plus they added “Fluent NHibernate” to take it up a notch. Eclipse? Well now that’s the core of the debate, isn’t it? Eclipse vs. Visual Studio. I’ve made my choice; to each his own.

    Jon

  6. Jeremy Chone Says:

    @Jon, first, thank you for dropping by.
    As I said, we might be both a little bias, so, I do not think we are going to convince each other. However, for sake of argument:
    – SQL Express: Who would want to deploy any production application on a 1GB RAM and 1CPU limitation? Oracle Express as the same type of offering. It’s cute, but does not go beyond the first date.
    – Windows Server: Anyway you look at it, it will cost money. You can settle with the Workstation version (with whatever limitations they put in), but with Open Source, you get the bits for free and fully powered. Then, if the IT department wants to mitigate risk they can buy RHEL which will give them an enterprise level support. Best of both worlds.
    – MySQL or PostgreSQL: True some extra functionality are for sale, but the SQL database is free and is fully powered. No CPU, RAM, or any other restrictions somebody might artificially put in.
    – Visual Studio Express: here again, with Eclipse you get it all. My understanding is that Visual Studio Express is limited. Is that true?
    Anyway, if your company is paying the Microsoft developer tax (i.e. MSDN subscription) you have no reason to move out. I am just saying that for new IT organizations or new enterprise SaaS startups (like the one I am currently building) it would be suicidal to go with the Microsoft stack.

  7. Jeremy Chone Says:

    @Jason, just approved your comment #4, somehow it got stuck in the moderate queue while #5 got automatically accepted.

    Great discussion, and yes, we both agree that we might disagree. I do think that for greenfield project, going open source is a better bet in most cases. Developer will have more room to grow and they will be completely free to design when and if they want to pay for enterprise support.

  8. Links 15/09/2009: ARM Joins Linux Foundation, Nokia Defends Linux Diversity | Boycott Novell Says:

    [...] Is Microsoft as Free as Open Source? Lastly, I find that Linux/Unix is more appropriate for servers than Windows, and once you know how to manage Linux, it is hard to go back to the Windows way of doing things. However, most people do not like change, even though we say we do, so our arguments will always be tainted by our own experience. [...]

  9. DaveX Says:

    Open Source free? Well, no, you are supposed to invest your time and effort. Otherwise, you are a cynical exploiter of others’ idealism.
    Microsoft really looks after its developers.
    Also, with Open-Source Dot Net phenomena like DotNetNuke, there is huge Open-Source potential.
    There will always be the temptation to provide a Public (Free) version and a Pro (Paid For) version of open-source software.
    Paying for something with money, or paying for it by donating free work. That’s the choice.
    The question is: Isn’t paying for something with money the best way of recognising and measuring business value?
    DX