MS was developing Windows while Gates was pitching OS/2
IBM wanted to write the next release of OS/2 in C and Gates was trying to convince them to write it in Assembler (while Windows was being written in C?). IBM and Gates parted ways for a number of reasons.
I can't totally disagree with some of the Linux argument, but IBM was already on the UNIX bandwagon to an extent with AIX. During the early years of the PC, IBM thought they were nothing more than "hobbyist toys" and the main frame would rule forever (it still does to an extent). By the the the clones were taking over the market, IBM started having an awakening. going to Unix and then Linux was a way of blunting the Microsoft's eventual dominance of the S/W market. Linux has made big strides in the server market.