×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Developers As Pawns and One-Night Stands

kdawson posted more than 7 years ago | from the Microsoft-sweet-talk dept.

Microsoft 268

jcatcw writes "At the Comes vs. Microsoft antitrust case, last Friday's testimony included evidence that James Plamondon, a Microsoft technical evangelist, in a 1996 speech referred to independent software developers as 'pawns' and compared wooing them to trying to win over a one-night stand. Last week's proceedings also included 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." The plaintiffs have created a site that includes transcripts of testimony presented in the case.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

268 comments

Woo (1, Funny)

somersault (912633) | more than 7 years ago | (#17521274)

Yay for Microsoft bashing.

The API thing is hilarious though, if it's true..

Re:Woo (5, Interesting)

jellomizer (103300) | more than 7 years ago | (#17521350)

I am guessing you havn't done much Microsoft Development. Did you ever wonder why MS Has features in their programs that you cannot program easily using Microsofts tools. When Office allows the fade in with graphics and colors menus in all their product while your API only allowed the text only popup Menus. MS Does do this. It is not about MS bashing it is about MS not giving us the tools to create modern applications.

Re:Woo (3, Insightful)

Anonymous Coward | more than 7 years ago | (#17521440)

What more tools than a programming language, and an API for basic operations, are really needed? Office looks the way it does, and has as many features as it does, because MS spends a significant amount of money developing it. Give any other software program the resources used to develop Office and I am sure that it would look 'modern' as well - no matter what API is used.

Re:Woo (5, Informative)

CockMonster (886033) | more than 7 years ago | (#17521800)

Rubbish, check out owner-drawn menus in the MSDN documentation. THere's nothing to prevent you from doing kind of thing yourself. I've done it.

Undocumented APIs (4, Interesting)

Oddscurity (1035974) | more than 7 years ago | (#17521456)

Ultimately this will/has hurt Windows, as those programs targetting the undocumented APIs -where some MS apps get their features from- will require that hidden API to remain relatively static. And when problems are found in this undocumented API, either you leave the problem in place and work around it (and thereby leave the existing software using it potentially vulnerable), or you have to push an update for all those programs.

Maybe this is part of the reason why Linux's kernel has no fixed ABI?

Re:Undocumented APIs (4, Interesting)

Lord_Slepnir (585350) | more than 7 years ago | (#17521630)

yeah, and as a kernel developer, I get sick of having to re-write parts of my modules every 2-3 maintainence releases (For example, how the way to do parameters was changed). And don't get me started on EXPORT_SYMBOL_GPL (Bite me, Stallman). Maybe a stable (and available to us that don't work in GPL hippie-ville) API is needed, at least within the same minor release. I'm fine with having to change thing when I upgrade from 2.4.28 to 2.6.6, but not from 2.6.8 to 2.6.10.

Re:Undocumented APIs (1)

oliverthered (187439) | more than 7 years ago | (#17521700)

The reason the linux kernel has no fixed ABI is because having a fixed ABIT would make it easy for people to develop closed source drivers.

Re:Undocumented APIs (0)

Anonymous Coward | more than 7 years ago | (#17522034)

So basically you're claiming they waste time fiddling with the ABI *just* to make life hard for those who want to write closed source drivers? ... What's that funny smell? Isn't it FUD?

Re:Undocumented APIs (3, Informative)

jonwil (467024) | more than 7 years ago | (#17521846)

Actually, most of the nice microsoft stuff (such as e.g. the look and feel in Visual Studio 2005 or in office 2007) is done as seperate code in special dlls (mso.dll in the case of various version of microsoft office for example).

The way to be sure would be to take every executable file (.exe, .dll etc) included with a given visual studio version, look at the dlls it loads and functions it imports and identify if it imports a funtion from an os dll that isnt documented anywhere on MSDN.

Re:Undocumented APIs (5, Interesting)

Oddscurity (1035974) | more than 7 years ago | (#17522200)

Cue depends.exe [dependencywalker.com] to do just that, indeed. Some relatively well-known examples of using undocumented APIs are by Sysinternals [sysinternals.com], who were recently acquired by Microsoft:
Fundelete accomplishes this through the use of an undocumented API, ObOpenObjectByPointer
...
The final step Fundelete performs is to convert the binary representation of the SID into a textual representation. Another undocumented API, RtlConvertSidToUnicodeString, performs this.
...
Tokenmon relies on several undocumented SRM functions to obtain a logon ID from a thread's primary and impersonation tokens, and GetSecurityUserInfo, an undocumented function exported by the KSecDD (Kernel Security-support driver) that retrieves a logon session user's name, domain name, and logon server given a logon ID. Another interesting implementation detail is that several of the native API functions that Tokenmon hooks are not exported by ntoskrnl.exe for use by drivers. Thus, the Tokenmon GUI must reach into NTDLL.DLL, extract their system call numbers, and pass them to the driver.

This courtesy of the people who unearthed the Sony Rootkit, which goes to show it takes someone with knowledge of deeply intertwingled cruft to find it?

But more importantly: if ISVs behave in this way with limited knowledge of undocumented functions, how do you think Microsoft uses them?

Re:Woo (4, Interesting)

Blakey Rat (99501) | more than 7 years ago | (#17521496)

That's a dumb question. Office menus look the way they do because they're written from scratch to look that way. Hundreds of applications for every OS ever made do this, that doesn't mean that there's some huge conspiracy, just that the Office team spent more time getting their menus right than you did and enough time to QA is so that people like you would be tricked into thinking it's some hidden part of the OS. How paranoid are you? Programming menus isn't some "magic operation" that can only be performed by the OS, any decent programmer can make their own pull-down menu implementation. I'm sure Photoshop and other applications of Office's size do the same.

Now asking *why* Office does this, that might be a valid question. But implying that it's some kind of conspiracy is stupid.

Hell, Apple used to provide basically a plug-in architecture for drawing menus, windows and buttons since they knew overriding the default appearance and behavior would be popular. It was a code resource in Mac OS Classic and if you had one in there, Mac OS would automatically load your code whenever it needed to handle a click on menus. (Obviously a bad idea from a security standpoint... it was disabled long ago.)

Re:Woo (4, Informative)

codepunk (167897) | more than 7 years ago | (#17521670)

It is not really a conspiracy but a well known fact that they do not publish large portions of
their api's. This fact has been brought up in court numerous times. Just recently they tried to hold
back the security api until it became public they where doing so. If it was just a conspiracy they would not be having to produce a actual published api for the EU.

When you develop software for windows you are coding on a platform owned by your direct competitor. The fact that they hold back stuff for internal use should really be no surprise.

Re:Woo (0, Flamebait)

timmarhy (659436) | more than 7 years ago | (#17521712)

except when you are a monopoly, you don't get to play by the same rules as other people in return for being totally dominate in your industry and charging what ever you like.

Re:Woo (3, Informative)

clodney (778910) | more than 7 years ago | (#17522000)

Citations please?

I've never seen confirmation that MS apps make any significant use of non-documented OS APIs. The Office group writes much of their own code to be sure, but most of the big players do that.

It is easy enough to use a dependency checker and find all the symbols that a program imports from a DLL. If you cross reference the imports with the documentation in MSDN, it is easy to spot something that is not documented. Given all the axes to grind out there, I can't believe someone hasn't done this already, and I dont recall reading about all the incriminating evidence that was found.

A more plausible claim, and one much harder to prove or disprove, is that the Office team has access to Windows source code, so that rather than creating something from scratch they can just grab a copy of the menuing code and create their own version.

Re:Woo (1)

drsmithy (35869) | more than 7 years ago | (#17522190)

It is not really a conspiracy but a well known fact that they do not publish large portions of their api's.

You are wrong.

This fact has been brought up in court numerous times.

Cite some examples.

Just recently they tried to hold back the security api until it became public they where doing so.

This is not correct.

If it was just a conspiracy they would not be having to produce a actual published api for the EU.

The EU has asked for documentation of protocols, not APIs.

Re:Woo (1)

somersault (912633) | more than 7 years ago | (#17521504)

No I've never developed a GUI with a Microsoft product. Okay, I was forced to use Visual Basic at one point in Uni, and I've written DLLs for Counter-Strike and LabVIEW in Visual C++, but they didn't have GUI components.. but anyway, your point is maybe that the Microsoft Office developers went around the Windows API to create more fancy menus? I don't even notice if an application has funny fade in menus, I switch off all that crap as soon as I can in the interests of getting to what I want *quickly*..

Re:Woo (2, Informative)

cnettel (836611) | more than 7 years ago | (#17522036)

And that's exactly how you will notice that they do it their own way, you can turn off animations in Windows, Office will still do it. Office 97 would always "roll" down menus, even when used on Windows 2000, where the default setting was "fade-in" with "nice" alpha effects.

Re:Woo (2, Informative)

rune420 (1037380) | more than 7 years ago | (#17521882)

I don't know about the fading, but it's relatively simple to use a bitmap as a menu item using the Windows API. It's covered by Petzold in the Programming Windows book.

Re:Woo (0)

Anonymous Coward | more than 7 years ago | (#17522216)

> ...MS Has features in their programs that you cannot program ... MS not giving us the
> tools to create modern applications.

Which is the very reason that Microsoft should have been broken up. When they won't even eat their own food, they should be slapped down hard for it.

ARTICLE MIRROR (1, Informative)

Anonymous Coward | more than 7 years ago | (#17521698)

Iowa antitrust case: Microsoft exec called software developers 'pawns'
Eric Lai

January 08, 2007 (Computerworld) A Microsoft Corp. technical evangelist referred to independent software developers writing for Windows and the company's other software platforms as "pawns" and compared wooing them to convincing someone to have a one-night stand, according to testimony presented Friday against Microsoft in an ongoing antitrust case in Iowa.

"If you've ever tried to play chess with only the pieces in the back row, you've experienced losing, OK, because you've got to have those pawns," James Plamondon said in a Jan. 16, 1996, speech to members of Microsoft's developer relations group. His comments were part of a transcript presented as evidence in the Comes vs. Microsoft Inc. class-action lawsuit in Iowa.

"They're essential," he said about software developer pawns, according to a transcript of his remarks. "So you can't win without them, and you have to take good care of them. You can't let them feel like they're pawns in the struggle."

In the speech, entitled "Power evangelism and relationship evangelism," Plamondon continued: "I mean, all through this presentation previously, I talked about how you're using the pawns and you're going to screw them if they don't do what you want, and dah-dah-dah. You can't let them feel like that. If they feel like that, you've lost from the beginning.... So you can't let them feel like pawns, no matter how much they really are."

Plamondon a technical evangelist for eight years at Microsoft, did not return an e-mailed request for comment.

The excerpt was presented during testimony by Ronald Alepin, an expert for the plaintiffs in the lawsuit, who allege that Microsoft charged higher prices to Iowa consumers as a result of illegal monopolistic behavior. The suit seeks $330 million in damages.

In other comments about developers, Plamondon equated working with them to taking someone out on a first date. "It's like you're going out with a girl; forgive me, it goes the other way also. You're going out with a girl, what you really want to do is have a deep, close and intimate relationship, at least for one night. And, you know, you just can't let her feel like that, because if you do, it ain't going to happen, right. So you have to talk long term and white picket fence and all these other wonderful things, or else you're never going to get what you're really looking for."

The plaintiffs have created a Web site [iowaconsumercase.com] that includes transcripts of testimony presented in the case.

Other evidence presented last week included an internal Microsoft memo from Oct. 18, 1991, entitled "Excel brainstorm group." Brad Silverberg, then-head of Windows development, wrote "I'd be glad to help tilt Lotus into the death spiral. I could do it Friday afternoon, but not Saturday. I could do it pretty much any time the following week."

Lotus Development Corp.'s 1-2-3 was the dominant spreadsheet program on Microsoft's DOS operating system in the 1980s, but it lost ground to Excel on the Windows operating system.

Alepin, a former chief technology officer at Fujitsu Software Corp. and currently a San Francisco-based adviser for high-tech law firm, Morrison Foerster LLP, testified that 1-2-3's eventual demise was caused in part by Microsoft encouraging Lotus' programmers to use Windows application programming interfaces (API). Microsoft Excel's own developers had already decided those same APIs "were not worthwhile using because they were complicated," he said. "They used large amounts of memory. They were slower than other ways of doing it."

Alternative APIs, Alepin testified, "were not provided to Lotus and to other companies like Samna [maker of Ami, a GUI-based word processor later bought by Lotus, that was released a year before Word for Windows 1.0]."

The Comes vs. Microsoft trial, which began in early December, is expected to last up to six months. It, along with a lawsuit filed in Mississippi, is among the last remaining antitrust suits filed by states against Microsoft in the late 1990s.

The trial, set in Des Moines, has already seen its share of explosive evidence. In a 2004 e-mail to Microsoft CEO Steve Ballmer and Chairman Bill Gates, then-Windows development chief, James Allchin wrote that Microsoft had "lost sight" of customers' needs and that he would buy a Mac if he wasn't working for Microsoft.

Allchin, who retired at the end of 2006 with the launch of Windows Vista, later said that he was "ranting" and being "purposefully dramatic" in his e-mail in order to make a point.

Alepin, who has previously testified against Microsoft in the European Union's antitrust case against the company, is expected to continue testifying this week.

Developers, developers, developers (2, Funny)

Oddscurity (1035974) | more than 7 years ago | (#17521288)

Witness for yourself the l33t powers of Microsoft's wooing [youtube.com]. Not exactly worrying, is it?

Youtube link (0, Funny)

Anonymous Coward | more than 7 years ago | (#17521662)

But I'm in Brazil, you insensitive clod!

And I'll be throwing chairs (1, Funny)

ettlz (639203) | more than 7 years ago | (#17521302)

in paroxysms of passion. "One-night stands! One-night stands! One-night stands! One-night stands!"

Re:And I'll be throwing chairs (0)

Anonymous Coward | more than 7 years ago | (#17521546)

What's a "one-night stand"? Is that when you stay up all night playing Doom?

Re:And I'll be throwing chairs (2, Funny)

ettlz (639203) | more than 7 years ago | (#17521660)

You either (a) are being disingenuous; (b) are well self-controlled; or (c) frequent this place enough to have a username by now.

Re:And I'll be throwing chairs (0)

Anonymous Coward | more than 7 years ago | (#17521726)

Well Ron @ Novell should be well over his one night stand with Steve by now.

Interesting stuff... (4, Interesting)

a_karbon_devel_005 (733886) | more than 7 years ago | (#17521304)

The agreement even states that Apple will encourage its employees to use Microsoft Internet Explorer for Macintosh for all Apple-sponsored events and will not promote another browser to its employees. I had no idea Apple had agreements like this.

Re:Interesting stuff... (2, Informative)

ZivZoolander (964472) | more than 7 years ago | (#17521520)

I dont know if you remember, but at one point microsoft owned a substantial share of apples stock, there are a lot of left over agremments from that time. Apple has since able to buy back the stock. Even though there is a big seperation between the users of the two platforms, you will not evade the fact that apples board of directors will allways play to microsofts needs for two big reasons. first, If apple should fall on hard times agian, they now the only place they can go for help. second, they are symbiotic companies, they need each other for survival. (though i think microsoft forgets this and treats apple like its bitch(which will be its achilles heel)

Re:Interesting stuff... (4, Interesting)

a_karbon_devel_005 (733886) | more than 7 years ago | (#17521560)

Actually, according to the transcript, the reason for the agreement to promote IE was not "symbiotic" or even stock-driven. Microsoft basically threatened to stop making Office for Mac unless Mac agreed to promote IE over Netscape.

Re:Interesting stuff... (1)

drsmithy (35869) | more than 7 years ago | (#17522110)

I dont know if you remember, but at one point microsoft owned a substantial share of apples stock [...]

No, they didn't.

It's just the name of the game (3, Interesting)

MikeRT (947531) | more than 7 years ago | (#17521310)

Were Java developers any better off until the recent open sourcing of Java? Not really. Neither were most independent developers. When you do that work, you are tying part of your future to another company's good will. That's all there is to it.

Re:It's just the name of the game (2, Insightful)

biz0r (656300) | more than 7 years ago | (#17521390)

Correct and thats one of the big reasons OSS is so appealing and works well...it removes that 'tie in'.

Re: Removes it??? (2, Insightful)

rowama (907743) | more than 7 years ago | (#17521468)

OSS doesn't remove tie-in, it adds more. Rather than being tied to a single company, OSS may be tied to more than one company and/or a large population of independent developers. So OSS removes the single point dependency.

Re: Removes it??? (5, Funny)

baadger (764884) | more than 7 years ago | (#17521538)

So if working with Microsoft is a one night stand, isn't doing Open Source like doing 500 guy gangbang?

Re: Removes it??? (0)

Anonymous Coward | more than 7 years ago | (#17521870)

/me Struggles to block out mental image

I think it'd be better for everyone if you keep your homo-erotic fantasies to yourself from now on, okay?

Re:It's just the name of the game (3, Funny)

MaggieL (10193) | more than 7 years ago | (#17521400)

Were Java developers any better off until the recent open sourcing of Java? Not really. Neither were most independent developers. When you do that work, you are tying part of your future to another company's good will....

Some companies' good will was somewhat more credible than a "one-night stand" even before Java was open-sourced.

Re:It's just the name of the game (1)

Alex P Keaton in da (882660) | more than 7 years ago | (#17521418)

With all the legal issues involved with hiring and firing employees, I think we will see employment contracts move closer to sports contracts (for more senior level employees) and you will see year or two or five contracts for employees that other companies can buy out if they want to....

Re:It's just the name of the game (2, Informative)

Anonymous Coward | more than 7 years ago | (#17521498)

"Were Java developers any better off until the recent open sourcing of
    Java?"

Well yes, in a Word. For one thing Java has never really been controlled by a single vendor and the JCP, for all its faults, has worked pretty well for around 10 years now.For another the source for much of Java has always been visible and available and clearly specified. And finally whilst Microsoft deliberately keeps parts of the Windows API hidden from developers to give it an edge, the same has never been true of Java.

tagged as Duh! (3, Informative)

jellomizer (103300) | more than 7 years ago | (#17521314)

<sacarasm>Well I am shock and surprised . </sacarasm> Have you noticed that Microsoft products tend to have features that you can't easily program yourself. Say back in the late 1990s where Office had icons next to the menu options and Microsofts Own development tools didn't allow you to do so. Or crappy grid controls or page controls (in which Microsoft FoxPro had much superior ones that didn't appear until .net) MS Developers tools force use to stay 10 years behind the times.

Re:tagged as Duh! (4, Informative)

tfinniga (555989) | more than 7 years ago | (#17521392)

While some of your complaints are valid, like there not being easy-to-find hooks in the UI that are used by Microsoft products, others are specious. Specifically, complaining about the grid controls in MFC not being as good as the ones in, say, FoxPro.

FoxPro was initially developed in a cross-platform manner, by a different company. Also, the team inside Microsoft that eventually took it over was separate from the MFC team. There's really no reason why you should expect that all of their custom controls should be made available as part of a library. It's not like they wrote to some hidden high-quality grid control in the MFC that wasn't exposed to non-Microsoft developers - they just built a better grid control using the same interface that was exposed to everyone, the same way you'd have to if you wanted the same functionality. I've seen some code for the grid control of another MS product, and it is pretty much straight to Win32 drawing calls, event handling, etc. It looked like it was very painful to get right.

Of course, I'm personally of the opinion that MFC is total crap, but then again I've been spoiled by well-designed libraries like Qt.

Re:tagged as Duh! (0)

Anonymous Coward | more than 7 years ago | (#17521394)

icons next to menus? they were not operating system menus, they are a custom implementation. Grid controls in foxpro etc were custom implementation for the particular product and probably not easily reusable.

its probably only when other projects in the organisation start saying "hey thats cool, can we use that" that everything starts to get made more generic and eventually gets released to the public.

Re:tagged as Duh! (0)

Anonymous Coward | more than 7 years ago | (#17521600)

Office had icons in its menus? What kind of example is that? It's as if you're trying to plant stupid arguments in otherwise valid commentary thread and that way make the whole thread seem ridiculous. That was now second "office had icons in menus" argument I see here.

Re:tagged as Duh! (2, Informative)

jonwil (467024) | more than 7 years ago | (#17522118)

Can anyone show any proof that microsoft applications are using API calls inside core windows DLLs that microsoft hasnt documented?
There ARE APIs in the core windows DLLs that are undocumented. But those are for use by other parts of windows and are not used by MS application products (I havent seen any use by microsoft products)

Re:tagged as Duh! (0)

Anonymous Coward | more than 7 years ago | (#17521628)

Dear tool, if you don't like Microsoft development tools then migrate to another tool-chain!

What's The Big Deal (0)

Anonymous Coward | more than 7 years ago | (#17521318)

I don't see those remarks as being any worse than what RMS or anybody on slashdot says about Microsoft.

It's funny to see how much whining you people do when you get dissed. Talk about thin skinned.

Re:What's The Big Deal (4, Insightful)

a_karbon_devel_005 (733886) | more than 7 years ago | (#17521356)

ISV's are, in essence, Microsoft's customers. RMS is not a customer of Microsoft. That's the difference, really.

This is Microsoft employees saying their customers, the ones they're supposed to be developing good API's and such for, are pawns and they should never be catered to.

Re:What's The Big Deal (1)

Aim Here (765712) | more than 7 years ago | (#17521396)

Erm, the point isn't that he heaped abuse on independent developers. The point is that it helps to show the mindset of Microsoft when it was alleged to have actively attacked and drove said developers out of business, which is the unlawful activity Microsoft is accused of, in an actual court case.

Similarly, if someone's accused of a racist attack, then the prosecution can bring a character witness to show that he made a number of racist statements.

It's a different situation with someone verbally attacking Microsoft. We're not in the dock for committing crimes against Microsoft.

See?

Stupid-ass Question (3, Insightful)

Blakey Rat (99501) | more than 7 years ago | (#17521336)

If you're writing an app for Windows, what is the alternative to using the Windows API? How could Microsoft develop Windows applications without using the Windows API? Was Lotus seriously considering developing Lotus 1-2-3 in Java? (Although that might explain the trainwreck called Lotus Notes.)

Re:Stupid-ass Question (1)

Eivind (15695) | more than 7 years ago | (#17521362)

I dunno. But one alternative is to use the API of some toolkit, and let the toolkit deal with the specifics of any one platform.

For example, you could program your app using the API provided by QT, and have QT deal with the rest. This would give you the added benefit that your application would work cross-platform.

Re:Stupid-ass Question (3, Informative)

sqlrob (173498) | more than 7 years ago | (#17521378)

There the Windows API that's published, and then functions that no one other than Microsoft (and reverse engineers) know about. That's what they're talking about.

The original example from Win 3.1 that's always talked about is a certain timer function. The function that would provide timers to programmers could fail with insufficient resources, and you had to code around that. MS had an API, not in the documentation, used in Office, that would return a timer no matter what. They never had to code the error condition, where everyone else did.

Re:Stupid-ass Question (1)

Blakey Rat (99501) | more than 7 years ago | (#17521450)

Uh, ok. That doesn't sound like that much of a burden on developers, if that's the most important undocumented function in the Windows API. Really, the most amazing part is that Microsoft in the late 80s/early 90s could code a function *guaranteed* to return a timer no matter what else was happening in the computer... what did it do when there was no memory? Just randomly remove another program from RAM?

Re:Stupid-ass Question (5, Informative)

Anonymous Coward | more than 7 years ago | (#17521526)

You missed his point, and got caught by the simple, common example.

Microsoft actually had two layers of API. There was an internal API used by other Microsoft employees, and the public API advertised and documented for other devleopers to use.

There were several articles in Dr. Dobb's Journal detailing diferences between the APIs, written by people who were trying to tear under the hood in ways Microsoft STILL describes as criminal.

Some of the public API structures did nothing but rearrange the arguments, call a delay timer, and then call the internal API. Seriously.

The material described in these articles was part of the first big push about Microsoft abusing it's monopoly position. After all, people were builidng proof that Micorsoft was specifically making it impossible for anyone to write applications that could finction as cleanly, quickly, smoothly as Microsoft's own, or that could even be as small as Microsoft's own. They used the natural OS monopoly to make it impossible to compete fairly in the application market for that OS.

I wonder why Microsoft calls the efforts to uncover the API differences criminal?

And for those who want to call this blatant Microsoft bashing, go check Dr. Dobb's Journals from the early Windows 3.1 era for yourself. I don't have to make this up. The facts do more bashing than anything I could make up.

Re:Stupid-ass Question (0, Troll)

Blakey Rat (99501) | more than 7 years ago | (#17521574)

I really don't see how it even matters. It's Microsoft's OS, they can do what they want with it. It's not like there's some kind of ANSI standard for Windows applications that they were violating or anything. Even more so since they weren't a monopoly at the time... it's not Microsoft's fault that Apple, GeOS, and Amiga all failed to catch on.

Hell, considering the stance of other computers makers at the time, you should feel lucky Microsoft let you write applications at all. A lot of them either didn't allow third party developers at all, or charged outrageous fees if you even wanted to start making a program for their system.

Re:Stupid-ass Question (1, Insightful)

Anonymous Coward | more than 7 years ago | (#17521782)

I really don't see how it even matters. It's Microsoft's OS, they can do what they want with it.

No, they can't - not while they are monopolists. That's they way the anti trust laws work.

Re:Stupid-ass Question (0)

Anonymous Coward | more than 7 years ago | (#17522002)

I really don't see how it even matters. It's Microsoft's OS, they can do what they want with it.
Since they control 95%+ of the desktop market, it does matter. All APIs and should be completely open. All document formats should be completely open. And royalty free.

IMHO, it should be a law to require specs to be open for any app/os/format that has more than 33% of a market.

Re:Stupid-ass Question (1)

sqlrob (173498) | more than 7 years ago | (#17521570)

That's far from the most important. There's undocumented IPC that's faster than others, functions for getting system information and more. There's several books on this, this [amazon.com] is the gold standard for one set of the APIs. Note that this book *alone* covers several hundred calls, and it's not complete.

And Office (as of at least 2003, don't know about 2007) uses undocumented functions. Compare the import tables of the executable and DLLs to the libraries provided with the SDK and the export tables of the system DLLs. I don't know what these functions do, but they're linked in.

Re:Stupid-ass Question (1)

coredog64 (1001648) | more than 7 years ago | (#17521792)

Uh, that book documents NT kernal internals. It's not public and it's not guaranteed to be the same from release to release.
Any function call that starts with a 'Zw' is "don't fucking touch it unless you really know what you're doing."

Re:Stupid-ass Question (1)

cnettel (836611) | more than 7 years ago | (#17522086)

And up until Office dropped Win9x support, it's quite obvious that they didn't rely too much on the internal NT API...

Re:Stupid-ass Question (3, Funny)

CastrTroy (595695) | more than 7 years ago | (#17521544)

Reverse engineers? Are those like the reverse vampires who only go out in the day?

Re:Stupid-ass Question (1)

tfbastard (782237) | more than 7 years ago | (#17521424)

I found that wording a bit strange too. I'm not sure about the timeline, but MFC was released/unleashed in '92.

Re:Stupid-ass Question (3, Informative)

joshsnow (551754) | more than 7 years ago | (#17521532)

How could Microsoft develop Windows applications without using the Windows API?

Well, AFAIK, Microsofts own apps do use the windows API, but the published Windows API (available and recommended for use by third party devs) is only a subset of all that's available.

People are crying foul because some of the hidden stuff is quicker/easier to use/more reliable than the published stuff thereby giving MS an advantage when developing its own apps over a 3rd party doing the same (1-2-3 vs Excel for instance) AND making it much more difficult to produce an API call conversion layer (like WINE) on a non-windows platform which will acurately and completely run MS windows apps.

The only reason I can think of as to why they wouldn't publish the full API is that the hidden parts are unstable and subject to frequent change - which can't be true when they're using those hidden features in major business applications.

(Although that might explain the trainwreck called Lotus Notes.)
No it wouldn't.

Re:Stupid-ass Question (1)

Constantine XVI (880691) | more than 7 years ago | (#17521588)

Qt, Gtk+, Swing, Tk, wxWidgets, VCL, etc.

Re:Stupid-ass Question (1)

Blakey Rat (99501) | more than 7 years ago | (#17521684)

Add to the end of my question ... at the time Lotus 1-2-3 was still relevant. We're looking at maybe 1995 at the latest. How many of those toolkits existed then?

And of course, all of those *do* use the Windows API anyway, so it still doesn't really answer my question. The only way I know of to code a Windows app without using the Windows API is using Java.

Re:Stupid-ass Question (1)

coredog64 (1001648) | more than 7 years ago | (#17521830)

The only way I know of to code a Windows app without using the Windows API is using Java. You may not be using the Windows API directly, but it's not like Sun could do everything they do without it.

Re:Stupid-ass Question (1)

shadowmas (697397) | more than 7 years ago | (#17522046)

java uses windows api's as well it has to since that is the only way to interact with the I/O devices.

Re:Stupid-ass Question (1)

SAN1701 (537455) | more than 7 years ago | (#17521720)

By that time there was already Delphi [codegear.com], which wraps most Windows API in a beautiful, well organized OO library called the VCL, and generates single-file executables (no DLL Hell) with C-like speed.

I use Delphi since then, already did dozens of small and medium apps with it, and, altough sometimes necessary, it's pretty rare to use direct Windows API calls. AFAIK, one of today's most famous application made with Delphi is the Win32 client for Skype, but many shareware and corporate apps uses it too.

Re:Stupid-ass Question (0)

Anonymous Coward | more than 7 years ago | (#17521788)

Children, Lotus 1-2-3 pre-dates Java considerably. Heh, I guess a lot of you neophytes don't even know what Lotus 1-2-3 actually is and Java is the oldest programming language you know of. Somebody need a stupid-ass diaper change?

Re:Stupid-ass Question (5, Informative)

vdboor (827057) | more than 7 years ago | (#17521904)

If you're writing an app for Windows, what is the alternative to using the Windows API? How could Microsoft develop Windows applications without using the Windows API?
Well consider reading about Windows NT, Secret APIs and the Consequences [inlumineconsulting.com] (Google Cache [209.85.135.104]). There is a private hidden API under the Win32 API calls. For example, NtCreateProcess is the internal function used by the CreateProcess function. The Win32 API only exposes a small subset of the available API functions in Windows. From the article:

(..) when Microsoft released Internet Information Server (IIS), it significantly outperformed Netscape Server on the NT Platform. Microsoft insisted that its developers had not had any additional acceess to information than had Netscape developers. Yet after careful review, Netscape developers were able to utilize previously undisclosed information about NT in their own products. Future releases of Netscape Server were competitive with IIS in subsequent testing.
If you write programs using a documented API, the programs run slower. The second quote illustrates that Microsoft uses the hidden APIs to make their applications the best in any particular market:

Microsoft can write application code that can run optimally on an operating system, has advance knowledge about future releases, knows which programming method to choose over another, and can tweak the OS code prior to final relase to advantage3 its own applications.
If you perform the costly task of reverse-engineering the hidden APIs in order to compete with Microsoft, they change those hidden APIs to favor their products.

If the product becomes popular or makes money, Microsoft can make a faster competing product using the real system calls, or they can change the real NT system calls out from under your product at the next release of NT. In either case, Microsoft can cause their competing product to inherit your market.

Re:Stupid-ass Question (1)

darkmeridian (119044) | more than 7 years ago | (#17522080)

The Microsoft software team probably used internal hooks or direct calls to memory that other programmers did not know about. I think he means other teams were encouraged to use documented Windows APIs instead of software hacks. There was a good reason Microsoft should have been broken up into an application and an OS group.

Re:Stupid-ass Question (1)

wrook (134116) | more than 7 years ago | (#17522104)

Even if you don't have another API to use, you always have the option of rolling your own. Even now Windows developers have to make these choices. Do we stick with the unbelievably stupid grid controls and look like a "Windows App", or do we make our own? The problem with making your own is that Microsoft keeps threatening to change the look and feel of everything meaning that you either play catch up with them, or use their API. Personally, I'd rather play catchup. But edicts tend to be handed down from management telling you that you *must* use the Windows API (because they've been scared by Microsoft). .Net is a huge improvement in the situation. But you've got to wonder... Office is Microsoft's flagship product and I *still* have to jump through hoops to make my app look and work like that. I think this is a challenge that Mac programmers, for instance, don't have to deal with as much.

I can see the t-shirts now (-1, Flamebait)

Anonymous Coward | more than 7 years ago | (#17521352)

"I independently developed software for Microsoft and all I got was herpes"

IE in transcript (1)

walshy007 (906710) | more than 7 years ago | (#17521460)

am I the only one who finds an almost phoenix wright :ace attorney like humour in the IE discussion transcript with all of the "OBJECTION!"'s that occurred.

qoute

MR. HOLLEY: Your Honor, I move to

                      13 strike that answer as violating prior orders of

                      14 this Court.

                      15 THE COURT: Sustained. Stricken.

                      16 Jury will disregard.

                      17 Q. Mr. Alepin, from a less variety point

                      18 of view, and I'm just talking about

                      19 technological, how has there been less variety?

response then...

                25 MR. HOLLEY: Your Honor, same motion

                                                                                                                        7016

                        1 to strike the testimony for the same reason.

                        2 THE COURT: Overruled. I'll allow it

                        3 as answered. It's different.

  Q. In relation solely to the

                        5 technological effect, sir, how has there been

                        6 less innovation?

                        7 MR. HOLLEY: Objection, Your Honor.

                        8 THE COURT: Overruled.

                        9 You may answer.

and so on...

wow (1)

jrwr00 (1035020) | more than 7 years ago | (#17521470)

It's Microsoft, Anything to win there way into the market is what they are going to do... Done Deal

News flash - sky still blue! (3, Interesting)

withears (881576) | more than 7 years ago | (#17521488)

Is it really news that contractors are considered nothing more than replaceable parts? Whenever we've staffed programs with contractors, it's always been understood (by my company and the contractors) that they are essentially mercenaries and not really part of our company and culture. (If they WANTED to be part of our (or any) company and culture, they wouldn't be contractors, right?) When things (i.e., money) get tight, who's the first to go? The contractors, of course. No surprises to anyone. We're not going to lay off our valuable employees. This seems like a ridiculous article/lawsuit.

Re:News flash - sky still blue! (4, Informative)

AutopsyReport (856852) | more than 7 years ago | (#17521736)

I would disagree. Contractors can play a very distinct role: to fill a void (in skills) at a company. If this isn't the case, then they are contracted to fill a void in manpower. Most of the time, however, a contractor is brought on board to lend their expertise to a project.

Many organizations work with contractors because it's easier to hire and release a contractor than it is to hire and release a full-time employee with positional power. With contracting, there's typically a trial period during which the organization has made no guarantee of your employment with them. So the contractor benefits from higher wages, and the organization benefits from one less salary commitment.

Sidebar on contractors (1)

davecb (6526) | more than 7 years ago | (#17521772)

In many large companies, even well-managed ones, the demands of the stock analysts force the companies to lay off employees, while retaining contractors.

And yes, this is a terrible idea, but itis involuntary (;-))

Been there, done that, as employee, contractor and employee-became-contractor-three-days-later

--dave

Re:News flash - sky still blue! (2, Insightful)

OneSmartFellow (716217) | more than 7 years ago | (#17521876)

You are simply deluding yourself, to your employers delight, that you as a permanent employee, have any more job security, or value to the company, than a contract programmer.

I have survived several RIFs in some large banks as a contractor, while FTEs I sat and worked with were let go.

Contracting is a much more honest relationship between employer and employee. I don't work, they don't pay. They don't owe me anything, I don't expect anything from them. I don't put up with the corporate bullshit, they don't expect me to. When I work overtime, I get paid. I don't 'request' time off, I inform that I won't be in. I don't have to fit in to any corporate team bonding excercise, although on the occasions I do attend, which usually involve lots of beer, I am heartily welcome.

And I take home about 50% more than similarly employed FTEs in the workforce.

Re:News flash - sky still blue! (1)

ulmanms (106454) | more than 7 years ago | (#17521924)

Independent developers != contractors. Contractors get paid by you, while the folks that MSFT's talking about are just writing software for windows, like Lotus.

And this is relivant because ______ (4, Interesting)

Lord_Slepnir (585350) | more than 7 years ago | (#17521514)

Alright, I'm not a lawyer. I don't even play one on slashdot. But can someone please tell me how one Microsoft rep referring to developers as a cheap date is in any way shape or form relevant in an anti-trust case.

Also, does anyone else get an image of the robot preacher from Futurerama when they hear the words "Tech Evangelist"?

Re:And this is relivant because Anti-competitive. (4, Insightful)

Vellmont (569020) | more than 7 years ago | (#17521786)

Probbably because tricking developers into using the Windows API, (which Microsoft knew to be problematic) is a part of Microsoft's anti-competitive behaviour. Anti-competitive behaviour isn't illegal unless you're a monopoly like Microsoft is. The article references Microsoft encouraging Lotus to use the Windows API, and claims that contributed to the decline of Lotus 1-2-3.

Re:And this is relivant because ______ (1)

geekoid (135745) | more than 7 years ago | (#17522204)

I's a sensational quote pulled for media. That reference alone means nothing. It needs to be taken into context wtha larger and mure complex case.

I am begining to think that slashdot is trolled with the most stupid quotes in order to gain support for the other side of cases.

pssssst...'Futurama'.

Never give a sucker an even break (1)

Colin Smith (2679) | more than 7 years ago | (#17521548)

"You can't cheat an honest man; never give a sucker an even break, or smarten up a chump." - W.C. Fields.

Really, there's a remarkable number of sheeple out there.

 

ok... (1)

jimstapleton (999106) | more than 7 years ago | (#17521584)


[...] James Plamondon, a Microsoft technical evangelist, in a 1996 speech referred to independent software developers as 'pawns' [...]


There's nothing wrong with this statement:

1) More than one chess match has been won with proper use of pawns. More than one independant dev has made a product really work.
2) Short of the one you start with, the only way to get the most powerful piece on the board is... A PAWN. Some of the best developers come from the independant pool...
3) And yes, a lot of independant devs are nothing to write home about... Like many team devs.

Re:ok... (1, Interesting)

geekoid (135745) | more than 7 years ago | (#17522144)

Except the term 'Pawns' Refers to somethingnyou use and through away. Calling someone a pawn is considered derogatory.

1) Chess matches are often won by sacrificing pawns. I, for one, have no desired to be sacrificed for someone elses aggenda.

2) do you relizes that what you are saying boils down to "WHen a pawn does occasionally succeed, it is sacrificed as a matter of course for somoen of a high 'class'?" Having been on a team that created a piece of software that saved a financial institution 100 Million a year, and then watched VPs who weren't even on the project for 90% of it get 7 figure bonuses, while the team got a football* I have had enough of being a pawn.

* The theme was Baseball.

3) like so many upper managements. WHat's your point? You seem to be saying that if someone is not the top codong guru they deserve to be thrown away. Guess what? Even the people who aren't the top star have a place in development. Show me a top star coder who likes to do maintenance, QA and write dcumentation, and I'll show you someone you just made up.

One-night stand? (5, Funny)

AutopsyReport (856852) | more than 7 years ago | (#17521636)

I have high standards, you insensitive clod!

You must be a daemon in the sack.
You must be agile.
No time for debugging your problems.
I will not use a trojan horse.
Time slicing with others is not okay.
Don't ever call my thing a widget.

The memories ... (0)

Anonymous Coward | more than 7 years ago | (#17521646)

"DOS ain't done 'til Lotus won't run". =)

Non-news. Just another MS bashfest (-1)

Anonymous Coward | more than 7 years ago | (#17521718)

Yeah, "independent devs" (ie; contractors) are never considered part of an established team by anyone in their right mind. Not to say you can't find a good one from time to time but if you have any serious interest in these devs you offer them a positions so they're not lost in the next gust of wind.

Is this news to anyone or have I just gotten to the club during amateur hour?

Oh, that's right, this is /.

If this was a large Linux developer like Red Hat with the same testimony against them it would only make sense. And it's just fantastic how the most sensationalist paragraph is the blurb.

CmdrTaco, aren't you appalled that a once decent tech news site has turned to yellow journalism just waiting for the next victim to bash? If you ever lose your place here I'm sure the National Enquirer has a position for you.

Re:Non-news. Just another MS bashfest (1)

Chicken04GTO (957041) | more than 7 years ago | (#17521762)

he only cares about revenue, since the beginning slashdot has sucked, and he hasn't cared. Jon Katz anyone?

YUO FAIL It!? (-1, Offtopic)

Anonymous Coward | more than 7 years ago | (#17521744)

of OpenBSD. How move any equipm3nt Are having trouble up my toys. I'm (7000+1400+700)*4 accounts for less Dying. Everyone problem; a few Become like they

Lotus Notes DOA anyway (1, Troll)

HW_Hack (1031622) | more than 7 years ago | (#17522084)

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." I recall Lotus Notes ........ and let me say that the only thing that killed Lotus Notes was Lotus Notes itself. I believe I've found one thing that you can't blame Microsoft for .......
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...