Slashdot Mirror


Developers As Pawns and One-Night Stands

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.

64 of 268 comments (clear)

  1. Developers, developers, developers by Oddscurity · · Score: 2, Funny

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

    --
    Indeed!
  2. Interesting stuff... by a_karbon_devel_005 · · Score: 4, Interesting

    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.

    1. Re:Interesting stuff... by ZivZoolander · · Score: 2, Informative

      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)

    2. Re:Interesting stuff... by a_karbon_devel_005 · · Score: 4, Interesting

      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.

  3. It's just the name of the game by MikeRT · · Score: 3, Interesting

    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.

    1. Re:It's just the name of the game by biz0r · · Score: 2, Insightful

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

      --
      /* sig */
    2. Re:It's just the name of the game by MaggieL · · Score: 3, Funny

      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.

      --
      -=Maggie Leber=-
    3. Re:It's just the name of the game by Anonymous Coward · · Score: 2, Informative
      "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.

  4. tagged as Duh! by jellomizer · · Score: 3, Informative

    Well I am shock and surprised . 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.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:tagged as Duh! by tfinniga · · Score: 4, Informative

      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.

      --
      Powered by Web3.5 RC 2
    2. Re:tagged as Duh! by jonwil · · Score: 2, 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 used by MS application products (I havent seen any use by microsoft products)

  5. Stupid-ass Question by Blakey+Rat · · Score: 3, Insightful

    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.)

    1. Re:Stupid-ass Question by sqlrob · · Score: 3, Informative

      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.

    2. Re:Stupid-ass Question by Anonymous Coward · · Score: 5, Informative

      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.

    3. Re:Stupid-ass Question by joshsnow · · 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 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.

    4. Re:Stupid-ass Question by CastrTroy · · Score: 3, Funny

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

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    5. Re:Stupid-ass Question by vdboor · · Score: 5, Informative

      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 (Google Cache). 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.
      --
      The best way to accelerate a windows server is by 9.81 m/s2 ;-)
  6. Re:Woo by jellomizer · · Score: 5, Interesting

    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.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  7. Re:What's The Big Deal by a_karbon_devel_005 · · Score: 4, Insightful

    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.

  8. Re:Woo by Anonymous Coward · · Score: 3, Insightful

    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.

  9. Undocumented APIs by Oddscurity · · Score: 4, Interesting

    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?

    --
    Indeed!
    1. Re:Undocumented APIs by Lord_Slepnir · · Score: 4, Interesting

      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.

    2. Re:Undocumented APIs by jonwil · · Score: 3, Informative

      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.

    3. Re:Undocumented APIs by Oddscurity · · Score: 5, Interesting
      Cue depends.exe to do just that, indeed. Some relatively well-known examples of using undocumented APIs are by Sysinternals, 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?
      --
      Indeed!
    4. Re:Undocumented APIs by oliverthered · · 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.

      --
      thank God the internet isn't a human right.
    5. Re:Undocumented APIs by cduffy · · Score: 2, 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.

    6. Re:Undocumented APIs by vertinox · · Score: 2, Insightful

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

      BSD?

      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
    7. Re:Undocumented APIs by dwheeler · · Score: 4, Insightful
      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.

      --
      - David A. Wheeler (see my Secure Programming HOWTO)
    8. Re:Undocumented APIs by richlv · · Score: 2, 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 developer, your driver would be in kernel, and it would be updated for most changes, at least so i've heard.

      as for what benefits not-fixed abi/api gives...
      i think http://lwn.net/Articles/159313/ has it quite well put (also see comments).

      rephrasing what i can remember now (that article probably contains even more) in regards to benefits - but i'll list benefits from a user viewpoint, not a kernel dev viewpoint, where benefits are quite obvious.

      - faster, a lot faster fixes than for closed-source drivers;
      - fixes at all. a lot of vendors just don't fix some problems;
      - no need to toss out hardware because vendor has decided to stop supporting it (which happens pretty fast in most cases);
      - faster driver availability for new kernel versions (no need to wait for nvidia, for example, to release new version);
      - availability of new functionality (like power management and probably a bunch of other things);
      - i suppose also changes that improve security, stability & performance are easier to make.
      - driver availability on other architectures (maybe less important for average user, but there were some problematic drivers on amd64 - and i suppose, having usb hw work on some more exotic hw would significantly ease the quest to build home complected low-heat and silent media computer, for example)
      - much better support (vendors tend to be less interested how their product works than most kernel driver devs) and bigger chances to diagnose the problem - solving problems with proprietary kernel modules is no fun...

      and a bigger flexibility and better maintainability of kernel drivers gives kernel developers more time to work on other issues, which in turn give users a lot of indirect benefits :)

      so, is your inconvenience (as a proprietary kernel module developer) less important than real kernel developers' and users' (read - _my_ ;) ) inconvenience ? sorry, but i think it is.
      proprietary hardware drivers are bad for users in longer term than "now", so if some aspect that is convenient for kernel developers also works as a motivator to get drivers in kernel - well, that is another one good thing.
      it's not like hw developers will run screaming in joy to write closed drivers if abi/api is made stable. those who are interested, write either closed or opensource drivers anyway, for others a decision like that is more political than technical (actually, providing one or two interested developers with reference hw and documentation would in most cases turn out much better drivers for much less money spent ;) )

      --
      Rich
    9. Re:Undocumented APIs by cortana · · Score: 2, 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 with OpenAFS is. Either it's GPL-compatible, in which case it can be included, or it's not, in which case it can rot.

    10. Re:Undocumented APIs by Rich0 · · Score: 2, 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 linux kernel was designed to intentionally make what you're doing difficult - mainly to encourage your boss to get sick and tired of spending so much time on code updates and donate the code back. Your boss obviously hasn't spent quite enough money yet, perhaps one day they will... :)

      If you want somebody who will let you have it your way, try buying an embedded OS, another unix, or maybe windows. But it won't be free-as-in-beer.

    11. Re:Undocumented APIs by MobyDisk · · Score: 2, Informative

      I've struggled to understand this issue ever since I first bought an ATI or nVidia card and said "ooh, I want to play games under Linux!" So I'm following this discussion, and I'm now trying to figure out what you would do in this situation. You work using a custom piece of hardware, and you need to write a custom driver to talk to it.

      Now you listed 2 possibilities so far:
      1) Submit the driver to the kernel maintainers
      2) Buy another OS

      1) I assume that the kernel maintainers won't accept maintenance work for this driver. It would be silly for them to volunteer to maintain everyone else's proprietary software. :-)
      2) Buying another OS. Is that really what you advocate? It kinda takes away Linux's reputation as a hobbyists tool if you are suggesting that people not use it if they need a custom driver.

      It seems like there is a 3rd solution that solves everyone's problems:
      3) Make a stable kernel API for drivers

      Kernel maintainers won't need to maintain drivers at all. Third parties can work with custom harware more easily. And commercial closed-source drivers will be easier to maintain. It seems to me this option benefits everyone - even people you hate. Is this an example of cutting off one's nose to spite their face? Don't do something that benefits me, because it might benefit my enemy?

    12. Re:Undocumented APIs by Rich0 · · Score: 2, Insightful
      1) I assume that the kernel maintainers won't accept maintenance work for this driver. It would be silly for them to volunteer to maintain everyone else's proprietary software. :-)


      But it wouldn't be proprietary if you gave it to them...

      2) Buying another OS. Is that really what you advocate? It kinda takes away Linux's reputation as a hobbyists tool if you are suggesting that people not use it if they need a custom driver.


      Well, there isn't much point if they're going to keep it to themselves. How many hobbyists need to hang onto the code, and wouldn't donate it back to the kernel team?

      And commercial closed-source drivers will be easier to maintain. It seems to me this option benefits everyone - even people you hate. Is this an example of cutting off one's nose to spite their face?


      But only the closed-source vendors would be able to maintain it. Suppose I have a TNT2 card - do you think that Nvidia is going to release a driver for it when linux 2.8 comes out?

      The idea is to get rid of the closed-source easy-out - which should result in more code being opened. Sure, some code just won't get used at all, but that puts vendors who refuse to open their code at a disadvantage, at least among linux users. And why should Nvidia profit by selling cards to linux users when they don't release their code? The drivers wouldn't work without the kernel, and the kernel was made GPL to force redistributers to release their sources. Now, the kernel won't go GPLv3 anytime soon, but other software will, and future GPL versions will only tighten some of the closed-source loopholes that currently exist.

      It has worked pretty well so far. And if somebody wants to make their own middle-layer they can, just don't expect the kernel team to help you out.
  10. Re: Removes it??? by rowama · · Score: 2, Insightful

    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.

  11. News flash - sky still blue! by withears · · Score: 2, Interesting

    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.

    1. Re:News flash - sky still blue! by AutopsyReport · · Score: 4, Informative

      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.

      --

      For he today that sheds his blood with me shall be my brother.

    2. Re:News flash - sky still blue! by OneSmartFellow · · Score: 2, Insightful

      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.

  12. Re:Woo by Blakey+Rat · · Score: 4, Interesting

    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.)

  13. And this is relivant because ______ by Lord_Slepnir · · Score: 4, Interesting
    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"?

  14. Re: Removes it??? by baadger · · Score: 5, Funny

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

  15. One-night stand? by AutopsyReport · · Score: 5, Funny

    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.

    --

    For he today that sheds his blood with me shall be my brother.

  16. Re:And I'll be throwing chairs by ettlz · · Score: 2, Funny

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

  17. Re:Woo by codepunk · · Score: 4, Informative

    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.

    --


    Got Code?
  18. Re:And this is relivant because Anti-competitive. by Vellmont · · Score: 4, Insightful

    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.

    --
    AccountKiller
  19. Re:Woo by CockMonster · · Score: 5, Informative

    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.

  20. Ironic MS Ad by mysqlrocks · · Score: 4, Funny

    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

  21. Re:Woo by rune420 · · Score: 2, Informative

    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.

  22. Re:Woo by clodney · · 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 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.

  23. Re:Woo by cnettel · · Score: 2, 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 "nice" alpha effects.

  24. Re:Woo by MobyDisk · · Score: 4, Insightful

    Looking at your resume, 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 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.

  25. "One night stand" metaphor is very apt by david.emery · · Score: 4, Funny

    Of course, the whole point of a one-night-stand is to get fucked.

            dave

  26. Re:Woo by plover · · Score: 4, Informative
    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).

    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 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.

    --
    John
  27. Re:Woo by Mad+Merlin · · Score: 4, Informative

    Even if an API is documented, MSDN is frequently wrong. Just try asking a Wine developer.

  28. Re:Lotus Notes DOA anyway by Mad+Merlin · · Score: 2, Informative

    Lotus 1-2-3 != Lotus Notes. Lotus 1-2-3 is a spreadsheet program, and was at one point the dominant spreadsheet program.

  29. Unbelieveable by t'mbert · · Score: 2, Insightful

    None of these API's just fell out of the sky and landed in Microsoft's lap; they were built tediously and at great expense. And let's not forget that these are not the types of functions that are really making Microsoft top dog. Microsoft is top dog due to social and business factors, not API's and technical ones.

    Funny that there are endless discussions about the poor technical quality of Microsoft's products, and at the same time rants that Microsoft is gaining an unfair advantage via technical means. Either the technology is good or it's not. If this case is valid, then we must also acknowledge that Microsoft's technology is king too.

  30. Re:Woo by codepunk · · Score: 2, 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 effort to preserve the applications barrier to entry (Findings, 84, 90, 91).

    The rest I am not going to bother addressing, go back to playing with your rental operating system.

    --


    Got Code?
  31. from ballmer.c by Jesus_666 · · Score: 2, 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 former or come up with another way to preserve indentation.)
    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  32. Re: Removes it??? by Jesus_666 · · Score: 2, 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...

    --
    USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  33. Office rolls its own UI, has done so for years by I'm+Don+Giovanni · · Score: 2, Interesting

    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 simply toolbars, which is why they can be moved, detached, docked to any border, etc; they are just like any other of Office's toolbars). At the time Office 97 was made, the neither the system nor MS devtools provided toolbars (of the kind that Office uses). It's called "programming"; if neither the system nor the dev tools provide the widgets that you want, you program the widgets on your own!! *gasp*

    The Office team did nothing that any other dev wouldn't be able to do.
    Are you really telling me that other devs are unable to roll their own UI unless the widgets are provided for them by the OS or the dev tools? Come on, now.

    --
    -- "I never gave these stories much credence." - HAL 9000
  34. VME-bus driver by Oddscurity · · Score: 2, Informative
    Just a thought... but if you were to write a VME bus driver and submit it for inclusion into the mainline kernel, wouldn't that solve your problem by virtue of being able to communicate with the stable API that driver exposes? That is if the VME bus is at all comparable to USB.

    Kroah on obscure drivers not being accepted:
    This just is not true at all. We have a whole sub-architecture that only has 2 users in the world out there. We have drivers that I know have only one user, as there was only one piece of hardware ever made for it. It just isn't true, we will take drivers for anything into our tree, as we really want it. We want more drivers, no matter how "obscure", because it allows us to see patterns in the code, and realize how we could do things better. If we see a few drivers doing the same thing, we usually take that common code and move it into a shared piece of code, making the individual drivers smaller, and usually fixing things up nicer.
    Possibly your situation is more of a legal problem than it is a technical one. If such a VME acquisition driver is technically feasible, as well as preferable to hacking against a moving target, that is.
    --
    Indeed!
  35. The actual recollections of someone that was there by Measure+Twice · · Score: 2, Informative

    I happen to have been working for Microsoft at the time of the release of windows 3.0. Lotus chose to develop a version of 1-2-3 for OS/2, but for the release of Windows 3.0, they only did Notes. Now Notes was a pretty cool product, but they chose to work on the OS/2 version of 123 instead of the Windows version. They may have been swayed by IBM, but the hallway talk was that Steve Ballmer would have done anything to do a windows version, despite the fact that Microsoft had a competing product. Around that time, someone published a book named 'Undocumented Windows Calls' or something like that. I was a tester for one of the windows applications, and we were given a new task at that time: Find and report as bugs any uses of undocumented API calls. That pass turned up only one or two in the our application's code, and the developer who'd put it in had to drop what he was doing and fix them immediately. The SDK writer's purpose of documenting some API calls and leaving others out was to create a way for new versions of the operating system to be backward compatible without being forced to support the entire api exactly. (I know this, because the author of the SDK explained it to me) Those policies may have changed, but the marketing sea-change between 123 and Excel really started with the release of windows 3. The version of Excel already on the shelves worked with the new OS, and the new OS gave it a platform to really shine from. The reason it worked with 3.0 was because they used the Documented API for win386 exclusively. It's the use of the undocumented API's that is the main source of the 'Blue screen of death' that has been attributed to Windows instability. Not all cases certainly, but the undocumented calls can change from release to release. It got so bad that with windows 98 they had to release 'compatibility mode' api's so that the illegal calls in old programs could be mapped to the new functionality... For the record, I left Microsoft in 2000, and have been less than impressed with the company since before that, but we used to do good work once upon a time...

  36. One night stand with Microsoft? by mmmmbeer · · Score: 2, Funny

    Sounds like a perfect way to get a virus.

  37. Re:Woo by Foolhardy · · Score: 2, 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 Win16 API. Excel 5.0 was released in 1993. Microsoft wasn't an OS monopoly in 1993. Your one example is 14 years old-- too old.
    You can see "documentation" for many of them on the Sysinternals site.
    For one thing, that site is from ntinternals.net by Tomasz Nowak, unrelated to Sysinternals by Mark Russinovich and Bryce Cogswell, which was recently bought by Microsoft.

    The functions on that site are indeed largely undocumented (many of the functions are officially documented as part of the DDK, but only for use in kernel mode). The functions are considered private to the OS. No one is accusing Office or other Microsoft non-OS products from using those functions. They are only used to implement the Win32 API and some system services. I, too wish that they would document those since they are considerably cleaner and more stable interfaces than the Win32 equivalents, but please don't confuse private parts of the OS with special functions for MS applications.
    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.
    It'd be very infeasible for them to remove any of those functions; they're used heavily inside the OS to get things done. Never has a working function in the native API been removed or seriously changed. It'd be like removing the mmap() syscall from the Linux kernel in response to the mmap() vuln they had a while ago.
  38. Re:Woo by ScrewMaster · · Score: 2, Informative

    UpdateLayeredWindow and TransparentBlit (and a ton of other very-well-documented graphics API calls) have been in there since Win2K, at least. I use them all the time to generate fades and other effects. It's not hard.

    But ... that's now. And I'm sure Microsoft still hides a lot of stuff.

    --
    The higher the technology, the sharper that two-edged sword.