| Does one of us have to push the jar into the repo, or can anyone do it?
Usually - a committer after the approval from PMC should have the privileges to do it.
| Also, unless I'm missing something, we'll have to push a new version whenever we change things in Thrift, or at least whenever we cut a new version, right?
Yes - that would be true.
| what kind of process we'd be introducing and committing ourselves to?
Usually the versioning would be along major.minor.releaseVerisons and the developments / PMC team of the project agree on a release checkpoint and after a particular amount of dev cycle iterations / checkins , a new release is made. As a thumb rule - all releases with same major / minor versions ( but different releases ) are backward compatible w.r.t code .
Given that it has to do with protocol versioning - may be associating a minor version with the protocol in place would be easy to begin with , so that users are aware of the backward compatibility issues.
If you think there is heavy development going on - then the artifacts could be published to - http://repository.apache.org/snapshots/org/apache/ , with less stringent backward compatibility requirements and be integrated with some other continuous build process ( Hudson, say) to publish the latest artifact after to the snapshot repository after every successful build + test .