While most of us are familiar with software from the likes of Microsoft and Apple – there is also another type of software freely available which comes under the banner of ‘open source’. So what is this? Well it’s effectively software that is usually free to own, distribute and modify the code for.
This effectively means that anyone with the relevant skills can alter the source code of the software. Source code is effectively the code for the software that users never see; it’s the ‘language’ that computer programmers use to create the software we interact with everyday.
The opposite of open source software is proprietary software (or closed source). This is software where the source code is not available to modify or change because the company that wrote the code owns it, and they are the only people who can legally modify it. This software usually requires you to purchase a licence to use it, as in the case of the Microsoft Office products.
Obviously there are advantages and disadvantages to both open source and proprietary software, and that’s what we are going to look at in this blog.
Open source software is usually free, whereas proprietary software usually involves a licence payment. However it should be noted that support for open source software can often be more expensive as the skills required to maintain/develop it are more specialist. From a business perspective the adoption of open source software may also come with significant training costs because of users lack of knowledge or experience of the product.
Because open source software is often modified and developed by ‘techie’ developers, the user experience is often overlooked. This can frequently lead to a more ‘difficult to use’ product from the users perspective. A good example of these are the many versions of the free Linux operating system. The operating system works brilliantly if you don’t need to change anything, but simple things like installing device drivers requires a real technical knowledge.
Proprietary software tends to work as intended ‘out of the box’, plus it has been written by a professional team of programmers therefore it tends to be stable. Any major issues are often tackled quickly and fixed by the application of a patch or update. With the open source variety it can often be the opposite of this. Enthusiasts, or amateur programmers, have often modified the software, meaning it may well be inherently more ‘unstable’. You would also be relying on these same people to provide you with any support needed. However this could have its advantages as open source is not dependant on the company that originally wrote it ‘surviving’ as a commercial business. If the company disappears the software code can live on in the hands of its users.
Again this is a double-edged sword. Arguments for open source would point to the fact that its smaller user base would attract less attention from malicious code writers. Plus access to the source code would mean that more people are inspecting it and are therefore more likely to notice and fix any vulnerabilities.
On the other side of the coin it could also be stated that access to the source code would give potential attackers the ability to look for those vulnerabilities. In addition commercially produced proprietary software is written and tested by professionals, and they often have security specialists as part of their team. The commercial success of their software can be severely damaged if the security element is not properly implemented. Therefore a lot of emphasis is placed in this area.
This is another area where thought needs to be applied before choosing a suitable software route. The ability to communicate with both hardware and other software products can hinder open source options. For example many hardware vendors only create dedicated drivers for more ‘main stream’ operating systems like Windows. You again often need to be reliant on 3rd parties creating the relevant software for your system. You can also face issues with certain ‘file types’ not opening correctly (or with the correct formatting) in open source programmes.
In summary you can see that, as with many IT decisions, the choice isn’t a simple one. Open source software is a great and very welcome addition to the IT landscape – however its adoption by businesses needs to be VERY carefully considered. Operating systems like Microsoft Windows along with productivity packages like Microsoft Office are pretty much the standard across the business arena. Deviating from this formula is risky, and on that basis alone it’s hard to recommend using open source software for most business scenarios.