Open Source vs. Custom Build – Which is Better? A guide to choosing between Open Source and Custom Built Solutions
Building a website from scratch is a great way to get all the bells and whistles you need just the way you want them. Custom-built solutions are very flexible. You determine the look-and-feel, the functionality, the tools, the engagement mechanisms, the administrative interface, the reports and the integrations with 3rd party software, such as CRM tools (Customer Relationship Management), marketing optimization tools and the like. However, all that flexibility comes with a cost. The cost can be high, especially if you do not take the time to plan. Then there is the issue of hiring the right developer or development team who understands your vision, your needs and is completely capable of bringing the project to completion on time, on budget, and up to specs.
The alternative is generally seen as less expensive: use a CMS (content management software) platform. CMS platforms can be either “free” open source, such as Joomla, WordPress and Drupal, or be a paid solution, such as Sitefinity and Sitecore, or even be an industry-specific service that provides most of what you need for companies in your specific industry. For this post, I’ll concentrate on the open-source platforms since they have grown so popular.
At first glance, open-source software products provide a lot of functionality and provide it free. The core of the CMS functionality is that it allows non-technical users to add pages and content easily. This is very compelling to any company who has had to pay for every content update and it also addresses the demand for lots of frequent site updates. In truth, open-source dramatically lowers the costs for these tasks by bringing them inside your organization.
However, today’s web demands increasing sophistication and sexy functionality. We expect it because we see the top sites using carousels, lightbox effects and more. But the core functionality of open source lies in the CMS, not in the specific functions your site design will surely require and that, in my experience, is where the cost and complexity lies.
Beyond the CMS, additional functionality is achieved through plugins. These are little programs that are written by open source developers to enhance the core product. Choosing the right plugin from a reliable source is where the expense begins:
- There are many free plugins, but it’s very likely that you will have to purchase some as well, Ka-ching!
- Regardless of the plugin is free or commercial, your developer will have to install them, Ka-ching!
- It’s likely that there will be compatibility issues, Ka-ching!
- It’s likely that the plugins won’t work quite like their description or exactly the way you want or need them to work, Ka-ching!
- You might have to look for another plugin, customize an existing plugin to your needs, or build one from scratch. Ka-ching! Ka-ching! Ka-ching!
There are further issues with plugins, the more plugins you add the more chances of incompatibly you will have when it’s time to upgrade to the next version of the core open-source software. “OK”, you may think, “we will not upgrade!” But here is the rub, upgrading is your first defence against security problems and other issues. Keeping your core software up to date is an absolute must for a technically stable site.
Plugins are a necessary evil when using open source solutions and that’s why they need to be chosen carefully so development and maintenance costs can be minimized. If you do not choose with care, the cost of open source can be as high as the cost of building a custom solution.
Whether executing a custom build or using an open-source platform, planning is the key to success.
In reality, no matter which way you go: custom or open-source, building a web site is never without bumps along the way. Once you see how things work it is entirely likely you will want adjustments. To build that into your plan.
Whether you're a small, mid-size or large business before you begin carefully consider your options. There are no right or wrong solutions, it all depends on your needs, so before you the green light to a build:
1) Envision: Envision how your website would work if there were no budget limitations. Envision all the engagement mechanisms, the tools and the features and how each one would function. Take time to consider your multiple audiences and user experience.
2) Specify: Review the top open-source platforms available, such as Joomla, WordPress and Drupal, and their plugins. Will any of them fulfil your vision? Do they have all the plugins you need or will you have to customize or write a plugin from scratch? Create a feature set document where you specify exactly what your site will require, then determine, which, if any, open-source platforms will fulfil those needs. In my next post I’ll detail the pros and cons of each, but, at a top-level, here is a general rule of thumb:
- WordPress is great for businesses that need a cheap site with blog functionality. It also has many plugins that can be used to expand its functionality.
- Joomla works well for sites that demand more complexity than a WordPress build but are not hugely demanding. It has powerful resources and an easier learning curve for both developers and end-users. But it has limitations, it requires repetitive work and understanding of code and it might take more time to get the site working then a Drupal build.
- Drupal is for complex sites. It has a higher learning curve for the user, it will require more experienced developers, but once you get the hang of it, it’s smoother and more intuitive than Joomla.
3) Quote: Once you’ve specified your needs, get a quote to build using a CMS or to build a solution from scratch. Beyond price, consider the developer’s experience and team size, scheduling and the developer’s ability to deliver on time, on budget and up to specs. (Check references with care.)
4) Review and Plan: In my experience, clients experience sticker shock at seeing the estimates for the first time. But don’t worry, you can get what you want for what you can afford if you break the project down into manageable development phases. Prioritize the features you must have now and slide the “nice-to-have” features into the next phase. This is an excellent practice: building a solution now that can be made ready to easily expand for future needs.
5) Execute: Now that you have your plan, go and execute it! You will never regret all the planning time invested.
if you need expert support, you can visit the Best Software Company in Bangladesh