> While we're at it, I'd love to split things like 'mailbox.c' which are
> really libraries into a separate directory from 'imapd.c' which is a
> system daemon only run by master from cyrus.conf and separate again
> from cyr_dbtool.c which is a tool designed to be mainly run by humans.
I would suggest, that
the sources of libcyrus are moved to src/lib/cyrus,
the sources of libcyrus_min are moved to src/lib/cyrus_min,
the sources of libimap are moved to src/lib/imap,
the sources of libsieve are moved to src/lib/sieve,
the sources of the services from imap/ are moved to src/service,
probably the installable header files are moved to src/include,
and then check what to do with the remaining files.
With services I mean fud, imapd, lmtpd, pop3d, smmapd and sync_server.