D.J. Bernstein's djbdns page is here.
My djbdns patch page is here.
User-supplied patches and info are available here.
This site is, of course, powered by djbdns.
djbdns is a much needed change to the DNS front. Like qmail, djbdns brings a very different approach to a very old protocol. To sum up how I feel about BIND's warpedness, here's a quote from Bennett Todd to the djbdns mailing list (some context: someone had asked about in-addr.arpa delegations and why RFC 2317 is "hated"--RFC 2317 defines a hack for classless in-addr.arpa delegations):
``RFC 2317 specifies a weird hack to work around the irritatingly complex and infuritatingly burdensome format of BIND Zone Data files, which are systematically used throughout DNS RFCs. Basically, the RFCs that standardize internet DNS practice ended up being written by the people whose brains had been steeped for so long in BIND, they grew to think it made sense. It's as though the RFCs specifying SMTP for email explicitly stated how things should be done using sendmail.cf notation.''Why do I use djbdns? I have three main reasons (these reasons also apply to all of DJB's excellent software):
Like with all of DJB's Internet-related software, security is a top priority. Programs in the djbdns suite are compact to reduce the likelihood of security holes. User interface-related code is also kept simple and compact to minimize possible security holes. DJB lists his own security-related features here. After reading the code myself and using other security-proven programs by DJB (such as qmail), I can't see why, from just a security standpoint, anyone would want to run anything other than djbdns.
There's no other way to put it: djbdns is fast. The programs that serve responses about DNS items to the world (tinydns, pickdns, walldns, and rbldns) can easily handle hundreds of queries per second. The caching resolver, dnscache, quickly processes client queries and stores new information effeciently into a cache of definable size. In both simulations and my experience, BIND just doesn't hold up well under load and will quickly consume all available resources.
Setting up, using, and maintaining djbdns components is easy. See this page (coming soon) for some information on how I install and run djbdns on my machines. Of course, DJB maintains excellent documentation at the main djbdns site. Some people (mostly BIND users) say djbdns isn't user-friendly and is hard to configure. I can't help but wonder if they've actually ever looked at the named.conf(5) man page. Along the same lines, I find the BIND zone file format to be very confusing and nearly impossible to parse for automation purposes. The tinydns data file format, however, is easy to read for both humans and scripts. You can find it in the tinydns-data documentation here.