Use external components (like gnulib and CCAN) for compatibility layers and other functionality
This is more like philosophical question, but generally we should be focusing on building the DNS daemons and not on making reusable components that are never reused.
There are basically several repositories of components:
gnulib modules and libiberty are LGPL, so they are perfectly compatible with our MPL license, and it doesn't pose any additional restrictions on the users. CCAN modules are usually just public domain-like.