Linux != CP/m
While the author makes some great points that he's learned from his own history, he's missing points from other peoples' history.
An example of this would be OS/2. Granted IBM couldn't market OS/2 and it's debatable whether they actually tried or not, but WIN-OS/2 was one of the biggest drawbacks to OS/2. Supporting Windows applications in OS/2 was precisely why most vendors elected not to write native applications.
Consider this scenario under Linux. Most people still run Windows, and Linux can handle Windows apps in Wine, Vmware, whatever. Why should I write native apps for something that has such a small percentage of the market?