modular -> monolithic
David Miller
davem at davemloft.net
Sun Jan 20 16:27:55 PST 2008
From: Matthieu Herrb <matthieu.herrb at laas.fr>
Date: Sun, 20 Jan 2008 23:29:27 +0100
> No don't do that.
>
> Beeing able to build drivers outside of the X server was one of design
> goals even for XFree86 4.x. This is really something we need for various
> reasons that I can remind if necessary.
People can still do that even if we put the drivers all back
into a monolithic tree.
> Last point, one of the goals of the modularization effort was to make it
> possible to contribute to X.Org without having to build the whole tree.
And this is exactly why the build of half the drivers tend to
be broken at any given point in time.
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.
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.
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.
More information about the xorg
mailing list