Why Open Source Rules And Commercial Drools

DroolsI saw a great post this afternoon by Rob Walling of Software By Rob, where he talks about Competing With Open Source. His main point was the fact that while there are some great open source projects, most open source software suffers from usability, support and documentation issues (amongst other things) and this is where commercial software can have the upper edge. While I could see the point he was trying make, I found that over the last few years I have developed pretty much the opposite view. Of course, it all depends on the segment of the software market that you’re looking at (enterprise, mass market etc.), but lets start with the big ones.

Enterprise Software Development

If you’ve done enterprise software development for any length of time you would have heard of or used some of the biggies (note I have predominantly been doing Java development):

All commercial, all owned by big companies, all established players in the market place with years of development effort put into them. So, let us examine these against some of the more pertinent points:

  • Easy of installation – I don’t know about you, but I would say all three that I mentioned above get a massive fail for this one (if you disagree please, I’d love to hear you explain how all those are easy to install)
  • Great documentation – Sure there is a LOT of documentation for all of them, the value of it however is marginal. Most of the information is probably there, finding what you need is a whole other story. Another big fail.
  • Usability – yeah all right, they are usable (sort of), but they have nothing over their open source counterparts in this department. Maybe not a fail, but certainly far from brilliant.
  • Support – well, it is certainly there somewhere. You know it exists, getting your hands on some of this support is a whole other matter. Even if you do manage to get through the layers of bureaucracy and get a hold of someone who knows what they are talking about, it gets you precisely nowhere if you found a bug with the software. It’s not as if IBM will be rushing out a new Websphere release just to fix your little issue any time soon and even if they did, let’s see you easily upgrade.

Notice that I only named 3 big commercial products, that’s not by accident. Undoubtedly there are hundreds of others used in enterprise software development, but the number pales in comparison to the sheer amount of open source libraries and products that are in general circulation. Lets see how many I can list off the top of my head in 5 seconds:

Pretty impressive, and that was the very tip of the iceberg. And the interesting thing about most of those that I listed is the fact that they have decent documentation (for the most part), are reasonably easy to use, are reasonably easy to install (if you know what you’re doing, at least a little) and have great support not only from the developers but from the community. Which is the truly awesome thing about open source products, even the smallest ones will often have a community form around them, a community that is usually vociferous, helpful and that includes developers who actually wrote the product. This is something that even the biggest commercial products usually lack – a helpful community. And consider that with open source software if you do find a bug, you sometimes actually have a chance of getting the products fixed and a new version released pretty much just for you. Granted, this will never happen with the bigger open source products but at least you have a chance and at the end of the day, you can always just patch it yourself and build your own copy (and submit your fix to the developers) because the source code is right there (difficult yes, but at least possible). And to get back to documentation, if you really think about it, open source software is the best documented software of all because you always have the god’s own truth to have a look at – the code. If you don’t understand the doco for an open source product, you can read the code as a last resort; for a commercial product – good luck!

Software For The Masses

Of course we have so far been happily ensconced in developer land, but what about the average Joe Bloggs out there, what’s the landscape like for him/her (Joanne Bloggs :)) when it comes to open source vs. commercial. The field is a little more even here, Joe is not going to read the code, he pretty much wants his software to just work and you know what more and more often these days open source software just does. Sure, commercial products probably have the majority of the market at the moment when it comes to mass-market software, but I would guess that their market share is shrinking. Open source developers have learned that they need to build for the consumer and not for other developers and they’re slowly starting to do so. And the abundance of open source tools and frameworks is making this easier and easier for them.

The only commercial software I have on my machine is … well the operating system (I am a gamer so Windows is a must), and even there my machine is dual boot :). Aside from that, everything else I need to do with my machine is done by free or open source software:

All of these were easy to install (they just worked), intuitive to use and have decent documentation as far as I know (never had to look at any). And as far as support goes, well once again we have the community which is more passionate and helpful around all of the apps that I listed than around most commercial products.

But, I am a developer, I hear you say, I know how to use and tweak all this stuff, surely Joe Bloggs would find things much tougher. Well, to that I have this to say, the only commercial software my parents have on their machine is … once again the operating system, and only because I didn’t want to confuse them too much (they are not developers :)). They’ve been using it fine and I haven’t heard any complaints about lack of documentation, support or usability, the machine does everything they want it to do, what else do you need?

This day and age commercial software is going to find it harder and harder to compete as the world is getting more connected and more savvy. Sure they can make the documentation great (which historically has not been the case), but so can open source software, and the 80/20 rule applies where it all becomes moot after a certain point. Commercial can be more useable, but once again 80/20 rule and you really need to innovate hard to stand out. Easy of installation is getting tougher and tougher to compete on as open source tools get more savvy about this one. Finally support is left, and honestly, no commercial software company has the same type of flexibility to offer support as a great open source product with a strong community. The only thing that you end up competing on is price and ‘nothing’, is going to beat ‘something’ every time.

Image by BL1961

  • http://namingcrisis.net Kamal

    Hey Alan,

    Completely agree with you with regard to a lot of the server-side, enterprise level offerings. I remember working with a colleague who basically had to decompile some Websphere code to prove to IBM support that there was a problem, and it was theirs. I have not delved into WebLogic or Oracle in as far as installation and troubleshooting goes, but I have heard better things about WebLogic (actually, it’s Oracle WebLogic now, so who knows, heck it will be Oracle Java, so who knows, heh).

    Documentation-wise, while Spring has uber-doco, many others are a bit more mediocre (in my view). Websphere is a bit bizarre, in that practically everything, everything is documented in the Redbooks, you just need to be able to find it – once you do though, it’s like finding gold among crap (okay, probably not crap, but you get the idea).

    On the desktop side, things are a bit more gray however (especially doco-wise), but certainly the open source world is learning and maturing. While before the idea was from programmers for programmers or tech-savvy users, now people will take the pain to write UI facades around complicated command-line utilities (at least this is my experience in the Linux world). But as a whole, it is still behind – there are a few notable exceptions (again quoting from the Linux side): desktop environments like Gnome and KDE are generally quite advanced, probably only ‘second’ to the Mac in terms of cohesiveness and UX.

    Support is a funny one – it is probably the biggest irony of all: the biggest case against open source in many less-informed enterprise circles is support. When in fact, free support is available, and answers are driven by the need to help, not by support contracts. The time it takes newsgroups, mailing lists, and forums as well as the quality of the answers is something commercial vendors should think about.

    Heck, for almost all enterprise offerings (Spring, JBoss), commercial support is alive and kicking, both independent, and “official” (e.g. Springsource^H*12VMWare/EMC, Redhat).

    • http://www.skorks.com Alan Skorkin

      Yeah the whole Oracle Java thing is a little scary isn’t it :). And you’re right, it is a fact that many open source products are better supported than just about any commercial offerings, there is a lesson in there somewhere for big enterprise (when it comes to purchasing software) if only they would just learn it :).

  • Jeremy

    My mother is computer illiterate and in her 80s. I have her using Ubuntu Linux with no more (or less) issues than she would have using Windows. And I’ve saved her plenty of money. With no need for anti-virus software and plenty of free (as-in-beer & as-in-thought) software for everything she wants (Web, Email, PacMan & MahJongg), the only cost was the hardware. Being able to remotely support her via SSH and VNC further seals the deal.

    When it comes to dropping rubbishy commercial software from your home PC, don’t stop at the O/S. Get rid of Windows too, I say.

    • http://www.skorks.com Alan Skorkin

      You make some very compelling arguments. The only real reason I’ve left my parents on windows is because mum has to use it at work, and she wants to be able to ‘practice’ what she would do at work on her own (as well as be able to show me exactly what she did if she needs my help).

      But, supporting with ssh and vnc, thats a good point, might dual boot it for the moment and try it out to see what happens :).

  • Pingback: Dew Drop – August 13, 2009 | Alvin Ashcraft's Morning Dew

  • Amanda

    To nitpick, I don’t think it really ought to be “open source vs commercial” – there’s some great open source software out there which is also commercial.

    And I disagree where the “even my gramps can use it without any complains!” argument. If non-geek users aren’t complaining, it isn’t because the software is top notch – it’s because they’ve become acclimated to the idiosyncrasies. This is why our parents still double click on web links in browsers and why they “don’t know where the file went”. It’s the same reason why the majority of features on mobile phones are never used, and why the iPhone UI was such a breath of fresh air (mum actually encodes her CDs to listen to on her iPhone, without any suggestion or instruction from me – I can’t see her being able to do that on Linux right now with equivalent music players).

    After all these years, the average Linux desktop still steals focus just when you’re typing your password into a login box, still doesn’t give you nice mouse acceleration, still doesn’t integrate fully with installing/removing apps, still has very poor consistency with menus and dialogues.

    You mention OpenOffice; it does mostly work, but ever seriously used styles stuff in it? It makes far more “developer sense” than the equivalent in MS Word but it’s horrendous compared to, say, Pages on the Mac. Then there’s Inkscape, which is perhaps the foremost open source vector art package, but again, the usability is a far cry from the commercial products in the same space. The GIMP – I love it, but again, it’s anything but a model for usability. Eclipse… eh, I won’t go there.

    These are all quality issues that the layperson isn’t going to know to complain about (because they’re either fudge around and come up with a learned work-around, or come to accept that “it just does that”), and which commercial OSes and applications (well, some more than others…) worked out long ago.

    (Then of course, there are some open source applications which are simply amazing, but my point is that there is nothing inherent in open source which contributes to quality.)

    • http://www.skorks.com Alan Skorkin

      I can’t really argue with anything you said, it makes sense and since I am not a mac user i can’t really comment regarding that. Purely from a linux vs windows perspective though, win doesn’t really have any awesome features right now that lin should really take on board (in my opinion), mac may be a different story all together (although i have other issues with mac which we won’t get into :)).

      You’re right though, there is nothing inherent in open source which contributes to quality, but neither is there anything inherent in commercial software which contributes to quality.