It is unclear at this point if protobuf's performance will be
improved. And since Thrift is in its initial stages, I am slightly
apprehensive in adopting it.
Up until now, I was assuming that we have to use Python classes to
pass information. I realized that we could use Dictionaries with
variable names mapping to their (heterogeneous) values. (Pardon the
python ignorance).
Wrt. backward compatibility, I am fine if we are safe in writing code.
By safe I mean, cases where a new code is reading a message from old
code. It cannot assume the presence or absence of a variable.
So cPickle it is!