Sunday, January 24, 2010

Open Source Software and Enterprise Computing – An Introduction

If we ask the software fraternity to define ‘Open Source’ in one word, the answer will most likely be ‘collaboration’. To elaborate further, we can define ‘Open Source’ as public collaboration on a software project with contributors from across the globe.

The Open Source Initiative (http://www.opensource.org) provides a ten-point definition of open source, which can be summarized as follows. More information on each of these ten aspects of open source can be found at http://www.opensource.org/docs/definition.php.

1. Free redistribution
2. Source Code
3. Derived Works
4. Integrity of the Author’s Source Code
5. No Discrimination Against Persons or Groups
6. No Discrimination Against Fields of Endeavor
7. Distribution of License
8. License Must Not Be Specific to a Product
9. License Must Not Restrict Other Software
10. License Must Be Technology-Neutral

Some of the reasons that make ‘Open Source’ important are:

(a) A community process based approach, which influences the technical leadership to accommodate a collaborative approach.
(b) Open Source can be a major source of innovation, with collaborators beyond physical boundaries participating in open source projects
(c) Wide distribution and deployment of standards, which evolve from Open Source
(d) Increases choice and flexibility for enterprise customers.

We will focus the rest of this discussion on Open Source Computing and its adoption by Enterprises.

There is little doubt that Open Source Software is experiencing explosive growth and coupled with that growth, adoption of Open Source Software by enterprises is growing. Some of the factors that are prompting enterprises to adopt Open Source Software are:

1. Reducing IT budgets
2. Increasing Software Licensing Costs
3. Move toward Integrated Systems – one system for all Enterprise Users
4. Move to Web 2.0 initiatives to support marketing and enhance customer relationship management.

Given the above background, the key factors that push adoption of Open Source in Enterprises are:

(a) Cost: Reduced budgets obviously results in measures that will save costs. Overall Information Technology costs can be reduced by implementing free or low cost Open Source Software.
(b) Innovation: Open Source can be used to create new business offerings or innovative operation models, with substantial reduction in costs.
(c) Agility and Scale: Open Source Software provides the ability to quickly scale up and modify software systems to meet rapidly changing business requirements.
(d) No vendor lock-in: Reduces dependence on proprietary software vendors
(e) Quality and Security: Improves the operational efficiency of enterprise architecture by leveraging the open source characteristics of transparency and rapid improvement.

Some of the Open Source characteristics that make it particularly suitable and appealing to Information Technology organizations are:

1. Ability to inspect and modify source code: Open source mandates the availability of source code. This enables the enterprise adopters to inspect the source code to gain a better understanding of the software. It also helps in integrating Open Source Software with other systems. The ability to modify the source code enables enterprises to add new features and functionality. It also helps in adding security related modifications to meet the organization’s Information Security Audit requirements.

2. Development Transparency: Development Transparency means that the development process is carried out in public with all code changes available for inspection. It is relatively easy for a user to ascertain the current state and history of an open source product. Testing is also carried out on a large scale by collaborating developers, reported bugs are listed, and bug status maintained.

3. Liberal Licensing Terms: Proprietary Software licenses are restrictive in nature with limits on installations, simultaneous users (floating licenses), fixed number of users, etc., and obviously, there is a fee associated with such licenses. On the other hand, Open Source licenses are expansive in nature and encourage wide spread use (please see definition of Open Source at the start of this blog post). Open source licenses do not impose limits like fixed number of users and number of installations. Acquiring Open Source Software is also free. Service providers may charge fees for services like customization, security audit, testing, etc., but for accessing the software fees are not involved.

This concludes our discussion on ‘Open Source Computing and Enterprise Computing’. 


~ Sunish

No comments: