Wednesday, 14 May 2014


The Open Source philosophy basically involves set of software distribution/licensing principles where the user can freely access the software’s source code (though not necessarily free-of-charge in all cases) and, the users are also permitted without undue restrictions to re-distribute or modify the code in any manner that suits their needs. Although, Open Source software may start as an individual effort but it often evolve into collaborative works involving the contribution of it various elements by other developers (mike2.open methodology.org, n.d). The Linux OS is quick example of this.


In the other hand, proprietary Software (also referred to as the commercial model) evolves from scenarios where a commercial entity develops the software with the intent of making it available through paid licenses directly or through channels as executable code, object, binary etc. Whereas the commercial software are not usually available with their source codes for-free to user under normal licensing arrangements; support, training, and updates are often provided free of charge by the developers and example is the Microsoft operating systems and their application suits. The advantages and disadvantages of the open source and proprietary systems:
The table below is intended to show merits and demerits of the two software modes with a focus in specific areas:
From the above table, it can be deduced that a poorly designed, defectively developed, inadequately deployed and badly maintained software product will be disadvantaged security-wise, irrespective of whether it is an open source or proprietary product.


Conclusion:


Using products securely and reliably can be enhanced by joint efforts between the users and the developers, the distribution methodology notwithstanding. While the developer ensures that the software is produced in line with security best practices and with meticulous testing, timely updates and patches, the user must ensure the use of correct deployment techniques and administration of appropriate software maintenance procedures involving timely application of the provided updates and patches.