An application that is open source is one that is offered with a free license allowing anyone to view the application source code, study it, change it, improve it, and redistribute it for any purpose.
Open source applications are created in a number of different ways. In some cases, an individual developer creates an application for personal use and releases it to the developer community. In other cases, an individual may sense the need for a specific application, and work to form a team to develop an open source answer to that felt need. Some open source applications were birthed as proprietary products and later re-released under an open source license. Finally, a new open source project can be born when a developer takes an existing open source product and modifies it in some substantial way.
What all open source applications have in common is that the entity who could claim exclusive rights has opted to relinquish their exclusive rights and to release the source code to the software development community.
While open source applications are often developed by a large and diverse volunteer community, this does not mean that development is disorganized. In the case of large and popular open source projects, there is typically a core group of developers who oversee the core source code, ensure that development progresses in an organized manner and determine if and when a new piece of code is ready to be added to the application core.
Frequently Asked Questions
What are some examples of popular open source software?
Open source software is common on the web. Examples of open source projects that virtually every web user has interacted with (whether they know it or not) include:
- Apache HTTP Server: The standard web server setup includes a Linux operating system, Apache HTTP Server, MySQL database management system, and PHP: Hypertext Preprocessor. What this means is that the vast majority of websites are powered by a web server that is running the open source application Apache HTTP Server.
- Content Management Systems: Most websites are built with a content management system, and the three most popular content management systems, WordPress, Joomla!, and Drupal, are all open source.
- Web Browsers: Mozilla Firebox is an open source browser, and Chromium, which makes up the bulk of the code behind Google Chrome, Opera, and several other browsers, is an open source project.
- Office Productivity Applications: LibreOffice and Apache OpenOffice are two popular open source Office Productivity application suites.
What are some of the advantages of the open source model?
There are several advantages touted by proponents of the open source software development model. One of the key advantages often mentioned is increased security. When an application's code base is openly accessible, it forces developers to quickly identify and fix security loopholes. This means that open source projects often suffer from fewer security issues. In addition, since open source projects are designed by diverse teams of developers, proponents of the open source model argue that open source projects are higher quality than the competition. Another obvious benefit is that by definition open source projects are free to use.
What are some criticisms of the open source model?
While there are good reasons to like the open source model, not everyone is a fan. Here are a few of the reasons why detractors from the open source model say it's best to keep your distance from open source projects.
First, there is very little user support available for many open source projects. Since no one is paid to offer technical support, users of open source products have to make use of community support features such as forums. Second, some argue that open source products tend to be less user-friendly than commercially-produced alternatives. This is because open source applications may be designed by developers with other developers in mind while commercially developed products are designed with end users in mind. Finally, while security issues are typically fixed quickly on open source projects when a problem is exposed it is generally visible to a large community – including those who might take advantage of it. With a proprietary product the problem is usually kept quiet while a patch is developed.