One of selling points of Protobuf was backward compatibility, i.e. developers can evolve format, and older clients can still use it.
Now with new Protobuf version ca
Yes, if some of your systems are proto2 based, it is probably best to keep using proto2. In my opinion, proto3 does not introduce many new features and most libraries will continue supporting proto2.
However, the wire format is mostly compatible. As long as the tag number is the same, the encoding remains the same. The required/optional specifiers do not affect the encoding, they are only checks that are performed after decoding.