As a non-native english speaker, I am always confused on whether there is an arbitrary way to name the following client/server interoperability scenarios:
Scenario A:
clientN+1 - serverN+1
\
clientN -- serverN where N is a concrete arch version
Scenario B:
clientN+1 - serverN+1
/
clientN -- serverN where N is a concrete arch version
Is one of the scenarios called "backwards-compatibility" and the other "forward-compatibility" in an arbitrary way? Otherwise, if both can be called both ways depending on the reference, then, is client in Scenario A backwards-compatible and server forward-compatible or the other way around?