title: Where to store proto files which are shared among projects?
body: <p>I have project A and project B. They may be in different programming languages.
  Project A exposes an API using proto files, which project B will use to then generate the API in the programming language which project B uses.</p>
  
  <p>But where are the proto files stored? What is the conventional way to do it with protobuf? Do you add the files generated from the proto files files to version control?</p>
  
  <p>If you store a copy of the proto files in both project A and project B, then if project A changes its API, then project B will have to copy them over. This approach doesn't work great when there are many project using the API exposed by project A.</p>
  
  <p>You can solve the above issue if you have a separate project, project C, containing the shared proto files. But then how do you generate the proto files from project A and project B?</p>