BIND 9 has support for optional features that usually need external libraries. The most difficult one to set up and also the most requested one is dnstap, which has a number of external dependencies (i.a. protobuf, fstrm). Stock OS packages for those libraries are often outdated or missing and thus BIND 9 cannot be compiled with support for that feature.
BIND 9 comes in two flavours - the open source edition and the subscription edition.
BIND 9 Packages
Packages should be prepared in a way that allows installation and upgrading
In the case of RPM, we provide BIND packages as a Software Collection (SCL) as they are not really compatible with BIND 9 packages provided by RedHat (it's more vanilla, doesn't provide PKCS#11 integration)
At least deb and RPM
Ubuntu LTSs (16.04, 18.04)
RHEL/CentOS - 6, 7
Fedora (supported versions)
Debian - 9 (stretch), 10 (buster)
Packages should be compliant with distros' policies
BIND 9 processes should use native solutions for services, systemd on Linux, daemon on FreeBSD
Distributing open source packages and premium/subscription packages should be supported
Packages should be exposed as just a folder of files on FTP/HTTP server
Open source packages should use the native locations for repositories:
PPA for Ubuntu - ppa:isc/bind, ppa:isc/bind-esv, ppa:isc/bind-dev