I use a lot of open source software in my daily life. Android, Linux, infact, I am currently typing on a Ubuntu machine. I’m also a user of closed source (proprietary) software such as Windows 10 and am a big fan of certain pieces of software and OS’s so I thought it would be a good idea to look at the merits of open and closed source software.
So what is Open Source?
In Software terms, open source refers to a software which has it’s source code freely available on the Internet to download. In comparison, the source code for proprietary commercial software is usually a closely guarded secret of the company.
Open source software is distributed under different types of licenses such as LGPL, GNU, BSD, Apache, etc. In nearly all these cases the software can be used without paying a fee. It should be noted that sometimes large organizations distribute the source code, such as Apache, Open Office, Mozilla, etc.
Something else to consider is that you can modify open source software to add capabilities not originally in the software.
So what is Closed Source (Proprietary)?
In software terms closed source software often refers to software which is owned by someone (or an organization) and often the only way to get hold of the software is through purchasing a physical product or a digital product from retailers, resellers or the owner’s website.
Some closed source software is distributed as ‘shareware’. Often it’s a fully functional version of the software but either with a limited amount of options available to use in it or a full version that is limited to a set period of time after which the software will disable itself. One of the most common shareware that springs to my mind is ‘Doom’ a first person shooter (FPS) from the 1990’s which was a hit because of being shareware.
Often companies offer demos and trials of their software and function somewhat similar to shareware where it has been designed to expire after some period of time and/or may have limited features.
Are there other types of models?
Yes, it is also possible to get hold of software which is free to use (i.e. Freeware) but often there is no access to the source code.
There is also a Freemium model whereby basic services are provided free of charge in the software while more advanced features must be paid for. This is often found in Android and iOS applications.
Often I have pondered whether this is the case as an argument is that people go to open source as it is free to use and also the software is often a little behind on a commercial product (such as Open & Libre Office vs Microsoft Office).
Although in this case Microsoft have the infrastructure to have cloud versions of Office and Dropbox/One drive integration whereas open source software does not, there are other cases where open source software has generated new ideas that improve the software and extend and build upon existing concepts.
CyanogenMod is a good example of innovation in Android
A good example of this is Google’s Android OS and CyanogenMod (a fork of the AOSP version of Android). Some of the features and ideas have been implemented in the latest version of Android Lollipop 5.0 OS.
Often open source projects aren’t burdened by the need to generate revenue or protect market share, (which is where the need for innovation comes from in large companies and organizations) and many minds from various backgrounds can solve difficult problems, compared to one team in a building.
Support for software and bug fixes
Many open source software in terms of bug fixes and support are rock solid and sometimes can be better than closed source counterparts. However, the opposite extreme is that there are open source projects that are abandoned, and others which have security flaws that haven’t been patched or some that take a long time to roll out bug fixes.
In this case it would be best to consider that closed source software is more likely to have better, bug fixes being rolled out on a regular basis and better support as they created the software whereas in open source the feature you use may be an addition added on by a programmer who may not being working on the project any longer.
Usability is often a major area of criticism for open source software because the technology is generally not reviewed by usability experts and caters to developers rather than the vast majority of layperson users. User guides are not required by law and are therefore often ignored. When manuals are written, they are often filled with jargon that is difficult to follow.
For closed or proprietary software, usability is a high selling point (think Apple again) due to expert usability testing for a more targeted audience. User manuals are also provided for immediate reference and quick training, while support services help to maximize use of the software. Third party systems and developers are also able to use a variety of mechanisms to enhance “closed” source software.
Security of open source is often a concern for large companies because software is not always developed in a controlled environment.
With individual users all around the world developing the software, there is a lack of continuity and common direction that prevents effective communication. Once more, the software is not always peer-reviewed or validated, meaning that a programmer can embed a backdoor Trojan into the software while the user is none the wiser.
One way to reduce this potential risk is to adopt a reputable brand with a concentrated development team supported by a strong online community.
Propriety or closed software is generally seen as more secure because it is developed in a controlled environment by a concentrated team with a common direction. This team is the only group that can view or edit the source code, it is heavily audited and the risk of backdoor Trojans or bugs are reduced (though no security can be flawless).
The key pros and cons of open vs closed source software largely depend on your technical expertise and resources available to maintain and update the software. Consider the five points outlined in this article to get a better idea of the right software for your company’s needs now and in the future.
Open source software relies on a loyal and engaged online user community to deliver support via forums and blogs, but this support often fails to deliver the high level of response that many consumers expect (and can receive with proprietary software).
These communities must also be found on the web and some would argue there is no incentive for the community to address a user’s problem.
Service and support are probably the greatest advantages of using proprietary software (closed). Ongoing support is a key selling point for users with little technical skills and one of the main reasons people choose closed source over open source software.
Support includes user manuals and points of contact for immediate assistance from viable companies with experts who are intimately familiar with the products and services.
One of the main advantages of open source software is the cost; however, when applied to OSS, the term “free” has less to do with overall cost and more to do with freedom from restrictions.
If you have the in-house capabilities and technical expertise to maintain the software, and resources to implement, train and provide support to staff, then open source may be most cost-effective for your organization. You should consider, however, the long-term costs of implementation, innovation, providing support, and investing in infrastructure as your company evolves, technology changes, and your needs grow.
Open software providers are also increasingly charging for extras like add-ons, integration, and additional services, which can negate any cost-saving advantages in some cases. In the end, rather than being free, you are still paying for a service with open source software.
For a Closed Source CMS, depending on the complexity of the system, the cost can vary between a few thousand to a few hundred thousand dollars, which includes a base fee for software, integration and services and annual licensing/support fees. While the hard cost can be higher, what you get in return is a more customized product from a trusted brand, higher levels of security and functionality, continuous innovation, greater scalability, ongoing training and support and a lower requirement for technical skills.
With big companies like Google now backing Open Source, some of its flaws like usability are no more an issue for most people at least in the case of Android and Chrome OS but the security issues still haunt Google’s android much more than they do Apple’s iOS which is a proprietary software. Although, Microsoft Windows suffers similar security issues as well despite being a closed source platform. So which do you prefer?