This is different understanding between us.
I'm working at a distro vendor, and as a responsible person for distribution packages, the first thought is maintainability.
So far we agree.
For that purpase, I prefer very much a shared library approach because I know the hell of vice of copying codes. Copying code works well if it's 100% safe and mature code, which requires no longer updates and fixes. But a code being developed shouldn't be copied.
Not sure I agree here. Do you really want to depend on libspeex "blindly" not knowing what changes I make (while the code is evolving). Code copying is not necessarily bad. After all, that what the kernel does with the ALSA drivers -- sync up every once and then.
That is, the only criteria for inclusion is whether the code is well tested and no more fix/update is needed. In this case, whether resample code has to be further sync'ed with speex codebase or not. If it should be kept synced, then shlib approach is clearly better. Otherwise we have to take care of two places at the same time.
I guess my main question would be: are you willing to make libspeex a *mandatory* dependency? If not, please include a copy of the resampler.