Sounds like you're going to do both then - have global shared modules and local copies as necessary. To me that seems ugly and likely to be error-prone. You'll probably find out you need a local copy only after things break - after the module you want to copy is overwritten! Not an insurmountable problem by any means, but something I don't ever have to worry about...
-sam