There’s actually no single “correct” answer! It all depends on
- where in a stack the component lives;
- the state of the market for that component region;
- sometimes even geographic location of the user comes into
play.
Yes, for OSS projects modularity is handy in terms of handling
contributions, but modularity may not be the best way to deal
with a problem in a certain market state and situation!
Research has shown (see, for example, “The Innovator’s Solution”
by Clayton Christensen) that the “integrated” region over time
actually shifts to a subcomponent of an original integrated
component that has since gone modular. An interesting
example of this for MySQL its pluggable storage engine interface
since version 5.1. MySQL is more modular now, but individual
storage engines are tightly integrated for performance reasons,
and in some cases they are even proprietary. …
[Read more]