When open source Web applications fail
If you ask most programmers about the progress of the open source movement, they are sure to tell you significant strides have been made in recent years. Even mainstream open source projects like OpenOffice, Ubuntu and Firefox, are putting a dent in the market share of closed source software applications. However, there is an ongoing propensity to believe among open source initiatives, that the very notion of being open source leads to a successful enterprise. Unfortunately, this is when open source fails. This truth is made even more apparent in Web applications.
At my current job we are in process of establishing a services offering that is centered around open source Web applications. At the helm of the initiative is e-commerce, assisted search and content management solutions. The model itself is built on the very premise that the entire offering is mature, and is only as good as the people that are responsible for the implementation. The benefit of the model is that if our clients do not believe we are the best people suited for the task, then there is a community available to take a hold of the reigns.
This approach has several other advantages, most notably is the cost to our clients. The usual overhead associated with a homegrown solution is that we not only have to have team members to build and support it, but we have to have team members to handle implementations as well. There is also a rather recent development philosophy that demands that open source software be “pluggable” by the community. Extensions, add-ons and widgets are a core feature, albeit unnoticed by the end-user, which encourages customizations without the need to know the guts of the application.
There are of course disadvantages to choosing open source software. The most obvious is that release cycles are dictated by the group spearheading the initiative. Feature sets, bug fixes and overall maintenance is prioritized by a select number of individuals who may not have the same goals in mind as your client. The expectation is that as a developer you will provide functionality irregardless, and you are still responsible for the delivery of a quality product.
With all that being said, there is still one area where open source Web applications fail miserably. It has nothing to do with the ease of installation, the plethora of documentation, the application architecture, or even the auspiciousness of the names attached to the project. Open source fails when open source begins to cater to the community, and not to the end-user.
As a programmer, I say that through clenched teeth and closed fist. I want open source to make my job a breeze. Not only do I want it free, but I want it easy and feature full. When a client asks about additional functionality, a little research should turn up exactly what they need. When so many others express these beliefs, and concerns are voiced in public forums, then focus inevitably shifts. This is completely disadvantageous to those who will administrate content, and to those who will find themselves actually using the Web application.
While evaluating Magento, an open source e-commerce solution, I was exposed to attitudes in the community that made me cringe. I read the discontented musings of community members unhappy with the installation process, the version of PHP required, and the language extensions necessary to complete the install. The comparison? Wordpress. I shudder to think that there are developers who firmly believe an enterprise e-commerce solution is equatable to a blogging platform. I like and use Wordpress, but those expectations are completely unfounded.
I chalk it up to both experience and professionalism. It is either the inability to provide a client with what they need, or the inability to admit you need help to do so. Instead, developers are faced with a hard decision, and they often make the wrong choice. Rather than accepting responsibility, limitations are ascribed to the open source application, and thus begins a downward spiral of smear tactics. Not only does this do the open source Web application a disservice, but it does a disservice to all programmers. If you think I am exaggerating, let me tell you about a recent experience.
While meeting with a client to build a small prototype, I was inundated with several questions about my choice of outfit, the standard fair for most programmers. My attire consisted of sandals, shorts and a t-shirt, and I was a good sport about the brief ribbing. The conversation took an interesting turn when a blanket comparison was issued, which likened my kind to lackadaisical folk unable to meet a deadline or deliver what was promised. Apparently, our very essence prevents us from also relating to normal, everyday people.
I will be the first to admit that wearing pressed jeans, penny loafers and a blue button-down dress shirt would not make me anymore responsible or productive. Yet, I was struck by the idea that this was not the first encounter I had with a client who questioned my ethics based solely on my profession. Being lumped in with lawyers and car salesmen as unscrupulous by trade is not a scrutiny I take lightly. This broad generalization is only brought on by those developers who blame the shortcomings of open source for all that ails them.
With enough outcry from a loud minority, open source Web applications will eventually shift time and resources to meet the demands of the community. This reinforces the notion that what is being built, is done so in order to suit the needs of designers and developers, and not the intended audience. If we are to reclaim our namesake, and “trim the fat” in our field, then this needs to stop. If you are unable to support what you suggest, then you should not be in a position to suggest anything at all.

A day late and a dollar short... comments are closed.
Amen.
Comment by:
Andrew
Open source is not for everyone.
You will have to invest time but in the long run you don’t have to pay anybody… you paid on front (with your time) unless the project is well documented and easy to extend.
Comment by:
pic.micro23
“I want open source to make my job a breeze. Not only do I want it free, but I want it easy and feature full.”
That’s not what it’s for, that’s your problem. Open source is about Free software — not doing your job for you. If a developer writes something useful he may share it. Others who find it useful should be able to modify it and also share it.
You’re complaining you might have to modify source? That’s the freedom presented for you. If you don’t like that option, one must ask why you need open source in the first place. Go pay somebody money to deal with your problems for you.
You’re frustrated because the programmers supporting projects in their free time do not look at you like a client but a user too lazy to modify the source themselves.
Comment by:
Mike
Hi Mike,
This was written mostly in jest, and did not come across as well as I would have liked. Although I may feel that way, and open source is the most capable of delivering, I do not express this belief to the project team leaders. I know that if I do, I will be doing myself and the community a disservice.
That is why I make the final point that I do — if I can’t support it, then I shouldn’t suggest it. If it does not have the feature I need, I should be the one to provide it.
Comment by:
Brian