Introduction To Open Source Software Development

From P2P Foundation
Jump to navigation Jump to search


Thesis: An Introduction To Open Source Software Development. Steffen Evers. Technische Universität Berlin, 29 July 2000

URL = http://user.cs.tu-berlin.de/~tron/opensource/opensource.html


Summary of the Conclusions

Social Background

"The open source community is not governed by any central authority which represents its members or is entitled to decide and enforce any kind of rules. Therefore the open source community cannot be examined as an organization, but only as a social phenomenon including many different interacting organizations and individuals.

Without a central management the community depends significantly on social relations of the global Internet society. The resulting dependencies have a strong impact on activities inside the community and its interaction with the rest of the world. For this reason I tried to identify the major social structures by investigating various aspects of the community like economy, law, philosophy of science, politics, history and software engineering.

The examination has helped to gain a basic understanding of the open source phenomenon. In particular, the role of intellectual property and the special application of corresponding law by open source projects is the most important result. As the definition of the term 'open source software' is based on the attached licenses, they turned out to be the only reasonable indication to distinguish open source projects from other ones.

These open source licenses should be seen as the legal representation of more complex models. The subject of these models is software and all related issues like development or usage. Additionally, it is important to understand that each license is derived from different underlying principles that might belong to various categories like economy, philosophy or politics.

Therefore the open source phenomenon should not be considered as one united movement of any kind, but as a collection of many different thinking individuals and parties that have the same interest in a small field. When covering all participating parties, the only general agreement appears to be the acceptance of open source software as a useful thing. Actually, some parties seem to only tolerate open source software for the moment because it does more good than harm to their personal interests.

Open source projects (OSPs) as the organization form of software developers turned out to be the basic element of the social network of the community. Although many economical activities are based on project's results, OSPs themselves do not seem to follow economical principles for various reasons, e.g. the lack of business management. Considering OSPs as academic research appears to be a more suitable model." (http://user.cs.tu-berlin.de/~tron/opensource/opensource.html)


Organization of Open Source Projects

"OSPs are forced to adapt themselves to the special conditions of their activities like distributed membership, no direct income or no strong management. These circumstances usually result in certain organizational structures in most cases which have the following consequences:


1. Many committed users participate in OSPs. Actually, most projects are started by users which have not found the right component for their own needs. For this reason, there is no risk that the result will not satisfy its users. Additionally, releasing software as open source gives anyone the opportunity to make components fit his requirements by participating in the project or starting a concurrent one.

2. Precisely specifying the task of a software component prior to implementation turned out to be a difficult and expensive task for software development in general, but specifications are often required for a business contract to clarify the given job. As OSPs do not get paid for producing any results, they do not need such specifications either. Instead, they use early and frequent software releases to approach the component's actual task by continuous modification.

3. Any kind of OSP management needs the unanimous approval of involved project members because they are volunteers. For this reason traditional management based on authority power does not work and existing management usually only suggests working tasks and selects finished results, but any participant is actually free to do what he wants while working. Unmanaged activities are coordinated by social interaction supported by software tools and Internet services. Finally, competition on all levels eliminates inefficient procedures.

4. A relatively optimized coordination process of the individual developers, the projects and the open source community as a whole is one result. Since coordination is one of the major problems for the management of traditional software development this is an important aspect.

5. Developers are usually motivated, self-responsible and creative because everything is their own choice.

6. Since communication takes place via the Internet the entire developing process is relatively transparent, though, only skilled persons might understand the exchanged information." (http://user.cs.tu-berlin.de/~tron/opensource/opensource.html)


More Information

Open Source Software - Governance