These days, when computers play an important role in virtually all aspects of our life, the issue of concern to many programmers is Microsoft's hiding of technical documentation. Microsoft is by far the most important system software developer. There can be no argument about that. Microsoft's MS-DOS operating system has become a de facto standard (IBM's PC-DOS is actually a licensed version of MS-DOS). And this should be so, because these systems are very well written. The people who designed them are perhaps the best software engineers in the world.
But making a computer platform that is a de facto standard should imply a good deal of responsibility before the developers who make applications for that platform. In particular, proper documentation is essential for such a platform. Not providing enough documentation for a system that everyone uses can have disastrous results. Think of it, an operating system is useless by itself, its sole purpose is to provide services to applications.
And who would be able to develop applications for an operating system if the documentation for that system is confidential and available only to the company that developed it? Obviously, only the company that has developed that operating system will be able to develop software for it. And this is a violation of the Antitrust Law.
And now I start having a suspicion that this is happening with Microsoft's operating systems. It should be no secret to anyone that MS-DOS contains a lot of undocumented system calls, data structures and other features. Numerous books have been written on this subject (see bibliography). Many of them are vital to system programming. There is no way to write a piece of system software, such as a multitasker, a local area network, or another operating system extension, without knowing this undocumented...