The design of BIND 9 was begun in 1998.
After 10 years of the release of BIND 9 ISC.org have started developing BIND10.
Major areas that are being redesigned:
- Modularity: clearly defined points at which to interface with the backbone of BIND, allowing (for instance) the selection of a variety of back-ends for data storage, be it the current in-memory database, a traditional SQL-based server, an embedded database engine or back-ends for specific applications such as a high performance, pre-compiled answer database.
- Customizability: the ability to select the functionality to be enabled in a given binary build, e.g. the selection of caching-only or authoritative-only functionality. This would enable the generation of light-footprint images of BIND suitable for embedded or small dedicated applications.
- Clusterization: the ability to run on multiple but related systems simultaneously, using a pluggable, open-source architecture to enable backbone communications between individual members of the cluster. These coordination services will enable a server farm to maintain consistency and coherence.
- Integration with customer workflow: ISC recognizes that flat text configuration and data files, while adequate for most purposes, are not a very flexible way of integrating with the ever more sophisticated back-end systems that customers use for process management. BIND must provide new forms of interaction with (and interfaces to) monitoring and configuration environments. This ability for workflow integration would enable, for example, closer coupling between BIND and DHCP without the need to combine them into a single service or server.
- BIND 10 must recover from failure and continue operation, reducing the impact of software errors and denial-of-service attacks on the availability of the service.
- Better runtime control: BIND 9 was designed to use configuration-file reloads as a means to alter configuration. Today’s operational environments require a finer-grained approach to configuration changes. This will is an explicit design goal for BIND 10