Hello, guest. Welcome!
EllisLab

News and thoughts from the people at EllisLab.

Open Source vs. Commercial

Posted by Rick Ellis on April 04, 2008    Permalink

There has been a long-running debate as to the merits of Open Source vs. closed source (commercial) as a software development model, so I thought I would post my thoughts on the matter. 

Note: When I refer to “Open Source” I’m talking about the licensing of the product.  The source code of ExpressionEngine is open and almost entirely unrestricted, but it’s not distributed under an Open Source license.  Conversely, CodeIgniter, our application framework, is distributed as Open Source.

I’m about to make a statement that might ruffle some feathers, but I believe I’m qualified to make it, since we develop software under both licenses: 

Commercial development nearly always produces more compelling applications, faster development, more consistent code, more responsiveness to users, and provides a better customer experience. 

If you are a proponent of Open Source, show me the equivalents of Photoshop, DreamWeaver, MS Office, Illustrator, ProTools, TextMate, QuickBooks, FinalCutPro, Reason, Performer, iMovie, Transmit, SuperDuper!, AutoCad, Avid Xpress, any video game, and thousands of other successful applications.  For every product I listed (and admittedly, my list is Mac-centric since that’s what I use) there are many viable commercial alternatives, but few Open Source ones.  The ones that exist can rarely match the capability or raw development speed of their commercial counterparts.

The only Open Source companies that can compete on a similar level are those that generate enough revenue from ancillary sources to support a dedicated development effort, like PHP, MySQL, and Linux.  But for every MySQL there are thousands of others that can’t create a model that produces a highly competitive product.  In some limited realms like operating systems, server platforms, and small web applications Open Source has emerged as a competitive model, but these are exceptions that have secured significant outside funding, or that are small enough to be maintained by a tiny development effort.  Overall it’s not even a contest.

I do acknowledge that there are some advantages to Open Source, like the ability to use the code in any manner, for any reason, and in any way a user sees fit.  However, these are usage benefits, they are not development benefits.  In other words, the end user gains some rights, but these come at the expense of the developer’s ability to focus on the code, affecting how good a product he can offer.

When you sell software, as we do, you are in fact being paid to write code.  When you give it away for free, as Open Source companies do, you have to find a different way to earn your living, thus limiting the time you can spend on development.  Which business model do you think will produce code faster?  Which model enables the business to focus on its core mission?  Which model places more emphasis on the needs of the end user?  Which model generates working capital, enabling the business to expand, hire staff, and offer new opportunities to their customers?

We produce our own Open Source product, and our solution to moving it forward efficiently is to build our commercial application on it, so that we can invest our core development efforts into it.  Without that, we would not be able to put much time or resources into that project, limiting its growth.  On a personal level, I like Open Source a lot.  But as a development model it does not generally enable better development.

Another important point is that commercial software companies usually take better care of their customers than Open Source companies.  Why?  Because when happy customers correlate directly to your ability to earn a living you’ll work harder for them.  Obviously Open Source companies care about their users too, but the dynamic is different.  The level of responsibility a developer feels toward the end user is not as great when the user has gotten the app for free.  There is not the same sense of urgency to provide tech support, bug fixes, and add new features for free as one does toward those who have paid for a product.  For those of us who develop commercial apps, its those features and benefits that help sell more software, so we focus on them.

At EllisLab we employ several tech support professionals, and our development team provides support too.  Support is provided at no charge as an added value of purchasing software from us.  Our response time is very fast, and we have a total commitment to it.  There is no Open Source equivalent.  The only way to get official support is to pay for it through a support contract, or hope that a community member will assist.  The former costs money, the later is not as consistent, nor does it have the follow through, nor can bugs be addressed officially and fixed immediately when they surface.   When you factor in the benefit of support, the speed at which we resolve bugs and take care of problems, the cost of ExpressionEngine is quite small.  And for those who rely on ExpressionEngine for business, our support and responsiveness offers great peace of mind.

Passionate advocates of Open Source tend to tout the benefits and minimize the downside.  Yes, there are some benefits to Open Source, but there are certainly negatives.  From my vantage, in terms of developing a better product and being responsive to ones customers, a commercial development model usually wins. 

Lest I be branded a heretic let me say that I love many Open Source apps.  Heck, we’ve built our entire business upon two of them:  PHP and MySQL.  But we didn’t choose PHP and MySQL because they were Open Source, we chose them because they were the de-facto standard for web application development.  Had either of these apps not been Open Source we would have still used them.  It isn’t Open Source that makes PHP and MySQL compelling, it’s the fact that they are the best in class and have huge market share.

I’m not an absolutist with regard to licensing.  I look for the best applications that meet my needs.  In some cases it’s Open Source, in most cases it’s not.  But my criteria is not based on ideology, but the more practical desire to fill my toolbox with the best available tools.  I don’t care much about the licensing of the software I use, nor do I worry whether the software will be around forever.  I care whether they are the best in their genre and whether they meet my present needs.  For me, the best are usually commercial apps.

EllisLab Products and Services

Copyright 2002-2008 · EllisLab, Inc. · All rights Reserved

Powered by ExpressionEngine, of course!