I think that one key thing to remember is that if dub is trying to become D's official package manager, it can't rely on external libraries for anything (except for the standard library). So, any package format that it supports either needs to be parseable with Phobos or with dub's own code.

That is something I don't really understand. If we go for SDL for example, why would it be better to redo Nick's work in dub or copy his code in, than having a build script download his library into the build directory? It is essentially the same thing, except that you end up in having to maintain a copy of already existing code.

I do understand that we should probably not depend on a library offering functionality that is also present in phobos, because why would we do that? Isn't phobos good enough? ...
But I don't really see the point in duplicating code. Soenke already did this for some functionality in order to make bootstrapping easy, but at least to me it seems to be less work to maintain a build script downloading some source code, than to maintain copies of libraries.

Of course in order to keep things simple, it might make sense to put more advanced, useful but not strictly required functionality into a separate package, like 'dub-extensions' in order to minimize the needed libraries of the core.

Best regards,

Robert