If you initiate the connection, then you send a version right away, and so when you receive a version in return, you don't want to send another one. If the peer initiates the connection, then you ignore them until you receive a version, and when you do, you then need to respond with a version of your own. That's what that if statement is about.
Very old versions would immediately send a version as soon as the TCP connection was opened, regardless of whether it was incoming or outgoing. The comment is maybe a little confusing because it's sort-of talking about changing this ancient behavior.
So basically at that point I know that I received a
version, the question is whether I should send one back or not and that depends on who opened the connection (because if I did then I already sent one). Makes sense and is compliant with the code, but got nothing to do with shyness (letting the other peer send one first). So yeah I guess the comment is just kinda confusing
Thanks a lot