We need a lot of engineering bits to write BIND 10. This page collects some of them.

Version Control

Subversion is very close to CVS - which we all know (and hate) - but it is better. It is the default supported by Trac. We may need to migrate to a more distributed version control system (like git) at some point in the future (for instance to have private branches). But for now Subversion is "Good Enough".

Web interface to browse changes in the repository will be very useful. Especially if (and that's my assumption) we provide other developers and users with such an interface. It should include the following features:

  • easily identify at which revision a particular change was made (just like cvs annotate could do)
  • take a diff of arbitrary two revisions

Unit Tests

Python has a fairly decent unit testing framework that comes with it:

We need to pick a similar framework for C++. This is old, but probably still relevant:

Bug Tracking System

Does RT suffice? Should we consider making the bug DB more open?


Python has a document generator:

We probably want something similar for C++.

What about doxygen?

Build System

autoconf works, but is probably not the best we can do. (scons? cons?)

Event Handling

If we need to listen on file descriptors, we should use libev:

Last modified 10 years ago Last modified on Aug 13, 2009, 4:55:15 PM