modular -> monolithic

Stephane Marchesin marchesin at icps.u-strasbg.fr
Sun Jan 20 17:11:10 PST 2008


On 1/21/08, David Miller <davem at davemloft.net> wrote:
>
> If you don't enforce validation of the build of the drivers there is
> no quality, and people will check in all kind of shit that breaks
> things left and right.
>
> That, from an engineering and code quality standpoint, sucks.
>
> And frankly, what you say isn't effectively how things actually
> work.  You do have to check out large chunks of the various GIT
> trees (and it's non-trivial to figure out the dependencies,
> and the build.sh script is out of date half of the time) in order
> to do X server development or even work on a single driver.  So
> the non-modular tree in fact makes it HARDER to contribute to
> the Xorg code base, because getting the build purely out of
> GIT to work is so damn hard.

I sure agree that some of the XACE changes were quite intrusive. OTOH,
I'm not sure I agree with the conclusions you made.

It's been my experience (and that's why I'm a bit reluctant when
people want to switch back to something monolith-like) that it is a
lot easier to work with modular than with the monolith. I work on a
graphics driver, but rarely if ever build the xserver bits, because
fedora rawhide ships up to date bits to me. This has saved me a huge
amount of time over the last months. So I rarely have the issue you
mentioned of getting GIT to work. It's just my experience though...

Maybe the ideal model of X development keeps that nice property that
driver developers do not need a complex and long building of the whole
xserver, while enforcing consistent API updates.

>
> In kernel land, whilst we don't require people to validate the entire
> build with everything enabled, we have the people who do the patch
> applying and code checkins who do those build checks and punt the
> patch back if it breaks some part of the build.

Yeah, but the kernel is also packed with full-time contributors. X.org
OTOH uses lots of volunteers, I think the situation is very different,
and I don't think applying the kernel model could work here.

>
> Nobody is willing to enforce this in Xorg land, and more importantly
> nobody with power is willing to reprimand people who break half of the
> drivers in the tree.  As a result things will stay in their crappy
> current state until something drastic happens to fix this.
>
> And right now, since the mentality to not break the build does
> not exist, the only viable solution is to force it upon people
> by unmodularizing the tree.
>
> The current situation completely sucks.

It sucks somehow, but it used to be a lot worse :)

Stephane



More information about the xorg mailing list