Q: What is so bad with having undocumented functions ?
A: It is OK that a program contains some undocumented functions, but if a company uses
properiary information such as undocumented system call to get an advantage over 3rd
party developers then it is clearly an unfair practice. Consider Micro$oft: they use such
methods to outrun competitors. Microsoft tells the 3rd party developers that using an
undocumented MS-DOS and Windows calls is a dangerous practice but their own
programs contains a lot of undocumented functions. The only explanation is that
Micro$oft intentionally did not document these functions to get an unfair advantage
over 3rd party developers !!! Here are some better known examples:
DOS function 52h is the "Get list of lists" function.It returns the pointer to the list of
internal MS DOS variables. Seems like a perfect example of a good undocumented
function ? Not quite. If you want to get the list of drives, browse memory, get device
driver list and so on you have to use function 52h. In fact, Memory Control Block
format is documented in the Microsoft MS-DOS Programmer's Reference, but there is
nothing about getting the first MCB address. It's function 52h! I need not mention
that a lot of programs use this function: Windows, PC Tools, Norton Utilities,
Norton Commander...
(Source: Undocumented DOS by Anderw Schulman). Microsoft intentionally created a
special code (called the AARD code) that detects,wheter or not the DOS is a genue
Microsoft MS-DOS. Beta versions of Windows 3.1 displayed the following message
(as I remember):
Non-fatal error detected. Press any key to continue.
Q: Given that Microsoft uses unfair techniques as described before, does it mean
that Microsoft Products are actually better than 3rd party ?
A: No. In fact, some Microsoft products are infamous for being feature-crippled
and buggy.That's why I call them the Microsoft Crapware. Here are some
better-known examples of Microsoft Crapware :
"imagine the disincentive to software development if after months of work another company could come along and copy your work and market it under it's own name...without legal restraints to such copying, companies like Apple could not afford to advance the state of the art" -Bill Gates '83 Bill Gates
When Microsoft released DoubleSpace in DOS 6.0 and 6.2 it infringed 2 Stac patents.
US Courts ordered Micro$oft to stop marketing DOS 6.2 and pay Stac Electronics some $100M
The DriveSpace in DOS 6.22 is "clean", but DOS 6.22 Backup cannot restore compressed
backups from DOS 6.2 !!
Worried about possible lawsuits againist them, Microsoft
wanted to be sure that no such thing can happen in the future and thus
steal other's ideas and code more freely. So,if some PC manufacturer wants
to preload Windows95 it must sign a license agreement that says that it
cannot file a lawsuit againist Microsoft! Cool idea! Now Microsoft can
easily steal ideas from IBM OS/2, because under this license agreement
IBM cannot file a patent infringement lawsuit againist Microsoft !!!
I have only one small question: what the US Justice department should do in
this case.