These days there is a multitude of ways to build a website and, depending on who you talk to, some ways are better than others.
In this post, I’m going to go through a few of the options and explain why we favour popular open source systems for the majority of our client’s needs.
What is Open Source Software?
Open-source software (OSS) is computer software with its source code made available with a license in which the copyright holder provides the rights to study, change, and distribute the software to anyone and for any purpose. Open-source software may be developed in a collaborative public manner. According to scientists who studied it, open-source software is a prominent example of open collaboration.
In basic terms, software that is not distributed as open source is either:
- Distributed with a licence which prevents the licensee from modifying any of the underlying code of the system.
- Ships with obfuscated code which makes it near-impossible to read.
- Is hosted by the vendor for a recurring fee (Software as a service – SaaS) with no access to the code (Although, the best services will offer an API).
Using closed source software can potentially lock you into that system and make you reliant on the vendor to provide updates and new features.
Open Source vs Proprietary CMS
Many web development companies will often push clients to use their ‘in-house’ developed content management solutions, often citing reasons of security.
Proprietary systems can also be released with an Open Source licence, but they bring with them a number of drawbacks.
One of the main arguments from the creators of proprietary systems is that popular systems such as WordPress and Joomla are regularly hacked and that using their system will prevent that from happening.
In reality, this is not strictly true.
The core systems of these open source CMS’s are continually updated with security fixes as they are discovered by thousands of developers around the world.
By comparison, custom systems operate with what’s called ‘Security through obscurity‘ in that, it doesn’t matter that you left the backdoor open, since no one knows where to find the door.
They are still open to attacks that target easy passwords, general weaknesses in the programming language and operating systems and need to be updated to be compatible with the latest versions.
With a custom system, you are putting your absolute trust in the developers coding abilities with regards to security.
Client – Vendor Lockin
If issues arise with a custom system you will generally need to go back to the company that created it for you, since they are the only ones that know exactly how the website functions.
To hire a new developer would require them to spend time learning how the site works.
If your site is built with an open source CMS then there are many other developers out there working on the same system, so it’s easy for you to change companies with minimal costs.
New functionality would generally need to be written from start to finish which can come at significant costs.
With popular CMS’s, most things have already been done in the past and are available as add-ons, either for free or at a cost which is significantly cheaper than developing the same functionality from scratch.
Ease of Migration
In the future, you may find that you want to move from one system to another.
This may or not be an issue and would usually depend on the type of website you have and the amount of data it contains.
For popular open source CMS systems, there are usually import/export tools available which can be used to import data from one system to another.
In a proprietary system, this would need to be written from scratch and may take significant time and testing which comes at a cost.
Why We Choose WordPress for Websites
There are thousands of popular systems out there, each with their own pros and cons.
Whilst each project should be assessed individually, WordPress meets the needs of the majority of websites.
According to the website tracking app Wappalyzer, 76.4% of all sites on the internet identified as using a CMS are powered by WordPress.
Its popularity ensures that development/improvement will continue for the foreseeable future.
If you want to add functionality to a site, there is a good chance that it has been done before and a plugin is already available.
Ease of Use
One of the reasons WordPress is so popular is due to how easy it is for people to use. The admin area is well organised and a lot of thought has gone into the post editor.
The admin is responsive by default which makes it easy to use on any screen, but there are also iOS and Android apps available specifically for editing, as well as a cross-OS desktop app which allows you to edit content without having to log into the website.
WordPress makes it easy to add ‘Custom post types’ and ‘Extra Fields’ to extend the built-in posts (Blog pages) and pages (static pages such as ‘About Us’).
This makes it extremely quick and easy to add new sections to a site such as ‘Team Members’, ‘Property Rentals’ and any other content you can think of.
Security patches are automatically installed as they become available to keep the site secure (Major version updates still need to be started manually by a site administrator).
WordPress has a strong policy against backwards breaking changes so updating themes and plugins for future updates usually requires minimal work.
Are Custom Systems All Bad?
No, not at all, in fact, many are extremely good and we occasionally build our own. However, they are more costly to develop and suited more towards enterprise applications with ongoing development.
If you do find yourself looking for custom application development, you can minimise some of the issues discussed above by ensuring that it is built on a secure open source framework such as Symfony, Yii2 or Django.
How Open Source Affects Our Clients
There are endless options available for doing anything on the web.
We source the best applications for our client’s needs which give them full control over their site without locking them into any particular company.
Whether it’s website management, marketing automation or anything else, we want clients to stick with us for the great transparent services we provide, not because they are not able to leave.
If you’re interested in open source web development and would like to discuss your project with us please get in touch.