lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110406105547.GA13766@elte.hu>
Date:	Wed, 6 Apr 2011 12:55:47 +0200
From:	Ingo Molnar <mingo@...e.hu>
To:	Olivier Galibert <galibert@...ox.com>
Cc:	Avi Kivity <avi@...hat.com>,
	Anthony Liguori <anthony@...emonkey.ws>,
	Pekka Enberg <penberg@...nel.org>,
	linux-kernel@...r.kernel.org, aarcange@...hat.com,
	mtosatti@...hat.com, kvm@...r.kernel.org, joro@...tes.org,
	penberg@...helsinki.fi, asias.hejun@...il.com, gorcunov@...il.com
Subject: Re: [ANNOUNCE] Native Linux KVM tool


* Olivier Galibert <galibert@...ox.com> 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@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ