|
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)
|
|
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
|
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 | # ]
|
|
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 | # ]
|
- Linspire and Ubuntu - Authored by: KJ on Thursday, February 08 2007 @ 11:58 PM EST
- Apple Sabotage ad - Authored by: Anonymous on Friday, February 09 2007 @ 06:53 AM EST
- "Microsoft Executive Admits Involvement in Russian School Principal’s Piracy Case" - Authored by: Brian S. on Friday, February 09 2007 @ 08:45 AM EST
- Injustice in Germany - Authored by: Anonymous on Friday, February 09 2007 @ 10:05 AM EST
- Ecma's OOXML specifications updated during "approval" process? - Authored by: Anonymous on Friday, February 09 2007 @ 10:37 AM EST
- Copiepresse link - Authored by: DebianUser on Friday, February 09 2007 @ 11:48 AM EST
- Huckleberry MacBride - Authored by: jimbudler on Friday, February 09 2007 @ 12:16 PM EST
- "Report: EMI in talks with online retailers to possibly sell MP3s without copy protection" - Authored by: Brian S. on Friday, February 09 2007 @ 01:39 PM EST
- 20 is a nice round number - Authored by: Anonymous on Friday, February 09 2007 @ 01:51 PM EST
- Story with a picture of Vista's "Reduced Fucntionality". - Authored by: Brian S. on Friday, February 09 2007 @ 03:32 PM EST
- MS' Brad Smith: Novell deal a milestone - Authored by: lordshipmayhem on Friday, February 09 2007 @ 04:14 PM EST
- I can no longer access Hotmail from Firefox! - Authored by: Anonymous on Friday, February 09 2007 @ 06:10 PM EST
- Lawyers to be Jailed Over Fee Dispute - Authored by: SpaceLifeForm on Friday, February 09 2007 @ 06:40 PM EST
- HP has a new general counsel. - Authored by: Brian S. on Friday, February 09 2007 @ 07:20 PM EST
- Alert: New Filing In Novell Case! - Authored by: Anonymous on Friday, February 09 2007 @ 07:58 PM EST
- Military courts - Authored by: Arker on Friday, February 09 2007 @ 08:25 PM EST
- Tufty's Quest - Authored by: Tufty on Friday, February 09 2007 @ 08:44 PM EST
- "Show us your wow" on msn.com - Authored by: gumnos on Saturday, February 10 2007 @ 10:16 AM EST
- When a Windows shill site laughs at Microsofts latest pillering, er offering - Authored by: Anonymous on Saturday, February 10 2007 @ 11:28 AM EST
- Microsoft's Mistake - Authored by: archonix on Saturday, February 10 2007 @ 03:37 PM EST
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Thursday, February 08 2007 @ 10:20 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Thursday, February 08 2007 @ 10:29 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: talexb on Thursday, February 08 2007 @ 10:52 PM EST
- How can *facts* be anti-Microsoft? - Authored by: Anonymous on Thursday, February 08 2007 @ 11:01 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Thursday, February 08 2007 @ 11:25 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 03:25 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 07:15 AM EST
- After hubris - Authored by: Anonymous on Friday, February 09 2007 @ 08:52 AM EST
- After hubris - Authored by: Anonymous on Friday, February 09 2007 @ 12:02 PM EST
- they're not that dumb - Authored by: The Mad Hatter r on Friday, February 09 2007 @ 07:25 AM EST
- Troll - Authored by: Anonymous on Friday, February 09 2007 @ 01:55 PM EST
- Troll?? - Authored by: Anonymous on Friday, February 09 2007 @ 08:37 PM EST
|
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 | # ]
|
|
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 | # ]
|
- Actually I think it has - Authored by: Anonymous on Friday, February 09 2007 @ 05:36 AM EST
- if((martyrdom && (miracles == 1)) || (miracles >= 2)) - Authored by: Anonymous on Friday, February 09 2007 @ 07:31 AM EST
- Maybe not sainthood, but possibly a Nobel - Authored by: Anonymous on Friday, February 09 2007 @ 07:47 AM EST
- Stallman is already a saint - Authored by: Anonymous on Friday, February 09 2007 @ 10:11 AM EST
- Because the Pope can't beatify Lutherans? N/T - Authored by: NetArch on Friday, February 09 2007 @ 11:08 AM EST
- An old paradigm, not new - Authored by: Anonymous on Friday, February 09 2007 @ 01:08 PM EST
- * Channel Surfing * Man, I Hate Reruns - Authored by: Anonymous on Friday, February 09 2007 @ 02:54 PM EST
|
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 | # ]
|
|
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: Anonymous on Friday, February 09 2007 @ 01:14 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: PJ on Friday, February 09 2007 @ 01:28 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 01:33 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: W^L+ on Friday, February 09 2007 @ 01:44 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 02:00 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: grouch on Friday, February 09 2007 @ 04:14 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Alan(UK) on Friday, February 09 2007 @ 05:00 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: chriseyre2000 on Friday, February 09 2007 @ 05:03 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: wjaguar on Friday, February 09 2007 @ 05:14 AM EST
- Microsoft wants to be the quarterback and referee - Authored by: tz on Friday, February 09 2007 @ 05:26 AM EST
- Obscurity does not give security - Authored by: Anonymous on Friday, February 09 2007 @ 05:47 AM EST
- Cynic @ wikipedia - Authored by: Anonymous on Friday, February 09 2007 @ 06:12 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: gtall on Friday, February 09 2007 @ 06:20 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 08:09 AM EST
- Thank you for being sane, but you are not on point - Authored by: ile on Friday, February 09 2007 @ 08:36 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 09:25 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: snorpus on Friday, February 09 2007 @ 09:50 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 10:26 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 10:40 AM EST
- This argument is flawed because ... - Authored by: Anonymous on Friday, February 09 2007 @ 02:20 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 02:32 PM EST
- What don't you understand? - Authored by: bigbert on Friday, February 09 2007 @ 03:14 PM EST
- Free software "religion" - Authored by: Anonymous on Friday, February 09 2007 @ 04:05 PM EST
- Supplemental Memo in support of the Reply to Uphold the Request for Reconsideration of Groklaw - Authored by: Anonymous on Saturday, February 10 2007 @ 12:41 AM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: ikocher on Saturday, February 10 2007 @ 06:14 PM EST
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- So you agree that Microsoft is at fault. - Authored by: Anonymous on Friday, February 09 2007 @ 03:29 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 04:32 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: rcsteiner on Friday, February 09 2007 @ 05:10 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Anonymous on Friday, February 09 2007 @ 05:45 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: tknarr on Friday, February 09 2007 @ 06:05 PM EST
- still trying to rewrite history - Authored by: grouch on Friday, February 09 2007 @ 09:32 PM EST
- Invoice Total? - Authored by: Anonymous on Friday, February 09 2007 @ 09:34 PM EST
- You are a pawn - Authored by: Anonymous on Friday, February 09 2007 @ 10:12 PM EST
- to fill in a blank.. - Authored by: Anonymous on Friday, February 09 2007 @ 10:32 PM EST
- Microsoft and IBM - Authored by: Anonymous on Saturday, February 10 2007 @ 09:09 AM EST
- Corrections - Authored by: artp on Saturday, February 10 2007 @ 01:50 PM EST
- Competing Office suites. Facts the troll did not mention. - Authored by: Anonymous on Saturday, February 10 2007 @ 10:08 AM EST
- Terminal flaw - Authored by: Anonymous on Saturday, February 10 2007 @ 03:03 PM EST
- OS/2 - Authored by: globularity on Saturday, February 10 2007 @ 09:52 PM EST
- Microsoft's Allegedly Undocumented APIs - Comes v. Microsoft - Authored by: Wol on Monday, February 12 2007 @ 04:39 AM EST
|
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 | # ]
|
|
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 | # ]
|
|
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 | # ]
|
- This is correct, however... - Authored by: cricketjeff on Saturday, February 10 2007 @ 11:59 AM EST
- Undocumented APIs - Authored by: PJ on Saturday, February 10 2007 @ 01:38 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 02:10 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 08:27 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 08:57 PM EST
- Dave - Authored by: Anonymous on Sunday, February 11 2007 @ 06:11 AM EST
- Dave - Authored by: Anonymous on Sunday, February 11 2007 @ 02:40 PM EST
- Undocumented APIs - Authored by: Anonymous on Sunday, February 11 2007 @ 02:24 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 02:23 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 04:28 PM EST
- Undocumented APIs - Authored by: Anonymous on Sunday, February 11 2007 @ 02:34 PM EST
- Undocumented APIs - Authored by: Anonymous on Saturday, February 10 2007 @ 03:59 PM EST
- OK, you win. n/t - Authored by: qu1j0t3 on Sunday, February 11 2007 @ 10:13 AM EST
- Undocumented APIs - Authored by: Anonymous on Monday, February 12 2007 @ 10:04 AM EST
- Undocumented APIs - Authored by: Anonymous on Tuesday, February 13 2007 @ 01:10 PM EST
|
Authored by: bb5ch39t on Wednesday, February 14 2007 @ 02:09 PM EST |
here
[ Reply to This | # ]
|
|
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 | # ]
|
|
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 | # ]
|
|
|
|
|