Hello, guest. Welcome!
EllisLab

News and thoughts from the people at EllisLab.

Open Source vs. Commercial

Posted by Rick Ellis on April 04, 2008

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.

Comments

I totally agree with you. I’m in development for many years from now, and have worked for instance, with SQL Server and MySQL, and the differences are excessive.

Take a look at Linux. We are in 2.008, and there is still no Linux user-friendly-enough to compete between Windows XP/Vista or Mac OSX.
A server administrator may prefer linux (I use FreeBSD), but a home user just gets lost with linux, and have a lot of compatibility issues, and the apps are just not so great…

My approach is something like this: if you dont like teather or literature, you don’t HAVE to read Macbeth. Many people are saying that we all should use Open Source, but we got to be objective about this. Everybody buys a GM car, or a Ford, Porsche, Ferrari car, and nobody asks for the engine.

Posted by Pablo Cuadrado from Rosario, Argentina on  Friday, April 04, 2008

I meant: nobody asks for the BLUEPRINT of the engine.

Posted by Pablo Cuadrado from Rosario, Argentina on  Friday, April 04, 2008

Hey Rick, I’ve been reading thru your blog and really like your approach to entrepreneurship and your advice.  I’m a customer and recently launched our video compression company’s new site on EE ( www.kulabyte.com ). 

Well, I wanted to chime in hear as this post hit home with a current situation I’m in with my other company.  I’ve been looking at Wordpress, Joomla, Moveable Type and others to build our new site which will require blog channels for mutliple virtual users and a community platform. 

Could we chat?  I’d like to know about other resources you may have available plus we are looking for advisors smile...I’ll explain what we’re doing and you can decide your interest level.

Keep up the great conversational tone!

Posted by Jason Cronkhite from Austin, TX on  Monday, April 07, 2008

@pablo: (who said: nobody asks for the BLUEPRINT of the engine...).
Well in case of EE that’s not entirely true. Many car-manufacturers have a closed model (DRM) on their motor-management chips (closed source). Working on these newer cars is most of the time hard for smaller workshops because of propriarity chip-software or expensive readers etc. (exclusive for own brand-dealers). Expressionengine however does come with the blueprint. You are allowed to hotrod or pimp your EE-car as you see fit and you can. This is an important feature for me choosing EE. So commercial doesn’t have to mean closed-source. I like to be able to work on my car’s engine (not sealed)… But i liked your MacBeth analogy.

Posted by GDmac from NL on  Monday, April 14, 2008

Agree on the desktop side.  Disagree on the server.

Posted by Hans from Seattle on  Friday, April 18, 2008

Commenting is not available in this weblog entry.
EllisLab Products and Services

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

Powered by ExpressionEngine, of course!