We use dub as our package manager in all the build infrastructure, so for us to use my own vibe.d fork would mean I'd have to submit it to code.dlang.org, or I'd have to clone my fork and add-local on every machine that builds code. Both of these feel like major pain in the rectum to maintain.

Actually there is already a fairly easy way to work with a fork:

	"dependencies": {
         "vibe-d": {
			"path": "vendor/vibe.d"
        }
    }

Then you just check out vibe.d from your fork as a submodule in the vendor directory.

I just don't like having to work with forks full stop. It means maintaining and cherry picking changes that should really be part of a community process to keep the latest stable release usable. It also has repercussions when other packages rely on vibe.d. I've seen dub get into a horrible mess where it doesn't resolve correctly.

My issues with dub are stories for another time, but suffice it to say, I preferrer to keep the packages in my vendor directory to a minimum. Usually it's just locally developed stuff that I feel is not ready for the dub package repo.