By Shane Kerr, BIND 10 Programme Manager
BIND 10 is, briefly, a re-design and re-write of BIND 9. BIND 9 is itself a re-design and re-write of BIND 8. BIND 9 is by far the most widely used DNS server on the Internet (one estimate is something like 80% of DNS servers). For ISC, and I think for the DNS community, BIND 10 is going to be a Big Deal.
I’ve wanted to do a BIND 10 blog since the project kicked off. I have learned a lot of interesting things from development blogs on other projects, so I’m sold on the idea of development blogs.
The ISC development model has been relatively closed to date (think “Cathedral“). This is not necessarily bad, but I want the BIND 10 development to be open, including exposing the details of various discussions and decisions made within the project. My hope is that publishing how and why we make the design choices we make will mean that the project will have usefulness beyond the software itself. Plus it will give users and developers a chance to kibitz on the work as it progresses.
The BIND 10 project officially kicked off on 2009-04-01 (aside: I’m obsessive about using the ISO Date and Time formats). In fact, ISC employees had been spending some of their time trying to define what the project is and how it was going to look for several years before that. But that work was unfunded and largely unfocused – other day to day business took precedence. One of those people was João Damas, who was able to convince a set of 10 initial organizations to donate substantial sums of money to ISC to create the software. You can see the list of current sponsors on the BIND 10 Sponsors page. So now we have sponsors, and just as important, we have an agreed-upon deliverable for the first year.
The year 1 deliverable is an authoritative-only DNS server, plus all of the necessary infrastructure that will be used for future development. This is probably the simplest form of DNS server: we need to be able to receive and process DNS messages, and reply with an answer from some sort of database (BIND 9 uses zone files to load an in-memory data structure, but in fact this database can be anything).
I started on the project at the beginning of May, and have been working on getting things organized and moving forward. We’ve got a Trac site set up (at https://bind10.isc.org), a public developers mailing list (firstname.lastname@example.org), a ton of design discussions, a rough project plan… and now this blog.
What to Expect
We’re going to be posting things that we find interesting and possibly useful to this blog. This can range from very high-level posts (like this one) to very low-level posts (meaning bring your DNS and development skills). It may also include a number of posts touching on religious issues – by which I mean language decisions, OS discussions, and things like that.
As far as the actual project, I invite everyone to subscribe to the bind10-dev list, and look at the development site for details as they arrive. We’d like as wide a group of interested people joining in the fun as we can get.
Or if you don’t have time or interest now, please check back in a few months and maybe even give the code a try. One of the goals is a pleasant administrator experience, but we’ll need your feedback to know if we’re achieving that.