On the Nonmaintainability of Open-Source Software
Stephen R. Schach · 2002
A major strength of open-source software is that the source code is open to scrutiny by anyone who chooses to examine it. Accordingly, it is reasonable to assume that the quality of opensource software will be higher than that of closed-source software. After all, closed-source software is examined by only a limited number of individuals, all of whom are paid to do so. It seems equally reasonable to conclude that open-source software is superior to closed-source software in other ways as well, including maintainability. Again, the argument is that the scrutiny by a large number of volunteers leads to a better product. On the other hand, the fact that open-source software is a product of an amorphous group of individuals, rather than a hierarchical development team, means that there is no single person who is in charge of an open-source software product. As a result, modifications can be made to an individual module that could have a deleterious effect on the maintainability of the opensource software product as a whole. An example of this is the introduction of common coupling into an open-source software product. The coupling between two units of a software product is a measure of the degree of interaction between those units [1–3] and, hence, of the dependency between the units. Modules