I think that reusable subprocess is like a maven artifact.
if you need whatever library in your project you must deploy them in your project, so if a process need a reusable subprocess you must deploy the subprocess.
Other masterly would comment this post and light up our doubts
it's pretty much how Francesco described, to be able to call subprocess (as reusable) it must be part of the same deployment (either directly placed in project or brought in by dependencies). Either way it must exist in the same kieBase otherwise engine won't find it. Alternative way would be to utilize REST api of the workbench to call any process via remote (RESTWorkItemHandler) so you remove the direct dependency between processes.
Maciej, thanks for the information!
If using the RESTWorkItemHandler to start a remote process, how would the remote process call back to the calling process when it was done?