The Role Of Open Source Software In Cloud Computing
What is Open Source? Open source has seen phenomenal growth in recent years. As per Open Source Initiative’s (OSI), definition, access to the source code is a stepping stone that should be followed up with free redistribution both legally and practically. The removal of roadblocks which means discrimination against disparate usage as well as disparate group of people, both consumers and developers. The best and most valuable open source projects have low friction in all such areas – code access, code sharing, and freedom of use and distribution allowing ease of use and ease of modification by any and all parties.
However, keeping in mind OSI’s definition, there are several open source projects available in the market and simply putting the source code online will not be enough. In particular, many open source projects that have licenses make it virtually impossible for corporate interests to participate in them. This limitation reduces the number of developers available to help as well as reduces the projects’ chances for long-term growth and success. For instance, a project that requires all derivations of the source code to be also open sourced would be forcing commercial offerings to give their value-add (possibly proprietary) logic away for free. For some, this would be a nonstarter.
Beyond having access and rights to source code, truly valuable open source projects are much more than codebases. These valued projects include broad, collaborative communities working together towards a single purpose. Various groups of interested parties invest their time, efforts and resources to make the software better-tested, better-documented, more resilient to errors and with increased functionality to meet the user’s needs and requirements.
Before discussing cloud computing from the perspective of open source, the term “cloud computing” is defined which is basically derived from telephony. Cloud computing has principally evolved from various computing technologies such as utility computing, grid computing and virtualization. The most recent development of its evolved form is Web 2.0 technology that caters to web applications and facilitates in different areas. Some of the key advantages of cloud computing include hiding and abstraction of complexity, virtualized resources and effective use of distributed resources.
The earlier phase of cloud computing was during the 1960s when founder Professor John McCarthy suggested that computer technology might lead to a future where computing power and other specific applications might be sold through a utility-type business model. It became popular but by the mid-1970s, the idea faded away because IT-related technologies became unable to sustain such a futuristic computing model.
However, companies have started to extend the model to a cloud computing paradigm which provides virtual servers that IT sections and users can get access on demand. In the earlier stage, enterprises used it for non-mission-critical needs, but this is quickly changing as trust and reliability issues are getting resolved. Nowadays, cloud computing includes more than Internet. As per the report by National Institute of Standards and Technology (NIST), cloud computing is a model for enabling ubiquitous, convenient, on demand-network access to a shared pool of computing resources (including networks, servers, storage, applications and services) that can be rapidly released with minimal management effort or service provider interaction.
Cloud computing provides a smooth transition from traditional service distribution to the most recent areas of rapid innovation and significant market investment. All the big players of hardware and IT enterprises have created offerings or are significantly involved in the private, public and hybrid cloud arenas. Therefore, today there are myriad of empowering open source software projects that are playing an important role in unfolding the cloud computing innovation. Undeniably, open source lies at the heart of several earlier cloud implementations. This can be seen in the services one normally consumes on the cloud such as Google, Facebook and other similar services. None of them would have been affordable or scalable if one was using traditional licensing model.
In case of traditional licensing model, the initial costs are very high which included the cost of hardware, software and resources. Besides, the organizations have to incur the set-up and installation costs as well. In such a scenario, the significant trend towards open source can be easily seen. For instance, traditional proprietary well-known brands like Microsoft hosts Linux virtualization offered in its Azure cloud, with an even more recent push to work upstream in the Docker open source project to bring Container Technology to Windows Server and the Azure cloud as well.