Re: Suggestion for XFree86

David Dawes <[email protected]>
Newsgroups gmane.comp.xfree86.forum
Message-ID <[email protected]>
On Thu, Mar 20, 2003 at 10:40:35PM -0500, Carl Worth wrote:

>Note that I'm talking about contributing chunks of new code, not bug
>fixes. I think something like [email protected] could work fine for
>bug fixes, (and bugzilla can only help).
>
>I think the problem in the current situation is the imbalance between
>the core team with easy access to modify the tree and the second-class
>citizenship developers who have to send email patches and wait for the
>core team to act on them. And then, in order to become a core team
>member one has to willingly accept second-class citizenship for "5
>years"? No thanks.
>
>Fortunately, in my case, most of the new code that I care about and
>continue to develop all exists as client-side libraries. These can all
>be developed and released quite independently from all of XFree86. So
>I can just setup my own CVS server and ignore xfree86.org without a
>problem. It would be more convenient to just do this within XFree86
>infrastructure, (after all I'm writing new libraries that live in their
>own directories and don't affect any existing code), but the
>difficulties in getting that access aren't worth it to me. The things
>I lose this way are xfree86 infrastructure, (CVS, bugzilla), and the
>distribution channel and name recognition that XFree86 would provide.
>
>It seems the same model would work just fine for driver development
>and distribution, (Again with some developer time lost to setting up
>infrastructure for CVS, bug-tracking, advertising, etc. -- not
>perfect, but quite workable).
>
>This hints at one of the big changes that XFree86 should make. The
>project should recognize that the large, complex code base of XFree86
>is actually quite modular, (and can become more so), and the developer
>community could be more efficient if its organization matched that
>modularity.
>
>For example, in my mind there should be almost no barrier of entry for
>someone who wants to contribute a new driver. As Linus said once, "If
>a new ... driver is broken, it can't be any worse than not having a
>driver at all, and even a broken driver is more likely to receive
>attention than somebody having to start from scratch."

This might be a good time to recount my recent experiences with submitting
code for inclusion in the Linux kernel.  I don't have any inside contacts
in Linux kernel development circles, and I am not "known" for working
in that domain.  So, I came to this as an outsider with code to contribute.

The first case was a patch adding new hardware support to a kernel
module.  The changes for this were relatively small.  I checked through
the documentation in the Linux source tree, and on some mailing lists
to figure out how to submit my changes.  I sent to them to the maintainer
of the relevant module in the 2.5.x kernel, and to the 2.4 maintainer.
No response.  A month later, I had some further updates, so I tried
again.  This time I got a response from the relevant 2.5.x maintainer,
requesting that I make some trivial changes because of version skew
between my first submission and my second one (effectively changing
several occurrences of var.field to var->field).  These are the sorts
of trival things that when encountered in a submission to XFree86 I'd
just take care of myself as part of the integration process.  But, this
is the Linux kernel, and they have their own procedures, so I make the
trivial changes and resubmit.  The patch is applied, and is now part of
the 2.5.x kernel tree.  I was a little disappointed that it was credited
to the maintainer of the module in the change list the Linus sent out,
but as I said, they have their procedures.

The second case was a new driver for the 2.4.x kernels.  I submitted it
the 2.4 maintainer, to Alan Cox, and to Linus (as a courtesy).  The
driver has not yet been ported to work with the latest 2.5.x kernels,
so I didn't expect it to be integrated there.  Alan Cox replied promptly
and included the driver in his next kernel release/snapshot (thanks
Alan).  I didn't get any reponse from the "mainstream" 2.4 maintainer,
and I have no idea if the driver will make it into that kernel.  I
clearly have no opportunity to commit it myself, and to be honest, I
have no idea who is able to commit code to the official kernel source
trees.  If I'd been aware of your quote from Linus above, I'd have also
expected this driver to be included in even the 2.5.x kernel tree on
the basis that "a broken driver is better than starting from scratch."

Now, I don't feel that I'm in any position to complain about any of the
above.  I haven't invested a large part of my life in the Linux kernel,
so I'm not qualified to tell them how they should do things.  I only
mention it here because it sounds similar to some of what you're saying
about XFree86.  This is just an example of my own recent personal
experience as an outsider submitting code to the Linux kernel.  All it
shows that some of the claims you make about XFree86 aren't unique to
XFree86.

David
-- 
David Dawes
Release Engineer/Architect                      The XFree86 Project
www.XFree86.org/~dawes
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.