Hi Joe,
Chris, I disagree that the first sign-off on a major vendor's patches should be external. The first sign-off from a major vendor should be *internal* to their quality control process. This was at one time the standing policy amongst LibLime and BibLibre for major changes.
I think encouraging abstraction and RFC-aware flexibility is fine, but I think it is unwise to suggest that we should block *working code* from getting in just because a bigger, different or more-deluxe RFC exists. RFCs and the widespread desire for a feature flavor X are really quite removed from a working implementation ready for action, testing and revision now.
Also, I think if you develop your features "in the open" (e.g., posted w/ gitweb, or on github), the burden of synthesizing multiple RFCs and general "feature consensus" sentiment isn't on you in quite the same way as when changes are delivered en bloc. A vendor has what their clients are paying for, and if other devs have an unfunded desire for extra feature X, they can follow the branch right along add the last bit themselves, all while still in development. Whether X is pulled in by the vendor, or separately submitted by the dev to the RM doesn't really matter.