Hardware fragmentation then and now
Back in the CP/M and MS-DOS days, developers shipped software with all sorts of device drivers to support such basic peripherals and system services as terminals, graphics cards, mices and input devices, memory management, mass storage units, printers, network equipment, and more.
Every developer pretty much had to reinvent the wheel. Yet the industry thrived, and many software houses and independent programmers published successful applications and games.
These days mobile developers gripe about Android fragmentation, a consequence of the success of open platforms like CP/M and the IBM PC.