Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

Developers As Pawns and One-Night Stands

Posted by kdawson on Tue Jan 09, 2007 08:04 AM
from the Microsoft-sweet-talk dept.
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.

Related Stories

[+] Slashback: Net Neutrality, Bugged Coins, and Pawns 102 comments
Slashback tonight brings some clarifications and updates to previous Slashdot stories, including: anti-Net-neutrality article modified; no bugged Canadian coins; a tech program for women in Silicon Valley; Pirate Bay and Sealand; and Microsoft evangelist apologizes for "pawns" comment. Read on for details.
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.

Developers As Pawns and One-Night Stands 50 Comments More | Login /

 Full
 Abbreviated
 Hidden
More | Login
Keybindings Beta
Q W E
A S D
Loading ... Please wait.
  • Interesting stuff... (Score:5, Interesting)

    by a_karbon_devel_005 (733886) on Tuesday January 09 2007, @08:11AM (#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... (Score:5, Interesting)

        by a_karbon_devel_005 (733886) on Tuesday January 09 2007, @08:46AM (#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.
        [ Parent ]
  • It's just the name of the game (Score:4, Interesting)

    by MikeRT (947531) on Tuesday January 09 2007, @08:12AM (#17521310) Homepage
    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.
    • by MaggieL (10193) on Tuesday January 09 2007, @08:26AM (#17521400) Homepage
      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.
      [ Parent ]
        • Re: Removes it??? (Score:5, Funny)

          by baadger (764884) on Tuesday January 09 2007, @08:44AM (#17521538)
          So if working with Microsoft is a one night stand, isn't doing Open Source like doing 500 guy gangbang?
          [ Parent ]
            • Re: (Score:3, Funny)

              Somehow I think "It's the gay bukkake of software engineering!" is not a slogan that will win over many folks for Open Source development...
  • tagged as Duh! (Score:4, Informative)

    by jellomizer (103300) * on Tuesday January 09 2007, @08:12AM (#17521314) Homepage
    <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! (Score:5, Informative)

      by tfinniga (555989) on Tuesday January 09 2007, @08:25AM (#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.
      [ Parent ]
    • The Office team rolls its own UI widgets, and have done so for years. You refer to Office having icons next to the menu options; well the Office team did that on its own. They haven't used the OS-provided menus since at least Office 97 (their menus are s
      • Re: (Score:3, Informative)

        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 us
  • Stupid-ass Question (Score:4, Insightful)

    by Blakey Rat (99501) on Tuesday January 09 2007, @08:15AM (#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 (Score:4, Informative)

      by sqlrob (173498) on Tuesday January 09 2007, @08:23AM (#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.

      [ Parent ]
      • Re:Stupid-ass Question (Score:4, Funny)

        by CastrTroy (595695) on Tuesday January 09 2007, @08:45AM (#17521544) Homepage
        Reverse engineers? Are those like the reverse vampires who only go out in the day?
        [ Parent ]
        • Re:Stupid-ass Question (Score:5, Informative)

          by Anonymous Coward on Tuesday January 09 2007, @08:43AM (#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.
          [ Parent ]
    • Re: (Score:3, Informative)

      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
    • Re:Stupid-ass Question (Score:5, Informative)

      by vdboor (827057) on Tuesday January 09 2007, @09:26AM (#17521904) Homepage

      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.
      [ Parent ]
  • And this is relivant because ______ (Score:5, Interesting)

    by Lord_Slepnir (585350) on Tuesday January 09 2007, @08:41AM (#17521514) Journal
    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"?

    • by Vellmont (569020) on Tuesday January 09 2007, @09:16AM (#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.
      [ Parent ]
  • One-night stand? (Score:5, Funny)

    by AutopsyReport (856852) on Tuesday January 09 2007, @08:58AM (#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.
  • Ironic MS Ad (Score:5, Funny)

    by mysqlrocks (783488) on Tuesday January 09 2007, @09:18AM (#17521802) Homepage Journal
    Anybody else get the Microsoft Visual Studio 2005 ad on this Slashdot article (screen shot below)?

    http://i64.photobucket.com/albums/h165/bradley1976 /slashdot_ms.jpg [photobucket.com]
  • by david.emery (127135) on Tuesday January 09 2007, @10:00AM (#17522344)
    Of course, the whole point of a one-night-stand is to get fucked.

            dave
  • by mmmmbeer (107215) on Tuesday January 09 2007, @02:34PM (#17526560)
    Sounds like a perfect way to get a virus.
    • Re:Woo (Score:5, Interesting)

      by jellomizer (103300) * on Tuesday January 09 2007, @08:18AM (#17521350) Homepage
      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.
      [ Parent ]
      • Re: (Score:3, Insightful)

        by Anonymous Coward
        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 progr
        • Re:Woo (Score:5, Informative)

          by CockMonster (886033) on Tuesday January 09 2007, @09:18AM (#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.
          [ Parent ]
      • Undocumented APIs (Score:4, Interesting)

        by Oddscurity (1035974) * on Tuesday January 09 2007, @08:32AM (#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?
        [ Parent ]
        • Re:Undocumented APIs (Score:5, Interesting)

          by Lord_Slepnir (585350) on Tuesday January 09 2007, @08:57AM (#17521630) Journal
          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.
          [ Parent ]
          • Re: (Score:3, Insightful)

            Maybe a stable (and available to us that don't work in GPL hippie-ville) API is needed

            BSD?
          • Re:Undocumented APIs (Score:5, Insightful)

            by dwheeler (321049) on Tuesday January 09 2007, @10:33AM (#17522794) Homepage Journal
            There's a standard way to eliminate the rewrite: get the module into the kernel, where others will help maintain it. The kernel _HAS_ a stable API - it's the interface to userland. The kernel also has a standard way for drivers to interface with other drivers - it's submitting source code. In other words, there _IS_ a standard internal API for kernel modules; it's called "C".

            Clearly, you want to have a proprietary driver. Thus, you want to do something that the developers have ACTIVELY and CLEARLY stated that they are working against, and give no quarter for. You obviously don't like that, and that's your right. But you didn't write their code, nor pay for it, so they are not responsible for your desires... and that is their right.

            This is very different from the Windows situation. Microsoft has kept some APIs quiet, and even the very existance of some APIs. In contrast, this Linux kernel policy has been clear for over a decade. You may not like it, but you have no right to complain; this policy was certainly there before you decided to write a line of code. As long as an organization makes clear what the rules are, then you try to work against them at your peril.

            Yes, a stable internal API of the kernel would be a possibility. Windows, for example, has one. But most Windows crashes are from BAD DRIVERS; the drivers cannot be fixed, and the Windows interface can't be fixed either. That's not good evidence that this would be a GOOD thing for users. The reliability of Linux is actually pretty good evidence that their process actually works better for end-users.

            [ Parent ]
              • Re: (Score:3, Interesting)

                Well, you get what you pay for. The linux devs didn't charge you a cent for your OS, and haven't designed it to support your intended use. You aren't contributing anything back to the community, so the community doesn't really owe you anything. The linu
          • Re: (Score:3, Informative)

            then you are not a kernel developer, are you ? if you were one, you probably would be glad that there is no fixed abi/api.
            this would be similar like calling every application developer that runs on windows a "windows developer".
            if you were a kernel develop
            • Re: (Score:3, Insightful)

              someone would still have to write parts of the modules every time the ABI. That's not one of the benifits of having the modules included in the Linux kernel.
            • Re: (Score:3, Insightful)

              Remember, he's not in "GPL hippie-land" -- so inclusion upstream isn't an option.

              That said, I think the whole GPL-only symbols thing is stupid, myself -- it means that Free-but-non-GPL projects like OpenAFS get hamstrung.
              • Re: (Score:3, Informative)

                Well, the kernel hackers' position is quite clear on such matters. If the code is not compatible with the license of the kernel (and hence suitable for inclusion in the kernel itself) then it can rot, they don't care about it.

                I don't see what the problem w
        • Re:Undocumented APIs (Score:4, Informative)

          by jonwil (467024) on Tuesday January 09 2007, @09:21AM (#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.

          [ Parent ]
          • Re:Undocumented APIs (Score:5, Interesting)

            by Oddscurity (1035974) * on Tuesday January 09 2007, @09:50AM (#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?
            [ Parent ]
      • Re:Woo (Score:5, Interesting)

        by Blakey Rat (99501) on Tuesday January 09 2007, @08:38AM (#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.)
        [ Parent ]
        • Re:Woo (Score:5, Informative)

          by codepunk (167897) on Tuesday January 09 2007, @09:02AM (#17521670) Homepage
          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.
          [ Parent ]
          • Re: (Score:3, Informative)

            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
            • Re:Woo (Score:5, Informative)

              by plover (150551) * on Tuesday January 09 2007, @10:03AM (#17522386) Homepage Journal
              Even Microsoft documented at least one! Here's a comment in the Win2K source code that got leaked onto the net a few years ago:
              private\mvdm\wow32\wcntl32.c: // These undocumented messages are used by Excel 5.0
              (I found that on kuro5hin [kuro5hin.org]).

              While I agree with you that the current Office developers are simply good and talented coders and aren't simply leeching off of some undocumented API for their spiffy graphics, it's long been alleged that Microsoft has used undocumented APIs for Office. While I can't find the cite, I believe this was a key part of the anti-trust lawsuit.

              You can see "documentation" for many of them on the Sysinternals [ntinternals.net] site. One thing I'd warn against is actually using these calls in production code. Undocumented means unsupported -- MS could decide tomorrow to yank these in their next XP hotfix, and your code would be left hanging high'n'dry. Not that they're likely to do it, but what if one of these had a worm come along exploiting it? The quick and obvious fix would be to simply remove it.

              [ Parent ]
              • Re: (Score:3, Insightful)

                Even Microsoft documented at least one! Here's a comment in the Win2K source code that got leaked onto the net a few years ago:

                private\mvdm\wow32\wcntl32.c: // These undocumented messages are used by Excel 5.0
                Wow32 is Windows on Win32, i.e. the Win
            • Re:Woo (Score:5, Informative)

              by Mad Merlin (837387) on Tuesday January 09 2007, @10:12AM (#17522504) Homepage
              Even if an API is documented, MSDN is frequently wrong. Just [winehq.org] try [winehq.org] asking [winehq.org] a [winehq.org] Wine [winehq.org] developer [winehq.org].
              [ Parent ]
            • Re: (Score:3, Informative)

              No, you are wrong

              Ok Windows fan boy, chew on this a little bit..

              In its Findings of Fact, the District Court found that Microsoft had repeatedly withheld such information from ISVs, or used its disclosure as an incentive for 'friendlier' behavior, in an eff
      • Re:Woo (Score:5, Insightful)

        by MobyDisk (75490) on Tuesday January 09 2007, @09:53AM (#17522238) Homepage
        Looking at your resume [googlepages.com], you haven't done much Windows API work, and in 1996 you hadn't done any. So let me correct a common misconception about Windows API programming:

        There is no reason that someone else could not make controls that fade in with graphics and color menus. No secret Windows APIs are or were required to do this, even at that time. Windows has always allowed applications to draw whatever they want in their windows, and that includes transparency and fading. The win32s extensions [wikipedia.org] for Windows 3.11 even offered support for non-rectangular windows. Even easier, Microsoft licensed their Office controls to applications developers who wanted to do it. There are no special undocumented API calls required to do this stuff.
        [ Parent ]
        • Re: (Score:3, Informative)

          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 "n
    • Re:What's The Big Deal (Score:5, Insightful)

      by a_karbon_devel_005 (733886) on Tuesday January 09 2007, @08:19AM (#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.
      [ Parent ]
      • Re: (Score:3, Funny)

        You either (a) are being disingenuous; (b) are well self-controlled; or (c) frequent this place enough to have a username by now.
    • Re:News flash - sky still blue! (Score:5, Informative)

      by AutopsyReport (856852) on Tuesday January 09 2007, @09:10AM (#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.
      [ Parent ]
    • from ballmer.c (Score:3, Funny)

      [...]
      try {
      while (true) {
      audience << "Developers! ";
      }
      }
      catch (...) {
      throw (new Chair());
      }
      [...]




      By the way, /. really needs <pre> support in user comments. <ecode> just doesn't cut it. (Alternatively, make the latter use the form