One of the questions we are constantly asked when starting a new project is “Should we use an Open source solution?”
Naturally the answer to this question isn’t as straight forward as one may think.
Open Source – What is it?
Open source is basically a collection of code that is freely available for anyone to use, thus making it “open” for everyone. Read More
Bespoke – What is it?
Bespoke is a collection of code that has been written specifically for the task or project. Read More
So based on those explanations you would think that Open Source would be the correct choice, but you’d be wrong!
Pro’s & Con’s
|Security||Anyone can view the source code and develop ways to circumvent and bypass the security.||The source code is only viewable by the developers making it harder to do specific exploits and targeted attacks.|
|Implementation Time||Can be implemented very quickly by an unskilled person.||Requires development time and skilled people to implement.|
|User Experience||Due to the number of people able to view the source code the user experience is normally quite high.||This is down to the developers and their understanding of the requirements. This means that the User Experience could be high, but also low.|
|Project Requirements||Not all of the project requirements may be met by a single open source solution||All project requirements will be met.|
So you see from the above it is never as simple as it sounds. The project itself will dictate what solutions should be used, of course there are some developers like CANDA Systems who create bespoke solutions for a wider demographic, allowing them to compromise between the two techniques.
How does this work with Online Applications / Internet Rich Applications
Generally when creating applications for the Cloud you wouldn’t use an Open Source solution. The reason is because you are writing an application that hasn’t been created before. Of course you can use open source solutions within the project to handle certain tasks, but generally you would try and restrict access to the source of these files to help with the security of the application.