Custom development vs. open source

Not for 'how-to' coding questions but PHP theory instead, this forum is here for those of us who wish to learn about design aspects of programming with PHP.

Moderator: General Moderators

Post Reply
User avatar
allspiritseve
DevNet Resident
Posts: 1174
Joined: Thu Mar 06, 2008 8:23 am
Location: Ann Arbor, MI (USA)

Custom development vs. open source

Post by allspiritseve »

I've done custom PHP apps with a company for the last couple of years. However, lately I have become frustrated because I feel that many of the clients we work for would be better served with an open source application like Wordpress. It's free, it's packed with features, and it has great community support. Contrast that with our CMS which is custom, extra features are charged at an hourly rate, and nobody at our company seems to want to maintain it besides me.

I'm currently taking a break from this company, so I'm looking to do some freelance PHP work on my own. However, I'm at a crossroads. Should I embrace the open source apps (even though I feel they are coded poorly) and start offering my services as a Wordpress developer? Or should I start trying to market myself to higher end clients who really need custom work (and actually have a budget for it)?

How do you justify your custom work in an age when there are plenty of free, "good enough" apps out there that do virtually the same thing?

Any advice would be very much appreciated.
User avatar
Eran
DevNet Master
Posts: 3549
Joined: Fri Jan 18, 2008 12:36 am
Location: Israel, ME

Re: Custom development vs. open source

Post by Eran »

I have a personal interest in this topic, as my company is about to launch a platform for web developers to sell their code as reusable components (was discussed in another thread - viewtopic.php?f=36&t=120934). We thought a lot about how to best answer this kind of questions.

There are several factors at play here, and almost nothing is really free.
First, unless your needs are very simple or specific, most open-source solutions won't be enough as is. For most content sites that have differing requirements, you will need to customize wordpress / drupal / Joomla / any other OS CMS. You do start with a lot of ready functionality, but you will have to put the time in to adapt it to your (your client's?) needs. Depending on the requirements, sometimes it is more worthwhile to go with custom solution for the long run, but either way a time (cost) investment must be made.

Second, many systems simply don't have good OS solutions and some don't have any OS alternatives at all. Many web services fall under this category. For those there's no alternative to build from scratch. You can reduce development time using frameworks but the domain implementation is still completely custom. My company was building mainly this kind of services for several years now.

Third, some proprietary / commercial systems simply can't use some of the OS licenses that are out there in the wild. For those scenarios OS is simply not a viable option.

And last - there might be a good free OS solution that fits your needs very well, but it just doesn't integrate well with your development environment. Many systems are poorly built as you said and they often don't assume they might be running as part of a greater whole. phpBB is a good example of an OS system that doesn't play nicely in integrated environments. It's possible to integrate but rather painful. So you need to balance integration time vs. a custom solution.

In short, I'm all for custom solutions when the need calls for it. If you have the right credentials and know where to look, you can find plenty of clients who will pay the right budget for such work.
josh
DevNet Master
Posts: 4872
Joined: Wed Feb 11, 2004 3:23 pm
Location: Palm beach, Florida

Re: Custom development vs. open source

Post by josh »

Magent's flagship feature is its "configurable" and "bundle" products, and there isn't even a way to import/export those. Customers complain the import crashes on even 5-10 products (if they have 100s of thousands in there already).

I like what Magento is doing business wise though. They're offering a free version, and then selling paid addons. It discourages competitors from trying to compete (who wants to compete with something thats "free"), but it still allows price discrimination. What you do is look at the needs of a big client vs the needs of a small client, and make sure the stuff the big clients need is in the paid version.

Its easy to compete with open source, if you are "sort of" open source yourself. Other strategies include releasing the production code but not the unit tests, etc... Personally I call my "free version" a "free trial", but there is not limit - just no import/export - unless they buy. Even if they buy, they do not get the unit tests. I'd love to give away all the code & unit tests and go open source, but I wouldn't be able to pay my bills.

Because of the way I've done things, about half my income comes from big clients sponsoring one off features they'd like to see exist. The other half comes from the licenses. So I am doing about 50/50 off the shelf vs custom development, but all the custom development adds to the value of my product, it increases demand as I add more features and allows me to charge more for licenses.


------------


Honestly though, there are some good Enterprise CMS applications out there. Wordpress is not one of them. EZpublish is unit tested, but they don't release their tests. Or maybe they do
User avatar
Weirdan
Moderator
Posts: 5978
Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine

Re: Custom development vs. open source

Post by Weirdan »

josh wrote:EZpublish is unit tested, but they don't release their tests. Or maybe they do
Of course they do. It's just not in the zip packages you download from ez.no
Post Reply