“How can developers produce software which competes successfully with that from the largest software manufacturers in the world, for free?”
What is Open Source?
Open source refers to a program in which the source code is available to the general public for use and/or modification from its original design - free of charge. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community.
Some popular open source projects you might recognise are: WordPress, Joomla, Drupal, OpenCart and OSCommerce, to name a few.
The Impact of Open Source
Open source software has had a major impact on industries worldwide and has, over the past 10 years, grown into a key component of the web industry.
This open source movement has affected the way we, and other web application development companies, do business. Prudence and the advent Web 2.0 (social media and networking sites) has also in several ways made the proverbial pie much smaller for us:
- Social Networks
Users have become much more tech savvy as they spend more time on and are exposed to social networking sites. Their expectations and understanding of the internet, tools and the technologies available are much greater.
- Easy Use
Mainstream open source CMS systems such as Joomla, WordPress and Drupal are easy to install and deploy. The backend operations and tools are easy to understand and innovative.
- Access to Information
The open source development community shares information readily and the success of the movement has ensured that there’s a lot of it.
- The Start-Ups
It is very easy for people with limited understanding and skills to deliver, what appears to be, a functional, feature-rich and well-designed website.
- Cost Saving
With the perception being that webmasters “get more bang for their buck”, open source platforms have financial benefits.
Is Open Source Right for you?
When selecting an open source solution for any project, there are a number of factors that play into that decision. These factors include accountability, security, usability, functionality, flexibility, support and cost.
Online Innovations have introduced open source platforms into our business model and it’s become very clear that there are many critical chinks in the open source armour. It is by no means a perfect solution – and here’s why:
The majority of the open source products are owned by a development community with no accountability or interest in the success of your project.
Support is also minimal and there are no defined SLAs or guarantees of response or resolution to your issues.
Open source projects tend to be very vulnerable to security flaws. Anyone within an open source project community can publish code where there are no assurances that these components are fully tested or if they even adhere to development standards that will comply with future upgrades. This makes it rather risky.
Security flaws are usually fixed only after someone identifies them on a running site with the community benefitting only if shared. Many vulnerabilities are fixed only after several months and some are never fixed, especially if they are related to some custom plug-in or add-on.
Developers frequently modify the code of the core systems to counter vulnerabilities and bugs. What needs to be questioned at all times is whether or not the system will fail due to the incompatibility of its plug-ins and add-ons when the system is upgraded.
Secunia Database (source: http://www.secunia.com on Feb25, 2010):
Drupal: 304 vulnerabilities
Joomla: 212 vulnerabilities
WordPress: 155 vulnerabilities
Of the identified security vulnerabilities reported:
NO AVAILABLE SECURITY PATCHS were available by year's end for:
80 percent for Joomla plug-ins
57 percent for WordPress plug-ins
13 percent for Drupal plug-ins
18 percent of Drupal core system vulnerabilities HAD NO KNOWN PATCH
13 percent of WordPress core system vulnerabilities HAD NO KNOWN PATCH
8 percent of Joomla core system vulnerabilities HAD NO KNOWN PATCH
Yes, these numbers have been disputed and are somewhat outdated, but it highlights a reality that, if even half true, is a major concern.
Plug-ins and add-ons
Many of the common features require third party add-ons – the good ones are usually cost additional. The add-ons often have an inconsistent user interface, require complex installation and may not be compatible with future upgrades of the core system - leaving you with an outdated, broken system. In extreme cases, it may even mean you’ll need to completely rebuild your website, which means you will end up spending a lot more money.
They are not SEO friendly and it is unlikely that an open source system will cater for an individual company’s needs - especially if they are concerned about their brand identity.
Most open source projects are focused on small deployments.
Documentation is often missing, incomplete or outdated. When available, documentation is typically geared towards a developer audience, leaving webmasters in the dark on how to use the system after deployment.
Developers are solely reliant on community forums and publicly available sources to get the information and address issues, significantly slowing down development.
Open source is most often freelancers and smaller companies that are primarily focused on a low cost and not necessarily the best solution. On top of this, many don’t have the appropriate resources or experience to deliver professional solutions due to lack of documentation and training.
Performance testing is often not conducted at all. Many opens source systems and sites are very high on system resources. Visitors may experience slow loading times especially if the hosting infrastructure is over subscribed.
There is a big and very common misconception that because it’s open source it’s free.
Understandably the core components are, but the deployment scenarios are often limited and any special configurations of the system often require complex and time-intensive tasks by a developer. This increases the total costs of the solution.
Some plug-ins, usually the good ones (funny that), come with a price tag. Even if they don’t, it may also take a developer a considerable time researching the components integrity and influence over the core system - time that needs to be paid for.
Open source has tremendous cost-saving benefits – which is what makes it so attractive. Clients do, however, need to understand that to take advantage of these benefits they will be forced to operate within tight constraints.
In the end, open source is ideal for you if you are a college student, a hobbyist or a group where time is worth a lot less than the licencing costs; and where the core system of your project doesn’t have to be tinkered with too much. However, I question whether open source is really what it makes out to be and does it, more often than not, cost clients more than a commercial solution in the long term.