The hard part is knowing where to draw the line between relatively stable infrastructure items that don't benefit from duplication, and flexible items that are likely to benefit from specialization and competition.
X11 made the right choice in putting graphics drivers in the "stable infrastructure" stuff and display toolkits and window managers in the "specialize and compete" section.
I'm sort of pleased about that we're finally trying to replicate this division with the River ecosystem, building a standard compositor that we can plug in different actual window management logic into it, but that makes River itself a huge single point of failure-- if it has a bum release or fails to keep up with trends and extensions, it takes down a lot of the ecosystem, but perhaps not enough to be a five-alarm fire the way Xorg or XF86 back in the day would have been.
Comments
The hard part is knowing where to draw the line between relatively stable infrastructure items that don't benefit from duplication, and flexible items that are likely to benefit from specialization and competition.
X11 made the right choice in putting graphics drivers in the "stable infrastructure" stuff and display toolkits and window managers in the "specialize and compete" section.
I'm sort of pleased about that we're finally trying to replicate this division with the River ecosystem, building a standard compositor that we can plug in different actual window management logic into it, but that makes River itself a huge single point of failure-- if it has a bum release or fails to keep up with trends and extensions, it takes down a lot of the ecosystem, but perhaps not enough to be a five-alarm fire the way Xorg or XF86 back in the day would have been.