"In the landmark book The Mythical Man-Month, Fred Brooks argues forcefully and eloquently that conceptual integrity is the key to sound system design and that conceptual integrity can only be had by a small number of minds coming together to design the system's architecture." - Software Architecture in Practice, Second Edition By Len Bass, Paul Clements, Rick Kazman
If this is true, I doubt if it is possible for open source software to have sound architecture. Open source software is developed by many developers. Hence the chances are that open source software would be designed with many number of minds coming together. Hence the conceptual integrity is at risk.
With my experience, with Apache projects, what I feel is that, it is hard to apply good design principles at times. Someone or the other would have a counter argument. What is worse in community driven projects is that, when something is done wrong in the first place, it is hard to get it corrected. I am not talking of syntactic or logical errors here, open source projects are far ahead when it comes to fixing those - look at the number of patches submitted in active projects, but rather the principles of overall architectural designs.
Large number of minds coming together helps Open source software in terms of testing, it helps in terms of finding bugs as well as fixing bugs, and even in implementing new features or when porting to new platforms. However, all those are implementation aspects. And as we know, sound software architecture is independent of implementation details. In other words, open source models are good when implementing systems, but not when architecting.
Comments
I would say that by the time an OSS project starts to gather lots of people it is already on the implementation path.
Just my 2 cents worth.
-jeff