April 19, 2019

Open Source: A Way of Developing, Distributing, and Licensing Software - page 2


  • August 25, 2005
  • By Ibrahim Haddad

It is important to note that open source differs significantly from freeware. Freeware is software distributed without a fee, but without source code access. Freeware creators slightly restrict the intellectual property rights to the software and offer the software on a "as is" basis, in contrast to open source, which carries less restrictive licensing terms and allows users to modify the software product if they so desire. Freeware is often distributed on a "time-restricted/limited" basis, meaning it is free for use for a certain period. When that period is up, the software stops working. If the user wants to continue using the product, a licensing fee is necessary to disable the time restriction.

An open source software is a software that has its source code available to its users. It can be downloaded from the specific project web sites and used or modified as desired, as long as its license requirements are observed.

Zero-price software

Open source software is distributed at no cost. There is no charge for the source code and there are no licensing fees.

A different licensing model

Open source software, like any other software, is distributed under some kind of a license that controls the manner in which it can be used. However, open source licenses are less restrictive than licenses of proprietary software in terms of how the software can be used. Typical license conditions include contributing any source code changes back to the main source base and distributing source changes to any customers of the organization that modified the code. The specific conditions depend on the type of open source license that accompanies a given software. It is important to state that open source licenses are written with the aim of encouraging wide use, with very few restrictions placed on the use of the software. For a list of approved open source licensing, please visit http://www.opensource.org/licenses.

Open source software developers

Open source developers come from different backgrounds. They are volunteers who donate their time to work on open source projects. The fact that open source software is written by volunteers affects how open source product teams form and work. Because individuals participate based on their interest in the software, open source management practices are also very different from those in commercial software companies.

Open source development teams work together in a decentralized fashion with little hierarchy. The project leader is usually the individual who originated the project; he or she must manage by consensus with a lead by example approach. The project leader is responsible for developing a common understanding of what functionally the upcoming release will contain, encourage new developers to join the project, help developers select a portion of the project to work on, and solve any conflicts that arise between team members.

The philosophy of community

The practice of frequent releases in order to gather user feedback highlights one of the most important aspects of the open source world: the community. The open source community refers to groups of (self-appointed) contributors and users participating and organized into this community based on their field of interest. There are no formal requirements for joining and no formal rules for participation. However, lack of formality does not mean that there are no standards for participating or behavior. Very strong unwritten rules govern all community interactions. A community member is expected to interact respectfully, make reasoned arguments about why a particular course of actions is right, and above all, to contribute as well as take advantage of the community.

Development practices

Open source projects tend to make a release available early to be used by the user community and then quickly update the releases as the software is modified. This practice is described as "release early and often." The open source community believes that this practice leads to higher-quality software because of peer review and the large base of users who are using (or misusing) the software, accessing the source code, reporting bugs, and creating fixes. A side benefit of having many people looking at the code is that the code is reviewed for adherence to coding standards; fragile or inflexible code can also be improved because of these reviews.

Most Popular LinuxPlanet Stories