昔仕事でWinsockを使うミドルウェアを書いたことがあるが
バージョン違いによる仕様の違いが多くてびっくりした
ドキュメント化されてるから仕様に違いないんだが
コードを書き直した時に出てしまったバグとしか思えないものもたくさんあった
半分の時間はバージョン違いを吸収するコーディングに追われた
幸い保守の契約はまだしてなかったので売り切りで逃げた

今はだいぶ変わったと思うが
昔はソフトウェア開発工程を管理できない会社だった

ちなみにpythonのsocketクラスの設計は本当に凄いと思います
UNIX系とWindows両方でうごくコードを書く叡智の結集