Hi,

Consus wrote on Fri, Jan 10, 2020 at 12:52:44PM +0300:
> On 20:06 Thu 09 Jan, Marc Espie wrote:

>> It's been that way for ages. But no-one volunteered
>> to work on this.

> Anyone even knows about this? Aside from OpenBSD developers (who
> have their plates full already) how an average person can find out
> that there is rusty piece of code that should be taken care of?

I believe it was said before, but it appears to be easily forgotten:
Maintaining TODO lists consumes time.  For a small system that you do
a lot of work on, the time required for the maintenance of a TODO
list is not prohibitive; that's why

  https://cvsweb.bsd.lv/mandoc/TODO

exists.  But for a large sytem (like OpenBSD as a whole), maintaining
a high-quality TODO list is much harder, in particular for a person
who doesn't know the details of all the parts inside out.  And those
few developers who do know (almost) all the parts inside out are
those who can least afford to take on yet another job.

Besides, the usefulness of public TODO lists is usually vastly
overestimated.  I have some actual data on that.  The above TODO
list concerns the implementation of a POSIX.1 utility that, as of
today, is included and used by default in eight operating systems
(OpenBSD, Alpine Linux, Void Linux, Unleashed, Termux, FreeBSD,
NetBSD, illumos), included by default in two more (DragonFly BSD,
Minix 3) and available as an optional package for ten more (Debian,
Ubuntu, NixOS, Gentoo, Fedora, Arch, Slackware, Crux, openSUSE,
MacOS).  So it does have a substantial user base.  The TODO list
has been available online and continuously maintained for more than
nine years now, since May 2010.  Since October 2013, see below for
a complete list of committed patches that were sent in by developers
other than Kristaps and myself.  The metric that i can easily extract
from this data is contributors times releases: if a contributor
sent patches during multiple release cycles, they are counted
multiple times, but if a contributor sent multiple patches for the
same release (which were never more than a handful from anyone)
that's counted as just one contribution, simply because i don't
have more fine-grained data easily available.

There were 34 such contributions for 11 releases during these six
years, i.e. on average three outside contributors per release or
about five per year.  The vast majority came from developers
already working on other free software projects:

 * 22 from (non-mandoc) OpenBSD developers (that's 65%, btw.!)
 * 3 from FreeBSD developers
 * 1 from NetBSD developers
 * 1 from Debian Linux developers
 * 1 from Void Linux developers
 * 1 from Alpine Linux developers
 * 2 from Crux Linux developers
 * and only 3 from other people

As far as i remember, all of these went like "i noticed this bug,
here is a patch to fix it" or "i had the idea that this feature
addition might be useful, do you like this patch?"  I can't remeber
a single case that went like "i looked at your TODO list and decided
to resolve this item, here is the patch".  Not one in ten years as
far as i can remember.

In conclusion, i'm keeping the TODO list purely for myself.  Myself,
i do regularly look at it and decide to tackle an item to shorten
the list.  The only reason for making it public is such that users
can distinguish between known and unknown issues in case they find
some.  Experience shows that it is neither needed nor indeed useful
for encouraging contributions.

As stsp@ and espie@ already said, that's probably because for people
who are able to contribute, it's easy to find the issues they want
to fix all by themselves, without any help from me.

Yours,
  Ingo


1.12.3 Dec 13 (2)
 * Franco Fichtner for a patch to add a minor missing feature.
 * Tsugutomo ENAMI for a patch to add a minor missing feature.
1.13.1 Aug 14 (0)
1.13.2 Dec 14 (7)
 * Anthony Bentley (OpenBSD), Baptiste Daroussin (FreeBSD), Daniel
   Dickman, Doug Hogan, Jason McIntyre, Theo de Raadt (OpenBSD),
   and Martin Natano (OpenBSD) for source code patches.
1.13.3 Mar 15 (3)
 * Anthony Bentley, Daniel Dickman, and Ted Unangst (OpenBSD)
   for source code patches and bug reports.
1.13.4 Jul 16 (7)
 * Anthony Bentley (OpenBSD) for unifying mandoc.css, two nice
   patches for man.cgi(8), some documentation patches, some bug
   reports, and various useful discussions.
 * Todd Miller (OpenBSD) for lots of help with process group and
   signal handling, a few patches, some bug reports and some useful
   discussions.
 * Svyatoslav Mishyn (Crux Linux) for some patches, several bug
   reports, and extensive release testing.
 * Leah Neukirchen (Void Linux) for a number of compatibility
   patches and suggestions and several bug reports.
 * Christos Zoulas (NetBSD) for a bug fix patch and some useful
   suggestions for cleanup.
 * Florian Obser (OpenBSD) for a bugfix patch and some bug reports.
 * Michael McConville (OpenBSD) for some simple cleanup patches.
1.14.1 Feb 17 (3)
 * Michael Stapelberg (Debian) for designing the new mandocd(8)
   and parts of the new catman(8), for release testing, and for a
   number of patches and bug reports.
 * Ed Maste (FreeBSD) for an important patch improving reproducibility
   of builds in makewhatis(8), and for a few bug reports.
 * Svyatoslav Mishyn (Crux Linux) for an initial version of the
   patch to autodetect a suitable locale for -Tutf8 mode
   and for release testing.
1.14.2 Jul 17 (2)
 * Sebastien Marie (OpenBSD) for two source code patches and
   for some useful discussions.
 * Florian Obser (OpenBSD) for a bugfix patch and a bug report.
1.14.3 Aug 17 (0)
1.14.4 Aug 18 (2)
 * Marc Espie (OpenBSD) for implementing the size reduction of
   PostScript files, one additional patch for code simplification,
   and two bug reports.
 * Theo Buehler (OpenBSD) for a bugfix patch.
1.14.5 Mar 19 (6)
 * Alexander Bluhm, Raphael Graf, Ted Unangst (OpenBSD)
   and Daniel Sabogal (Alpine Linux) for patches.
 * Kyle Evans and Baptiste Daroussin (FreeBSD) for minor patches.
1.14.6 XXX 20 (2)
 * Marc Espie (OpenBSD) for a patch and for suggesting a feature impovement
 * Anton Lindqvist (OpenBSD) for a patch

Reply via email to