I am always a bit confused why people assume that libraries need to be included inside a project for it to be suitable for collaboration. I personally prefer the centralized library approach (with a clear and strict process for adding assets – example via pull request into a git repo that allows a second engineer to review every added asset). With that approach, of course every new contributor needs to set up the shared libs at the start of their work with the organization at hand (for me an acceptable up front investment that pays of long term).
And for simple read only shares (where this effort might be a bit much) one does not even need libraries as footprints are included in the pcb anyway and symbols come in the cache library (will be even easier once v6 comes out as symbols are then also included in the libs). And a read only 3d share is best done by exporting the board as step as the receiver is then not even required to have kicad installed (any step viewer or 3D MCAD program would do)
And of course there is always the option to use the archive project plugin or setup a project with only local libs from the get go.
More details: