Open Source Software: A Basic Overview

Logo Open Source Initiative
Image via Wikipedia

Open source software is computer software that’s available in source code form, which allows users to make changes, study the application, and improve it. These permissions and other rights are usually reserved for copyright holders and are provided under a software license agreement.

Software is created as a collaborative effort by programmers and users to improve upon the source code and share the information within the open source community. Examples of open source software include Linux, GNOME, Apache, GIMP, Blender, Firefox, 7 Zip, Thunderbird, and OpenOffice.

The criteria for open source software to comply with distribution terms are as follows:

• There must be no restrictions as to the how the software must be redistributed.
• All source codes must be available so that users have the ability to improve or modify the application.
• Improved versions of the software can have a different name or version from the original per license agreements.
• The license must allow modifications and resulting works, and permit them to be distributed under the original software’s terms and licenses.
• The license may not discriminate against individuals or groups of individuals.
• The license must be neutral in terms of technology and style of interface.

Advantages

• Gain a greater penetration of the software market
• Establish an industry standard
• Gain a competitive advantage
• Builds developer loyalty due to a sense of ownership
• Marketing and logistical services require lower costs
• Produces reliable, high quality software inexpensively and more quickly
• Has the potential to offer quicker innovation and flexible technology
• Does not cave to commercial pressure that often degrades software quality

Disadvantages

• The development process for small projects may not be well defined.
• Stages in the development process can sometimes be ignored.
• Unclear processes, the lack of any empirical evidence, and late defect discovery produce lower quality systems.
• Applications are not as secure from hackers as closed-source software.

The goal is to create higher reliability, better quality, lower costs, flexibility, and an end to vendor propriety.

Enhanced by Zemanta