* Olivier Galibert wrote:
> On Wed, Apr 06, 2011 at 11:33:33AM +0200, Ingo Molnar wrote:
> > Examples: X11 and GCC - both were struggling for years to break through
> > invisible barriers of growth and IMHO a lot of it had to do with the
> > code (and development model) cleanliness.
> A large part of what's killing X11 and qemu is the decomposition in
> multiple trees and the requirement that every version must work with
> every other version.
> For X11 you have:
> - the server
> - the protocol headers
> - the individual 2D drivers
> - libdrm
> - the kernel
> - mesa
> - the video decoding driver/libs
> For qemu you have:
> - qemu
> - qemu-kvm
> - the kernel
> - libvirt
> - seabios
> Any reaching change ends up hitting most of the trees, with all to
> coordination that means. And in any case you're supposed to handle
> any version of the other components.
Splitting up a project into several trees, often unnecessarily, is a
self-inflicted wound really.
Smaller projects can hurt from that as well: a well-known example is
Pointing to the stupidity of overmodularization is one of my pet peeves, i
consider it a "development model cleanliness" bug that needlessly exposes
projects to the negative effects of technical and social forks and
complicates/shackles them. I flamed^W argued about it before, in the KVM /
context as well.
There are good examples of successful, highly integrated projects:
- FreeBSD - it has achieved Linux-alike results with a fraction of the
- Android - on the desktop it has achieved much more than Linux, with a
fraction of the manpower
And that concept can be brought to its logical conclusion: i think it's
matter of time until someone takes the Linux kernel, integrates klibc and a
toolchain into it with some good initial userspace and goes wild with that
concept, as a single, sane, 100% self-hosting and self-sufficient OSS
tracking the release schedule of the Linux kernel.
It might not happen on PC hardware (which is *way* too OSS-hostile), but it
will eventually happen IMO. It's the eventual OSS killer feature and
enough no-one has tried it yet. (Android comes close in a sense)