Recently, at a BIND 10 Face to face meeting, we scheduled a short slot of time to discuss the features of a DNS forwarder. As part of the development process of the BIND 10 recursive resolver, we initially implemented a basic forwarder. As we added actual recursive resolver features, the original 'forwarding' mode was left in, and got some of the features that were added for the 'resolving' mode, mostly on an ad-hoc basis.
During the last week of October, the BIND 10 team got together in ISC's offices to work in the same room for an entire week. Besides a lot of discussions where we could make use of the high bandwidth of having everybody together in the same room, there were coding sessions. The goal for the week: get something running. What exactly hadn't been specified in advance yet, and that was the topic of the first discussion.