Custom development vs. open source

We’ve been busier this year than any previous year because of Drupal development. None of our clients want basic sites, they want eCommerce, Events Management, CRM, scheduling, self server job/resume posting, Wiki’s, back office document management areas, etc… All of that is custom and even if the solution can be achieved through installing and configuring a few modules, it requires some developer finesse to do it right.

I don’t consider that custom… Its more of installations specialist lol

I’m not sure how many of you are into Sportbikes and Cars… You have your Installations and You have your custom specialists. Using open source application is having a sportbike that’s already all done out for you and you’re just installing additional modules install it nothing custom about that. But getting into CUSTOM programming and mechanics you’re working from the inside out and customizing an application that is specific to your client. I believe that’s where the money really is, definitely residual. I wouldn’t base my business on a Drupal / Joomla client they come and go.

yes you make money based on bulk and watching clients come and go but i don’t really think that helps your portfolio at all. Sure i’ll install a Joomla site and add a few modules here and there pay me $500 10 clients like that seems profitable at first but that money burns fast. compared to custom coding an application that helps you build a relationship with a client. you can end up bringing in $2000 a month for next 5 yrs.

So that brings me back to the custom cars and sportbikes. If you have a trusted mechanic that worked on your bike or car and did alot of real custom stuff to it, i’m sure you’re going to stick with that guy for years to come.

Absolutely! I bring that up with my clients when we discuss technology directions emphasizing, that if we follow the path of a well supported Open Source project, there is no vendor lock-in and should they choose to part ways with me sometime down the road, all they need is another developer who is fluent with the framework to support and/or extend it.

I am not really a fan or wordpress because I am a crotchety programmer who can do his own designs as well. For someone who just want’s a blog/mind-dump website and wants to use a basic theme WP is fine.

But I find it highly suspect when people use WP to power their business website. Indeed, you could spend more time trying to shoehorn a new plugin into the WP ideology, or find hacks around things that don’t fit. But then you are asking for profiling and debugging issues when you start to scale out.

So…

I personally would rather I build my own CMSs directly for the needs of the client. You could in fact use a MVC framework like CodeIgniter or Kohana and build a really fast Php5 based CMS. Add in modular libraries ( for CI ) or the native HMVC of Kohana, tie in some custom code like a Base Controller that handles CRUD functionality for all database-enabled pages.

This way you can build pages by metadata ( Ruby on Rails anyone? ) that wraps around your custom database schema.

I have made such a CRUD library you can check out my bitbucket repo for it:

http://bitbucket.org/michaelhowell/crudform

Anyhoo… I like this much better than a community driven project. If a company needed ‘support’ then I’d probably go with ExpressionEngine, made by the folks who put out CodeIgniter. Everything WP does and probably more ( like forums and CC processing ) natively.

We had this problem too. Tell him that it’s open source and the features are available online. Other feature will be custom to your site and therefore will have to be charged extra on an hourly rate.

What you could do, is maybe charge him less, and give him non-exclusive rights to it, so that it can be resold to another client. This way you will be covered. However, if you think the feature is pretty confined to the client’s website, you are better off charging him extra and seeing what he says.

In either case, CMS or not, you will still have to program your own code if the client demands it.

Don’t try to give the impression for each CMS feature is hand coded by yourselves. With this kind of deception you are only asking for trouble.

PS: Everybody has to make money, it’s just the way it goes. Just because it’s freely available online does not mean it’s free to them. You have to calculate your labor and time spend, otherwise you charity will surely go under.

Also, would you charge your client a modest fee to set up wordpress then charge them probably close to 3 times that to add any non-trivial feature 3 months later? I don’t think the client would understand the price difference.

Charge them a normal web development rate per hour. I hate giving hourly rates, mainly because clients hate them too. So I just estimate and give them based on a rough hourly rate.

so i guess it really depends on the client and the situation.

… and their budget :stuck_out_tongue:

Open source can make you more money.

From my experience, I have been able to leverage the ‘open source advantage’ in sales efforts. By going into a bid boasting the fact that your solution is based on free and open source technology, it differentiates you from competitors using a proprietary CMS’. And I would argue that it gives you a huge advantage.

At least 2 big jobs I’ve been awarded the client told me specifically they felt more comfortable with open source vs locked into a proprietary CMS (in part because I educated them during my sales pitch).

This isn’t 2002. Drupal, Wordpress, and other open source CMS are more robust and flexible than ever.

Amen to that. Have you read Steve McConnell’s Code Complete 2? He doesn’t make a big deal about it, but he clearly identifies the problem with this kind of thinking. 3rd party software replaces construction time with set up time. That would be great if Construction were the phase that ate up your time… but 90% of the time (and I’m being generous) Maintenance is the development phase that eats up vast amounts of your time. “Saving” time during construction to screw yourself during maintenance. Would you “save time” when building a house by running water pipes half way through the yard, and then go outside every morning to bring your bath water into the house bucket by bucket?

Remember only the source code is “free”, as soon as you do any customisations that starts to incur cost, eg your time.

Using an open source package such as WordPress can be a great way of doing things.

It allows you to take advantage of the hundreds of developers who are contributing to WordPress, and the thousands of available plugins/themes.

You can easily write your own plugins/customisations on top of WordPress if you need to.

The main thing to look out for is which license applies to the open source software. For example, WordPress is GPL (which is a “copy left” license), which effectively means that anything you write that interacts with WordPress (eg a plugin or a theme), if you distribute it to others, it must also be under the same GPL license. Other licenses such as BSD or MIT don’t force you to use the same license for your own code, but the GPL does (if you distribute your work).

Ps, I’m not an expert in software licensing, but that is my interpretation of it.

James

It started out as a blogging platform, and its primary use is for blogging, but it’s easily adaptable to fulfill the role of a CMS. In fact, most sites I’ve worked on in the past year or two are using it as their primary CMS. It’s very flexible and has a huge selection of plugins that can add functionality or modify the way something works. For instance, there are 3 e-Commerce plugins I can think of off the top of my head, so wordpress can essentially be used as a storefront.

Really interesting question - how about using an open source CMS that is not coded poorly? Or more importantly using one that is flexible enough to grow with client demands?

Your comments on Wordpress are entirely justified and I frequently find it difficult to understand why it is praised so highly. It’s a great blogging engine, with wide spread support, but that is all it is.

DM

I’m not really sure why (or what) you’re asking here. This is a very, very subjective topic and only you can really make the choice of which direction to take your work.

As for open source versus custom development, I’m not really seeing the opposition. You can (and I would go so far as to say, must) mix open source with your own bespoke work to get the best from what is available. If you’re seeing the situation as a choice of one or the other, I think you need to step back a while and reconsider the problem.

Imho, it’s a fine line that you need to tread very carefully. If you use wordpress and the client suddenly wants to do something beyond that which wordpress (or joomla, or whatever) can handle, you’ll likely need to spend several hours more developing code for it than you would extending a piece of software which was well written to begin with.

I guess the question is, how likely is it that the client will require something that the CMS can’t offer?