Re: [ANNOUNCE] Native Linux KVM tool

From: Ingo Molnar
Date: Wed Apr 06 2011 - 06:56:14 EST



* Olivier Galibert <galibert@xxxxxxxxx> 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 magic
> > invisible barriers of growth and IMHO a lot of it had to do with the lack of
> > 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 oprofile.

Pointing to the stupidity of overmodularization is one of my pet peeves, i
consider it a "development model cleanliness" bug that needlessly exposes OSS
projects to the negative effects of technical and social forks and
complicates/shackles them. I flamed^W argued about it before, in the KVM / Qemu
context as well.

There are good examples of successful, highly integrated projects:

- FreeBSD - it has achieved Linux-alike results with a fraction of the
manpower

- 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 only a
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 project,
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 weirdly
enough no-one has tried it yet. (Android comes close in a sense)

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/