TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Andrew Grillet
from: Mike Bilow
date: 1995-06-06 17:17:50
subject: Re: WARP API and EXE format

I think we are letting this discussion drift quite far from OS/2
programming, but I will respond because you do raise the issue of
undocumented APIs.


Andrew Grillet wrote in a message to Kevin Ring:

 > The law on this is complicated, and the
 > standard counterclaim would be that reverse engineering has always been
 > legal under U.S. law and is considered essential in the promotion of
 > competition.

 AG> Actually, I believe you have this wrong ... reverse
 AG> engineering can be made illegal in the states as part of a
 AG> (sales) contract. In most of Europe it cannot be made
 AG> illegal as part of a contract, or in any other way. 

You can write anything into a sales contract that you want, but whether it
would be enforceable is another matter.  If you want a particularly amusing
story about this sort of thing from the U.S. point of view, read Tracy
Kidder's "The Soul of a New Machine," in which there is an
account of one of the engineers who is designing the Data General Eclipse
physically disassembling a DEC VAX at the site of a friendly VAX owner.

 AG> I am not sure waht the position is about reverse engineering
 AG> something in the UK and selling it in the states, but I
 AG> imagine its a non-event cos the Americans wouldn't buy it on
 AG> grounds on NIH :-)

This is only because we learned our lesson with the Timex-Sinclair.  :-)

 KR> There's also the fact that doing this wouldn't require any kind of
 KR> reverse engineering, only the documents provided publicly from
 KR> Microsoft and IBM.

 AG> Theoretically, but then there's all those undocumented APIs,
 AG> and places where the doc's are wrong.

This is one of the reasons why undocumented APIs are such a touchy issue in
U.S. law.  If an undocumented API is changed gratuitously in order to break
the products of competitors, then U.S. courts have taken a dim view of
this.  The famous precedent was set by none other than IBM, which changed
the interface on its mainframe printers back in the 1950s.  This "plug
compatible" controversy is one of the main things that got IBM into
antitrust trouble, eventually producing the 1956 consent decree that is
still in force.  Note that all IBM products, including OS/2, are subject to
the 1956 consent decree with regard to undocumented behavior.

It is very rare that you see a clear-cut case of a change that is
definitely gratutious, but it does happen.  The "AARD"
controversy, where Microsoft put code in a Windows beta that would break
only under DR-DOS, was well played out in the pages of DDJ after being
discovered by Geoff Chappell.  The AARD code was still present but
deactivated in the release version of Windows 3.1.

Undocumented APIs are also a mechanism for an illegal "tie-in,"
and it is in this context that most of the attention has been focused on
undocumented facilities of the Windows API.  That is, a company that makes
both the operating system and applications programs for that operating
system has a theoretical advantage over other makers of application
programs.  However, this is not improper unless some mechanism is found
which actually converts this theoretical advantage into a real advantage,
and undocumented APIs would do precisely this.

Finally, Microsoft is one of the great masters at the "badly
documented API."  An enormous amount of what people think of as
undocumented is actually documented somewhere by Microsoft, even if it is
in an obscure place that defies reason.  For example, much of the real
documentation about memory management in Windows is part of the Device
Driver Kit, but nearly everyone who needs to know this information would
not have the Windows DDK and would never think to look there.

 KR> I would imagine that unless they say specifically
 KR> you can't use them for something like this, there would be nothing
 KR> they could do about it...

 AG> I think that even if they did a UK court could be persuaded
 AG> it was an 'onerous' clause, and was not enforceable.

This is pretty close to the U.S. situation, too.  Prohibiting reverse
engineering is a clearly anti-competitive practice.  Although the rules for
software may turn out to be somewhat different, the rules for hardware are
reasonably well established.

 AG> However, certain US companies have been known to send the
 AG> hit-men round. 

You must be watching a lot of old movies over there!
 
-- Mike


---
* Origin: N1BEE BBS +1 401 944 8498 V.34/V.FC/V.32bis/HST16.8 (1:323/107)
SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 323/107 150 3615/50 396/1 270/101 105/103 42 712/515 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.