decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Thursday, February 08 2007 @ 08:51 PM EST

Would you like to read the expert's supplemental report [PDF] in Comes v. Microsoft regarding Microsoft's allegedly undocumented API's? Yes, the ones I gather have already been offered to the Department of Justice. You now can. Things are beginning to sizzle in the antitrust litigation, I gather.

Microsoft attorneys tried to get the expert, Andrew Schulman, to say he'd since changed his mind about one aspect of his opinion in a recent deposition, but as you can see on page 36 of the February 6, 2007 deposition [PDF], that is not the case. The question and answer went like this:

Q. Well, now that you appreciate what the Competitive Impact Statement says and what the government of the United States told a federal judge about the meaning of the final judgment, do you want to withdraw the opinion that you've offered that even after the final judgment in the United States v. Microsoft, a large number of APIs used by Microsoft Middleware remain undocumented?

A. No.

One of the allegations is that in this expert's opinion, Andrew Schulman, “Microsoft Office uses (and copies) undocumented DirectUI APIs” and “Microsoft Office and other Microsoft applications use undocumented Windows Line Services APIs”. As you all know, I'm not a programmer myself, so I'll toss the ball to all of you who are and ask you this: might that give us a clue about why it seems so hard to make ODF and OpenXML 100% interoperable? If so, would anyone but Microsoft ever be able to really render Microsoft Office documents perfectly, if only Microsoft knows the hidden bits? If that is correct, then how could that be a standard?

Here are the headings from the Supplemental Expert Report:

1. The source code for Windows XP and Microsoft Office provide additional bases for opinion #21 in my June 2, 2006 technical expert report (“Microsoft Office uses (and copies) undocumented DirectUI APIs”).

2. The source code for Windows XP and Microsoft Office provide additional bases for opinion #20 in my earlier report (“Microsoft Office and other Microsoft applications use undocumented Windows Line Services APIs”).

3. The source code for Windows XP and IE7Beta3 provide additional bases for opinion #36 in my earlier report (“IE7 and MSN Messenger use the undocumented DirectUser (DUser, Direct UI) API”).

4. The source code for Windows XP and Internet Explorer provide additional bases for opinion #35 in my earlier report (“Internet Explorer uses Microsoft’s undocumented Line Services API”).

5. The source code for Windows XP and Internet Explorer provide additional bases for opinion #34 in my earlier report (“Even after the final judgment in United States v. Microsoft, a large number of APIs used by Microsoft middleware remain undocumented”).

6. Microsoft’s application and middleware users of undocumented Windows APIs are not “trusted components”

7. Microsoft’s source code provides additional bases for opinion #28 in my earlier report (“Undocumented Windows interfaces used by Microsoft applications and middleware really are APIs”).

8. Microsoft’s source code provides additional bases for opinion #38 in my earlier report (“Microsoft application and middleware access to Microsoft Windows source code is a substantial advantage that was not available to ISVs”).

9. Examining MCPP and WSPP documentation

10. OS/2-Related Warning Message in Combined DOS/Windows Install from 1991-1992, and in Later Microsoft Products

11. Dell Recovery CD Contains MS-DOS 7.1 from Windows 98 SE

12. Several then-undocumented APIs cited in my earlier report have recently been documented

13. Tests using ToolHelp and Dependency Walker provides additional support for opinion # 8 in my earlier report (“Windows is ‘componentizable,’ not monolithic, and Microsoft knows how to split Windows into smaller pieces”).

Each subheading includes examples. This is more up your alley than mine, so enjoy. This is all followed by a list of materials considered, and the final one on the list, my sense of humor couldn't help but notice, not that it means anything to the world at large, is a SCO website. Small world.

Here, finally, are all the other documents now made available by plaintiffs in the case, what they call the Andrew Schulman materials:

Deposition Exhibit 16 (Federal Register of November 28, 2001, with the DOJ-MS Final Judgment, as downloaded from www.access.gpo.gov)
Deposition Exhibit 17 [Part A; Part B, PDFs] (Response of the United States to Public Comments on the Revised Proposed Final Judgment, dated February 2002.)
Deposition Exhibit 18 (handwritten notes of Andrew Schulman)


  


Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft | 453 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections Here
Authored by: feldegast on Thursday, February 08 2007 @ 08:54 PM EST
So PJ can fix them.

---
IANAL
My posts are ©2004-2007 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

  • Corrections Here - Authored by: Anonymous on Thursday, February 15 2007 @ 06:16 PM EST
Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Thursday, February 08 2007 @ 09:08 PM EST

No, the undocumented APIs being used wouldn't have anything to do with how to read or write various document formats or interpret them. The type of APIs they're talking about are used to make Microsoft programs work better within the Microsoft Windows world, e.g. work more smoothly with other Microsoft programs, get better performance from Windows, look better or operate more smoothly, load faster, etc. This type of thing makes Microsoft products appear more favorably compared to other vendor's products.

[ Reply to This | # ]

Off Topic
Authored by: feldegast on Thursday, February 08 2007 @ 09:09 PM EST
For all off topic and other FOSS news.
Please make links clickable

---
IANAL
My posts are ©2004-2007 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: mlwmohawk on Thursday, February 08 2007 @ 09:12 PM EST
Way back in the day, the early '90s I worked at Turning Point Software, in
Cambridge, MA.

We worked on a project called "Splat" (it eventually became "Fine
Artist") for Microsoft. It was a direct competitor to Broderbund software.

We were given contact information in the Windows GUI group for questions. We
needed to have high speed graphics and animation in the product with VERY low
memory and CPU requirements.

There are a lot of programming details that need to be omitted, because this
article could go on for a while, so to make a long story short, Windows internal
GUI bitmaps are undocumented. One reads a public bitmap format and draws it on
the internal bitmap for use in the GUI. This means you have two copies of the
bitmap in memory, *and* you have the CPU overhead of creating the second copy.

Our Windows GUI engineer contact pointed us in the right direction to find the
details of this internal format, and more importantly, told us how, why, where,
and when these formats change.

At the time we thought this was cool. Years later, I wonder if Broderbund had
the same advantage, I bet not.

[ Reply to This | # ]

Dell Recovery CDs-What's his point?
Authored by: Anonymous on Thursday, February 08 2007 @ 09:24 PM EST
"11. Dell Recovery CD Contains MS-DOS 7.1 from Windows 98 SE"

This comes under the heading of "no duh", I have several dozen of
these CDs. It's used to run DOS-based utilities like Dell's 32-bit Diagnostics.
DR-DOS is used on Dell's Hard Drive Installation floppy disks.

But what point is he trying to make here?

[ Reply to This | # ]

1900 dlls and exes
Authored by: Brian S. on Thursday, February 08 2007 @ 09:32 PM EST

Towards the end he tried 35 live scenarios and found approx. 400 dlls and exes covered their requirements.

What are the other 1500 for?

Brian S.

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Thursday, February 08 2007 @ 09:38 PM EST
It's tempting to say it's all about performance, but it's a lot more complex
than that.
Remembering back from when I used to be concerned about such things...

MS office documents have (historically) contained not only the generic object
descriptions but also lists of UI/API calls used to render the object. So a word
document with a drawing object with a circle inside would have the direct api
call reference for ms windows gui code to render a circle. This caused them no
end of headache maintaining mac compatibility (had to emulate/intercept the
direct* api)... and the openoffice translators had to keep up with all the
revisions of the os code as well as how it was used inside the documents. As
well as gui code, there would be links and parameters for invoking the os
subsystems directly (embedded applications/com objects/.net/etc).
These are the same sort of things that are holding up the ooxml submission -
references to undocumented object interpretation/formats (eg render like excel
97 - which was made harder because excel 97 made render calls on whatever OS
dlls it was using at the time).

The openoffice translation group(forums) had a lot of info on this, but it's
been years since I've played with this stuff. If you want specific examples, let
me know and I can go do some digging.
Jen

[ Reply to This | # ]

Somewhat similar, but not quite why.
Authored by: Anonymous on Thursday, February 08 2007 @ 10:09 PM EST
> I'm not a programmer myself, so I'll toss the ball to all of you who are
and ask you this: might that give us a clue about why it seems so hard to make
ODF and OpenXML 100% interoperable?

Not quite. ODF / OOXML problems appear to me to be more a matter of Microsoft
using Microsoft technology in everything, even when standard formats are
available (the NIH, or "not invented here" syndrome). If everything
is properly documented, ODF *could* interoperate in theory, perhaps using some
extensions to encode whatever information ODF doesn't have a place for right
now. However, Microsoft Office has Microsoft-only formats embedded into its
files that I don't think there's proper documentation for and those bits are
included in the OOXML standard by reference. I.E. the 'standard' includes
non-standard items. WMFs come to mind, but I believe others have documented
that issue far better than I can.

The APIs are bits of a program meant to allow one program to communicate with
another. I expect that some of them were originally never meant for outside
use, later found to be useful by coders who had worked on both projects, and
later still, I heard tell (but alas, cannot substantiate) that some were tweaked
to penalize anyone calling the public API so that programs calling the private
API would run more slowly.

So only the Windows port of OO.o or any other ODF-using application would be
affected at all by Windows APIs (except for the weird case of WMFs, a legacy
format which should be taken out back and shot, anyhow). Given time, the file
formats can be supported if they're well understood, although this may be
difficult given the weird crud that OOXML documents produced by MS Office
contain and the strange ways they represent it.

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Thursday, February 08 2007 @ 10:12 PM EST
Alright, this is too anti M$ for my taste. They may be many things but they're
not that dumb in the face of antitrust litigation.

Also, you're assuming that the windows and office teams speak to each other.
Microsoft is a huge organization and these things are siloed. They're on
completely different P&L's.

[ Reply to This | # ]

Nothing new for Microsoft
Authored by: Anonymous on Thursday, February 08 2007 @ 10:18 PM EST
Here is an article from 1998 which tells the same story:

Link

[ Reply to This | # ]

* Channel Surfing * Man, I Hate Reruns
Authored by: TheBlueSkyRanger on Thursday, February 08 2007 @ 10:45 PM EST
Hey, everybody!

I've said it before, I'll say it again, and feel free to quote me:

The reason M$ keeps its code secret is because, if everyone knew exactly what
was going on their computers and what it was doing, they'd attack Redmond with
pitchforks and torches.

What does it take to get Torvalds nominated for sainthood? He helped solidify a
new development paradigm, created the means to shake up M$, and is liberating
the digital world. I'd say those are three miracles and should get him in the
door. Four, if you count that, even with his worldwide following and adoration,
it hasn't gone to his head and he is still a nice guy.

Dobre utka,
The Blue Sky Ranger

A computer without MicroSoft is like a chocolate cake without mustard.

[ Reply to This | # ]

What have they given the EU?
Authored by: Brian S. on Thursday, February 08 2007 @ 10:49 PM EST

There would appear to be two versions:

The 2004/2005 effort which proved to be totally unacceptable for reasons which are becoming obvious.

And the 2006 version which is currently being studied by Mike Barrett.

Brian S.

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Friday, February 09 2007 @ 12:32 AM EST
Ok, look. Ive been around on the community for a while. You guys can look up
my past posts to see im not a troll.

I will come out and say it.

I work for a company owned by microsoft. I am a microsoft-centric consultant.
I specialize in security and messaging in the microsoft enterprise space. It
was not always that way. I have built GPL products on top of a debian system.
I have made a couple of small contributions to apache. I have been involved
with Fedora Core since pre FC1.

Not everyone who works at microsoft, or works for one of thier subsidiaries, or
works for a company under partial ownership, or has ever worked at microsoft or
any of the above is a open source hating, anti-linux, GPL trashing, software
bigot.

Lets go over some basic technical concepts here. An API is an Application
Programming Interface. This is a specific set of information that another
program or subprogram can use to access specified functionality within the code
that underlies whatever a piece of software is. Generally when you publish an
API, you have several responsibilities to the community that you publish an API
to.

First, to ensure that the underlying code works predictably and is free from
defect. Obviously this is not possible every time, but usually this means that
if you have two functions doing a similar function in a program, you publish the
one that you feel is more secure and stable and predictable. It also means that
if a vulnerability is found in a published API function, you would probably
prioritize that patch higher than a non API function given that the two function
vulnerabilities are in the same class of risk.

Second, to attempt to maintain compatability with that established
specification, despite updates to versions. This too is not always possible.
Sometimes to add new features or fix something, you have to break some parts of
backwards compatability. On the same token, I can tell you from my work with MS
and scripting that some of the APIs that were there in NT and 98 can still be
found in the underlying Win32 APIs that shipped with vista. They have changed
in how they do things and how they work with other things but some of the same
documented entrypoints are still there. Microsoft has a massive testing harness
that they have to run each software patch through in order to ensure that
published, supported API functionality is not broken by changes made to fix
security or add features. This is part (not all) but part of the reason that it
takes so long to get software updates out.

Third, an API publisher has a certain responsibility to publish documentation on
the API. Sure there could be hundreds of API exposed functions that are not
documented but have any of you got an MSDN subscription? There are literally
gigabytes of documentations on accessing many of windows APIs. Add in API
support for previous versions and there are tens of gigabytes of availible
information, code snippets, test harnesses, implementation examples, etc for
everything from Windows Communications Foundation in .Net 3.0 back to some of
the Win32 stuff from VB6 access to functions in NT and Windows 98.

I would absolutely agree that in some cases Microsoft has not published APIs. I
am not sure how much of that I would ascribe to malice. Realize that for every
published API, there are resources required to document them, to test them, to
vet the code, to put together said documentation into a releasable format, to
maintain them, etc.

If microsoft put every employee they had, world wide on tasks related to
documenting APIs, I am absolutely sure that there would still be some missed. I
am absolutely sure that some would intentionally not be released for security
reasons. In 64-bit Windows Server 2003, and 64-bit Vista, and to a certain
extent 64-bit Windows XP professional (which was based off of 64-bit server
2003), for example, you cannot use many of the old APIs and system call table
modifications availible in 32bit to modify kernel interfaces or to handle
certain kernel functions instead of the kernel. This is plain prudence in
protecting the core level system from being subverted by third party software,
well meaning or not.

I realize in advance that some here will flame me for my post. I would like to
say in advance that I specifically like the GPL. I would like to say that I
understand that in many cases it makes sense for microsoft to document some APIs
that developers would like to see. I just see both sides here, I think, to a
certain degree. Do I agree with the marketing tactics, etc, that microsoft has
employed over the years? No. But thats not my department. I really cant help
what other arms of the same behemoth do.

I would also like to point out that although you, PJ, have repeatedly stated
that it is not your intent to become a cynic with respect to Microsoft and the
software development community that revolves around the Windows/Office platform,
you have long crossed that line. Particularly of late, Groklaw has seen in both
editorial and commentary a definite rise in free-software "religion"
if you will, that is endemic to the commentary on slashdot. Even Linus himself
has recently come out on the mailing lists repeatedly to rebuke many of these
positions; that free software is the only way to do things, that anything that
is not free is inherently evil, that free software enterprises and licensing
should be arbitarily separated programmatically from interfaces or interaction
with proprietary software components.

I would like to point out that I love the open source community. I like being a
part of it. I like contributing to it. I like discussing it. I like learning
from it. But I also argue that one can simultaneously enjoy being part of the
business in the proprietary software ecosystem as well.

I will step off my soapbox now and I understand that many here will want to
flame me for what I have said and who I work for (although a step removed), but
I feel better having now said my piece about the conversation and direction I
have observed here on Groklaw.

---
Clocks
"Ita erat quando hic adveni."

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: rah on Friday, February 09 2007 @ 01:25 AM EST
Hello,

Mainly a lurker here, but have to chime in with this set of
questions. I'm surprised, by the thread here that seems to imply
that it is disputed by Microsoft that their Office products use
undocumented system calls or other undocumented API calls. It has
always been one of my (many) gripes against Microsoft that there
software uses undocumented calls, and is therefore not playing
fair with competing application vendors.

1) Has it ever been established that Office in any of its
incarnations has ever used an undocumented API call in any M$ OS?

2) Have M$ ever denied that they have used an undocumented API
call, and subsequently found to have mislead a court about this?

3) If 1) is yes, then does M$ now assert that there is now not one
call made by any Office product to an undocumented system routine?

4) What _type_ of arguments does M$ offer to rebut claims that it
does not have any undocumented system interfaces in its OS's?

5) Has anybody ever put together a time line of assertions
made by M$ relating to this issue, that have subsequently
been shown to be false or at least misleading?

6) If M$ does not deny that it uses undocumented API's or has in
the past, what are the general type of arguments that it uses to
suggest that this practise is not, or was not anti-competitive?

After all these years, I'm truly surprised that it is in dispute
that M$ Windows OS's, has a publicly undocumented API, and that M$
has used and still uses this to gain competitive advantage over
its competitors.

Thanks for any answers/info/insight anybody can give me on this.

===Rich


[ Reply to This | # ]

Microsoft Certification
Authored by: Anonymous on Friday, February 09 2007 @ 01:43 AM EST
One important point about using undocumented APIs that no one has mentioned yet,
is that your product cannot be Microsoft Certified if it uses any! If it is
important to you to get the little Windows logo in the corner of your product's
box, you better not be using any undocumented stuff.

So, for a large application like WordPerfect that has to compete against Word
using internal bitmaps or whatever but yet wants to keep the Windows logo on the
box, they're stuck with the slower perfomance of copying the bitmaps, etc., and
Microsoft knows it!

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Friday, February 09 2007 @ 04:02 AM EST
Quote:
``One of the allegations is that in this expert's opinion, Andrew Schulman,
“Microsoft Office uses (and copies) undocumented DirectUI APIs” and “Microsoft
Office and other Microsoft applications use undocumented Windows Line Services
APIs”. As you all know, I'm not a programmer myself, so I'll toss the ball to
all of you who are and ask you this: might that give us a clue about why it
seems so hard to make ODF and OpenXML 100% interoperable?''

Theoritically yes. Practically - even more so. I cannot tell about the
particular APIs, but generally that holds true.

It is normal practice in closed source software to define parts of file format
as input to some home-brew library. Often such dark places are developed by
"dark geniuses" (uncommunicative though talented guys) and they are
poorly documented. But management-wise thanks to advanced features the libraries
might give company a competitive advantage.

Another point, is that such places might introduce orthogonal paradigms into
documents. Just recall all the inconsistencies of EOOXML at date handling or
percentage/point/pixel representation - this is direct outcome of development
spinning around libraries/APIs. (Or bitfields: example of direct incompatibility
with industry standard XML/XSL. IOW, you can't make a EOOXML converter based on
standard xml libraries, since xml doesn't support bitfields.). Different APIs
developed at different times and by different people end up using different (and
incompatible) concepts and primitives. Documenting (least reverse-engineering)
the mess is no easy task few competitors would be able to afford.

And in closed source software, modern management is adept in using all the
problems created by programmers by turning the problems against competitors. In
case of M$ we have that in form of APIs - other companies are using different
tactics. (Have no illusions - M$ isn't alone, it is just most successful.
Company I'm working for is the same.) All that to ensure that customer would
have a higher barrier to cross if s/he decides to abandon solution from the
vendor.

[ Reply to This | # ]

Sticking to documented APIs killed Lotus 123
Authored by: Anonymous on Friday, February 09 2007 @ 05:31 AM EST
http://developers.slashdot.org/article.pl?sid=07/01/09/0216251
At ... Comes vs. Microsoft ... testimony by Ronald Alepin, a former CTO at Fujitsu Software Corp. and currently an adviser to the law firm Morrison Foerster LLP. He said that Lotus 1-2-3 was killed, in part, by Microsoft encouraging Lotus's programmers to use the Windows API even though Microsoft's own developers found it too complicated to use.

[ Reply to This | # ]

Why does this surprise anyone?
Authored by: Anonymous on Friday, February 09 2007 @ 07:23 AM EST

This document http://www.users.qwe st.net/~eballen1/nt.sekrits.html has a lot of information on undocumented APIs, mainly from the system call standpoint.

The document also includes an analysis of what hiding the system call interface might do for Microsoft, and what it does to 3rd part software developers.

[ Reply to This | # ]

Never Attribute To Malice...
Authored by: Prototrm on Friday, February 09 2007 @ 09:23 AM EST
The PDF would seem to validate what I've believed all along: most of Microsoft's
behavior is not due to the Evil Empire trying to crush all competition, but
sheer ineptitude. Why do some Microsoft products use undocumented API's?
Apparently because nobody has the authority to stop them. As has been mentioned
in other posts, you may have thousands of possible entry points in a program the
size of Windows, but they are undocumented for a reason: *you're not supposed to
use them from the outside*.

I remember Back In The Day, programming the Commodore 64, when you made a habit
of using and abusing undocumented entry points in the code. Because the
operating system was burned into ROM chips, this didn't have a lot of impact. I
mean, it's not like the system was able to change very often, right?

I've said before that the reason Micosoft has been unable to document its
protocols for the EU is because it *cannot*! The code is much too squirley to
issue *any* documentation for it, and it's no wonder in my mind why Windows
itself is so insecure.

If the Windows team would keep its source code secret from all the other teams
(particularly Office), we might have fewer problems. As it is, it would appear
from the testimony that things are a complete mess. It's ironic, in a way, that
Linux developers apply the degree of control over their software that a big
company ought to apply to proprietary code, while Microsoft developers apply the
sort of cowboy, Wild West attitude that was common back in the days of the
Commodore 64, and is so often the accusation made against FLOSS today.

Who knew?

---
"Find out just what any people will quietly submit to and you have found out the
exact measure of injustice and wrong which will be imposed upon them."

[ Reply to This | # ]

The Microsoft Defense
Authored by: Anonymous on Friday, February 09 2007 @ 11:26 AM EST
The Dec 13, 2007 Transcript contains portions of Microsoft's opening statement, which might provide more clarity regarding Microsoft's position.

Microsoft Lawyer: "The Plaintiffs say there was something wrong with what Microsoft did. That the two sides of Microsoft...the operating systems side and the applications side, should not be talking to or cooperating with each other. If Microsoft had an advantage because it had both Windows and Excel and it could use its people to make both those products run better together, well, that's just a normal business advantage. It's called competition. And if Lotus is disadvantaged by that, Lotus has every right to come up with its own operating system."

Microsoft Lawyer: "So let's go back and talk a little bit about undocumented APIs and documented APIs. As I showed you yesterday, with each version of Windows, Microsoft makes available to all applications developers more and more APIs. By the time we got to Windows XP, there were 6,000 that Microsoft opens up and shows to all developers inviting them to use the technology in the operating system to make their product better and to hook up with Windows. And the Plaintiffs allege that Microsoft should have disclosed other APIs [and] that they were undocumented. And the evidence at this trial will be that there are good business reasons not to document all APIs."

Microsoft Lawyer: "DefineHandleTable. This is an API that Microsoft created that would allow a user to go beyond what was then the 640K memory limit...Excel, Microsoft's product, was using the DefineHandleTable API. Other companies wanted it. Lotus wanted it so that they could use it for their own 1-2-3 spreadsheet. And, of course, it's the same story. Microsoft did not give it away for nothing to Lotus. Microsoft owned that property. And then there was the CPT hook...It basically allows one application to manipulate keyboard or mouse activity in another application. Again, this was created, invented by Microsoft and used by Microsoft in its application such as Word. The Plaintiffs say in 1988 Microsoft should have made this publicly available, given it away for nothing by documenting an API so that WordPerfect could compete better against Microsoft Word in that market. Well, Coke didn't give away its formula to RC Cola, some smaller competitor."

[ Reply to This | # ]

Where's the negligence?
Authored by: Anonymous on Friday, February 09 2007 @ 11:32 AM EST
Bill Gates (and other MSC executives) have told us there was no undocumented
API. Before making such a public statement, they ought to have checked. The
process of checking is very simple: you ask all MSC developers and techies with
customer contact: have you ever used, or told any outsider about, MSC APIs that
are not published?

In my opinion, (IANAL) it might be negligent to fail to ask this question
internally. Since we have evidence (see above) that the answer was YES!, it gets
really interesting.

Did MSC's leaders know perfectly well that they were making misstatements? Or
did they believe what they were saying because they did not know what their own
people were developing?
- toby robison, the precision blogger
http:\precision-blogging.blogspot.com

[ Reply to This | # ]

Wasn't it past mantra of Bill Gates
Authored by: Anonymous on Friday, February 09 2007 @ 11:50 AM EST
Something that was most important to Microsoft was the API's. I tried searching
for it, but I remember an article about him talking about that's what was going
to be MS's immediate success was to have good API's. This predated, I think,
the mantra about needing developers as being most important to MS's immediate
success.

Does anyone else remember this or do I need to breath more?

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: fredex on Friday, February 09 2007 @ 12:10 PM EST
Now THAT's an expert report! Harken back to the "expert report" SCO
filed, the one from Mark Rochkind, which was quite "squishy"... this
one is firm and quite detailed. Quite a difference!

[ Reply to This | # ]

Note to SCO...
Authored by: Anonymous on Friday, February 09 2007 @ 02:12 PM EST
This is what they mean be file and line number.

[ Reply to This | # ]

Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft
Authored by: Anonymous on Friday, February 09 2007 @ 02:53 PM EST
I work for a company that develops programs that only work on Microsoft Windows.
We also use Linux for a server with some internal apps because we did not want
to pay for another Windows Server licesne at the time. I have wanted to point
out a few things that seem to be missed by the anti-Microsoft crowd.

First about 25 years ago a PC was several thousand dollars and it came with DOS.
About 20 years ago I started looking into what was needed to start computer
programming company. I looked at O/S2, Unix, and Dos. At that time Unix was
very expensive and not really used by anyone on PC hardware. O/S2 is what I
really wanted to use but it was about $600 plus the needed compilers and other
components. Dos on the other had came on my PC/AT class machine, (>$3000)
for the hardware, and I could get the compilers and such a bit cheaper than for
O/S2. Also every PC at that time came with Dos so there was a ready market.
The reason Dos was on every machine at that time was not due to Microsoft it was
due to IBM. They standardized on Dos and so all PC machines came with Dos
because the manufacturers had to compete with IBM. Microsoft did not kill O/S2
IBM did by not pricing it reasonably until much later with OS/2 Warp. But by
then it was too late. I still have 2 copies of O/S2 2.0 in boxes with diskettes
because I could never get it to install on my computer. Even though it met the
minimum requirements. Dos/Windows installed with no problem. Unix was never
priced reasonably for the desktop.

As for applications I started with WordPerfect 4 for Dos. At the time it was
about $450. About the same for Lotus 1-2-3. So for word processing and
spreadsheets you had about $900. Microsoft came out with Office where it
combined both of those apps with some others and the entire package was about
$500 and they all worked together. On the other had WordPerfect 6 for Windows
had become a resource pig and 1-2-3 was still separate along with DBase. So no
one really had a complete solution that all worked together that could compete
with Office. That is why Office got the market. Not becuase it worked better
but becuase it cost about half of what the competetion did and it was designed
to work together.

As for Netscape vs. IE I can only tell you what some friends told me that were
avid Netscape users. Netscape Communicator 4 was awful. This dog of a product
was released about the time as IE 4. Until IE 4 Microsoft did not have close to
the market share that Netscape had. So why did IE take over? Simple Microsoft
created a good browser that was at the time competing against a poor product
release.

Yes Microsoft has done some things that are anti-competitive in getting it's O/S
on every system. But until Linux came along there was not really a solid
competitor. As for bundling I.E. and media player; back in the days of BBS's no
one complained that Microsoft Windows 3.x had a terminal program with it. There
was a lively market for terminal programs. It is only after Microsoft actually
put good programs in the O/S in order to give the customer a better value that
some companies complained. Since I.E. and media player are free parts of the
O/S how to Microsoft profit from their inclusion? The consumer does because
they don't have to buy RealPlayer or Netscape (used to cost money).

Prices mentioned are based upon my memory from that time so they may not be 100%
accurate.

You may now label me a troll and flame until your hearts are content.

[ Reply to This | # ]

Why Support A Person Who Stole From You ?
Authored by: Anonymous on Friday, February 09 2007 @ 04:55 PM EST
I have not read every comment in this post. However it would appear that people
are defending M$ and others pushing M$ evil in general stance. All good
technical points.

Maybe the real statement should be that in general other software companys have
developed software that in good faith to SUPPORT Windoz as the dominate OS. With
this support M$ has shown a complete lack of faithfulness.

Examples:- Sausage Dog was the first HTML GUI programme produced. Until M$ start
Front Page.
Netscape had the browser won until M$ gave IE away. M$ money now competes with
Quicken & MYOB plus others. M$ has CRM & EPR software. Office suit and
database software.
Now M$ makes keyboards and mice. In W95 they had taken (stole) doublespace
compression software code and made it their own. Now using dominance for Xbox,
phones and zune.

Do you see why these other companies are not happy. They have supported the
Windoz OS and that in return is paided with contempt.

That is why I use and support Linux or Apple or anything else other than M$ on a
moral stance. M$ is not faithful. Why would you support a person if they lied or
stole from you? You wouldn´t.

Maybe other software companies should start offering their software for sale on
Linux and Apple. And reduce support for M$.

In the basic terms this is a tribel war. It is not over land but over the
doallar.

[ Reply to This | # ]

    Andrew Schulman and undocumented Microsoft.
    Authored by: Jaywalk on Friday, February 09 2007 @ 11:05 PM EST
    I got a chuckle when I saw Schulman's name in here. I've been reading his stuff for decades. He made a name for himself providing documentation for all the stuff Microsoft doesn't document. For example:I started by reading Undocumented DOS when I wanted to write some TSRs back in the old days. Back then he repeated the Microsoft party line on the undocumented features; it was done because Microsoft couldn't guarantee that the feature would still be there in future versions and didn't want people relying on it. It seemed to me that he became increasingly skeptical about this argument as time went by. By the time he gets to Unauthorized Windows 95 he seemed openly doubtful about Microsoft's motives for keeping this information to themselves.

    I guess I'm not terribly surprised to find him on the opposite side of the court case from Microsoft.

    ---
    ===== Murphy's Law is recursive. =====

    [ Reply to This | # ]

    Undocumented APIs
    Authored by: Anonymous on Saturday, February 10 2007 @ 11:06 AM EST
    As much as I hate to do so, I have to defend Microsoft on this one.

    From a purely technical perspective, Undocumented (private) APIs are very common
    and often times necessary.

    I'm a developer that is working on a large ERP-ish system. We have several
    internal APIs that only my company knows about. We also expose public APIs.
    The internal APIs are normally faster.

    The reason they are faster, though, is because there is less validation and
    protection on them. That is also why they are internal only. Using the
    internal APIs without knowing the correct error trapping and validation routines
    that need to surround their use can cause instability.

    Public APIs on the other hand normally validate ALL input and are designed to be
    thread safe because you never know how someone will use them. This causes a
    drop in performance, but is necessary.

    I do believe that Microsoft does practice monopolistic policies, but I do not
    believe that private APIs are fair proof or examples of such policies. They are
    simply how required in software development where you allow others to hook into
    your code.

    Not a Microsoft Lover; just a developer,

    Jeremy

    [ Reply to This | # ]

    Case settled out of court
    Authored by: bb5ch39t on Wednesday, February 14 2007 @ 02:09 PM EST
    here

    [ Reply to This | # ]

    Documents re-hosted after settlement
    Authored by: Anonymous on Thursday, February 15 2007 @ 06:14 PM EST
    The plaintiff's web site (iowaconsumercase.org) is now password protected. I've started rehosting some of the files at:

    http://www.sonic.net/~und oc/comes_v_microsoft/

    And have linked to two of them (my supplemental export report and second deposition transcript) from my web site:

    http://www.undoc.com

    I'm hoping to post my earlier expert report, without which the supplemental report may not make much sense, along with documents that were already made public in the case.

    Andrew Schulman
    Software Litigation Consulting
    http://www.undoc.com

    [ Reply to This | # ]

    Comes v. Microsoft web site
    Authored by: Anonymous on Monday, February 19 2007 @ 09:52 PM EST
    As many of you have probably noticed the Comes vs Microsoft site is now
    pasworded. The lawyers informed me that the site is is password protected
    because the case is in trial phase. I informed however that the videos were
    going to be posted on Groklaw.

    I would assume that MS stipulated that the documents and videos were to be taken
    down and or sealed. I am wondering if the videos were used as a sharp to jab to
    get MS to settle.

    [ Reply to This | # ]

    Groklaw © Copyright 2003-2013 Pamela Jones.
    All trademarks and copyrights on this page are owned by their respective owners.
    Comments are owned by the individual posters.

    PJ's articles are licensed under a Creative Commons License. ( Details )