Hi,
Also Fedora is driving a lot of spec syntax enhancements, both at the rpm and the macro layer. Pushing spec files upstream is a sure way to freeze spec syntax in stone and have everything behave in rpm 3.x mode (with rpm 3.x limitations) 20 years from now.
The whole thing is just a variation of the bundling/vendoring aproach, relocate everything in a single private place to avoid the hassle of interacting with the upstreams the project depends on, with the usual result that the apex of the vendored pyramid is well maintained, everything bellow suffers, and the project becomes impossible to contribute to independently without cloning its complex closed garden environment.
Every Fedora package has a dual upstream, the source project for the project code, and Fedora rpm/macro enhancements for the spec code.
Regards,