status?
Lyndon Nerenberg
lyndon+ at orthanc.ca
Sat Feb 24 02:34:23 UTC 2007
> Admittedly so, I'll probably pull my hair out and scream if
> I need to look over each and every document in our tree and
> garbage collect 4.X stuff - updating and finishing parts as
> I can.
I think too much emphasis is place on the release the bug is reported
against. Most userland bugs are independent of the release version.
Yes, that's an anecdotal claim, but it's based on over two decades of
fixing bugs in applications, kernels, and everything in between.
I think the problem boils down to the fact that the bug fixers mostly
fall into two classes:
1) FreeBSD core, or close to it, and
2) Relatively inexperienced UNIX programmers who see bug whacking as
a way to obtain knowledge through experience.
When you are the recipient of their efforts, it is very easy to
classify them. A category (1) bug buster says "no patch provided/
patch doesn't compile against current/style bugs/etc." A category
(2) bug buster says "is this still a problem" without even reading
the bug report. I exaggerate case (2) to a point, but only just.
Case (1) is understandable. Those people are *busy* and will use
whatever means at hand to filter out what they cannot immediately
work on. But the consequence of this is that anything not directly
related to the vacuum-edge-of-space version of -current they won't
touch. Fair enough.
Case (2) is also understandable. These tend to be people with little
experience doing in-depth problem analysis, a lack of familiarity
with the relevant standards, and an abundance of enthusiasm to help
the project. The latter draws them in, then the former scares the
bejeezus out of them.
We need a category 1.5: people with both the time and experience to
pick off a PR, spend some time reading and *understanding* the issue,
and then proposing or applying a fix in the context of both the
original PR and the current state of the release tree. To fill this
role you really need to be a generalist. You must understand the
whole UNIX philosophy, you need to understand the design goals of
FreeBSD, have more than a basic familiarity of the relevant
standards, and not be afraid to stand up and defend the decisions you
make in the face of criticism from people who have a scary amount of
knowledge.
These people exist. So why can't we seem to get them on board. My
opinion is that the mentoring process to becoming a committer is too
opaque. And perhaps not granular enough, although that granularity
is primarily dictated by the source code management system.
Regardless, I have time and time again seen new people come on board
wanting to whack bugs down, only to burn out within weeks, if not
days. Clearly there is something wrong with the process. And it
could be as simple as the project setting unreal expectations for the
newcomers. I don't have an answer for this.
> In the case of PRs (both code and doc), the process is much
> more in depth. While I'd like to say "just close them and
> wait for another PR for 5/6/7" that is just bad handling.
And as an example, I will quote a biased example: bin/7868
7+ years and counting :-)
> So my opinion is just coming up with some kind of .plan for
> dealing with them. It could as simple as play the normal
> reply asking about it, try to reproduce yourself, etc.
No! This does not cut it. The bug I reported was against the
shipping release at the time. The "cannot reproduce" reply was
against the head -- something everyone is told not to consider
production -- at the time when the release I reported against was
what people were being told to run. You don't get it both ways, and
this is an attitude that has to be clobbered.
The argument about "we cannot support old releases" is a direct
artifact from the people working on -head also trying to tackle most
of the bugs; their idea of "old release" is anything prior to last
week, and for them that's a reasonable argument.
Again, we come back to category 1.5. We need to cultivate people
with smarts who can address bugs in production releases. We also
need to cultivate the concept of MFS: merge from stable. There is
nothing heretical about transplanting fixes from 6.x to 7.x. I
firmly believe the reason we have very few 1.5s is because the 1s
won't have anything to do with anything outside of today's p4 or
cvs. That has to stop.
> Guess what I mean is, damn, that's a huge project. :(
No, the huge project is implementing a new bug tracking system. What
we have can't even accommodate MIME for cryin' out loud. Searching
is painful. Task assignment (and tracking) is all-or-nothing. As
much as I loathe SQL, I'm ready to admit that we need something new
built upon a relational database if we're going to move forward with
any hope of keeping up (and doing a good job).
--lyndon
P.S. I've made liberal use of the 'royal we' above. I have no
affiliation with the FreeBSD project, other than having been a
(mostly :-) happy customer since the 1.5 release.
More information about the freebsd-bugbusters
mailing list