Open Source v. custom build web development

 

The Great Web Development Debate

 

Custom build vs. Open Source 

The layman’s Guide

 
 
This is the question that faces many companies about to embark on the production of large web applications or sites.  Are you tempted by the flexibility and ‘anything you want’ attitudes of custom development or does the usability, scalability and ease of development that Open Source solutions really float your boat? Or do you not know the difference?
 
 
putITout will help you tackle these questions, walking you through the differences between the two developmental routes, their pros and cons and hopefully helping you to make an informed decision as to what would be the best solution for you.
 
 
Custom Development
 
A custom/bespoke solution is built completely from scratch.  This allows the owner to have infinite functionality within the site (given enough time and a flexible budget). The main implication of this option, from a project management point of view, is that every aspect of the site has to be considered, designed, defined, developed and tested from the ground up. 
 
 
 
There are areas of risk which surround this method of development.  Given the huge amount of functionality that has to be incorporated and documented, there is potential for a project to be under defined from at the inception of the project.  If this is not addressed thoroughly, the final product can vary greatly from the requirements set out in the original design concept.  The solution is to spend more time at the design and architecture phases, plan and document diligently and assess the potential areas of risk. 
 
As the flexibility of this design process caters to the client’s exact needs, the product should contain very little, if any, redundant programming. The advantage of this streamlined programming is that it will take up less room on the server hosting it and will also be able to process queries more efficiently, allowing the application to run faster.  You will receive an application/site that caters precisely for your requirements without having to make any concessions to functionality along the way.
 
 
 
Pros
 
• You can develop a project to your exact requirements
• You do not need to compromise your functional specification
• You streamline the working code, reducing the amount of redundant code that can effect the speed of the site
• It allows the easy addition and augmentation of the functional elements of the site
 
 
 
Cons
 
• Coding everything from scratch can be a costly option
• If you do not plan correctly, the time and cost of development can escalate exponentially, if this is not a proven competency of yours, look to seeking a development partner 
• More intensive testing is necessary to ensure the quality of home made code
 
 
Open Source
 
An Open source solution is developed using code that has already been written by developers and shared within a community.  This usually cuts down on the time required to develop a solution as you can find the code you need as part of a larger framework.  Open source software has been growing at an exponential rate in the last 10 - 15 years and it is no longer simply “using someone else’s code” – it is far more structured and has become secure and well recognised.  There are now huge open source systems available allowing users to develop large, complex websites without the expertise and effort that has been historically required. 
 
The systems or communities built around specific frameworks allow users to constantly use, develop and add functionality to the community, meaning the available code is ever expanding.  It also means that code that is added to the community is relentlessly tested.  
 
These open source platforms assist less experienced developers to develop larger sites with less onerous advanced planning.  As a site owner expands the site’s functionality, they can see what additional functionality is readily available from the open source environment, and use it accordingly.  As they approach problems, there is usually a solution already available (from someone else who had the same problem before) or there are extensive forums that can be searched for help from the development community.
 
The limitations to this type of development are that, because these systems are built around specific frameworks, there are rules that need to be followed and restrictions to how the code can be augmented.  Thus, a developer/site owner may have to make many compromises when using open source and can end up with less than 100% of the functionality that they originally required.
 
One other point to note is that you lose the intellectual property rights to your code.  If you feel that the key to your business lies within the code that your site is built on, then an open source solution would share it to the world.  
 
 
 
Because of the nature of a pre-built platform it could well have a good deal of functionality within it that is superfluous to your requirements.  There’s a risk that although adding modules and scaling is simpler, (they’re right there ready for you) this code heavy solution slows down the performance of your site.
 
Finally, there is the question of which open source platform to choose.  Different systems provide different benefits.  Joomla (www.joomla.org) is very popular with web designers as it is easier to use for the semi web-literate and provides good integration with front end designs.  Drupal (www.drupal.org) on the other hand is very popular with web developers as it provides enormous functionality and a very powerful CMS.  Others include PHP-Fusion, Smarty, MODx …the list goes on (and can be compared) at http://www.opensourcecms.com/index.php?option=content&task=view&id=388&Itemid=143.  Finding the right open source solution can be difficult and requires a decent amount of thought and research.
 
 
Pros
 
• The OSS development approach has helped produce reliable, high quality software quickly and inexpensively. 
• All code/modules have been tested thoroughly
• Huge sites can be built from a tested platform
• Easily scalable with turnkey additional functionality
 
 
Cons
 
• Have to compromise according to the restrictions of the open source platform used
• Excess functionality leads to redundancies in code and reduction of speed
• Time consumed in reading continuous expanding documentation.
 
 
Conclusion
 
The decision of whether to go for an open source solution or a custom build is not a binary one and will always be dependant on your requirements.  If your budget is limited and you are unsure of the exact requirements of your project, then it is likely that an open source solution would best suit your needs.  This would allow to get a site built and live comparatively quickly and to then play around with the available functionality as you see fit in the beta phase.  putITout has been developing open source applications for some of London’s top media agencies.  We understand the appeal of this type of solution and have a thorough knowledge of what the client is after.
 
However, if you have a strong understanding of the requirements of those requirements, then a custom built solution is always going to be the preferred option.  For a custom build it is very important to ensure that you have a development partner who has been involved in a number of projects before, knows what questions to ask to avoid the pitfalls and has experience in reviewing and creating technical specification documentation.  putITout’s team is the ideal solution to this type of project.  
 
Given that our developers are based outside the UK , we can often offer a custom solution for close to the cost amount of a UK developed open source solution, with all the project management centralised in the London office.  
 
Our expertise lies in both offerings and as such, we are able to sit down with you, work through your requirements and advise you as to the solution we feel is best for you.
 
Visit our website, www.putitout.co.uk, to find out more about what we have to offer or call us on 020 7100 2034 to discuss any project requirements you might have.  For e-mail enquiries you can find us at intelligence@putITout.co.uk.
 
 
 
 
 

2nd April 2008

Posted by Charlie