Slashdot Mirror


"Missing Link" In Windows Emulation Unveiled?

ben_ writes "According to this article on inq7.net, a Philippines company called SpecOps has revealed their Project David, a middleware layer that solves the problem Wine has been working at for years and will "enable all major Microsoft Windows applications to run on the free and open source Linux OS". Further (and more sceptical) analysis at Linux Electrons." I'm with Linux Electrons on this; as nice as it sounds, the information about David comes via Press Release which as we all know are founts of dependability *cough*.

22 of 458 comments (clear)

  1. Wonder what MS will do to quash this? by Jaysyn · · Score: 2, Interesting

    I mean if this is for real, this is a big deal towards getting Joe User & Bob WindowsPowerUser onto Linux. I can't wait to see it in action.

    Jaysyn

    --
    There is a war going on for your mind.
    1. Re:Wonder what MS will do to quash this? by tsmithnj · · Score: 5, Interesting

      If Wine/David becomes so good that a windows program runs *as well* on Linux(under wine) as it does on windows, Linux may suffer the same fate as OS/2. Remember WIN/OS2? The development community saw this functionality as an excuse to write their apps. to windows (why worry about OS/2 when they have WIN/OS2?) Before you knew it, nobody was writing OS/2 apps..... and OS/2 cratered.

    2. Re:Wonder what MS will do to quash this? by Anonymous Coward · · Score: 1, Interesting

      Now the applications are getting there, so I do not see the point of such a project. It's just adding a layer of bugs.

      There are still some computer applications that are available for windows, but not for linux. Examples being:

      • dialers
      • tax software
      • forensic analysis
      • enterprise size accounting programs [ SQL Accounting barely works for a SOHO.]
      • business plan creators

      There are computer applications available for both windows, and linux, where the windows product is "better". Examples are:

      • Photoshop
      • e-sword
  2. the press release by croddy · · Score: 4, Interesting

    it reads kind of like spam, using a lot of strange buzzwords ("windows environment subsystem"??) and a bizarre, apocryphal account of linux and WINE.

    realistically, they'll probably just charge so much for it that it dilutes the linux TCO advantage.

  3. Define your own success by CodeMonkey4Hire · · Score: 4, Interesting

    will enable all major Microsoft Windows applications to run

    Yeah, but who decides what the major applications are?

    --

    Let's go Hurricanes!!! 2006 Stanley Cup Champions!!!
  4. has to be said by millahtime · · Score: 2, Interesting

    So now windows based programs can crash on *nix too. If you recreating the APIs so it can run then your recreating those same things that can cause it to crash. People need to be migrated to good progs running native in a good enviornment.

  5. sounds like vaporware by jonasmit · · Score: 2, Interesting

    I looked at their site some time ago and it is very unprofessional (no big deal) with sections that say such and such goes here like they aren't ready for real time. There was not even contact information. Also, they mention that all the coding is being done by some university. So it sounds like they have no employees, they can't even create a decent site but they have the holy grail. I am very suspicious...

  6. Re:Another Vaporware story? by mrjackson2000 · · Score: 2, Interesting

    HDTV TiVOs are being shipped as of a few days ago iirc

  7. Main Reason for Less BSODs (was Re:Not Legit) by Laebshade · · Score: 2, Interesting

    The main reason, besides less buggy drivers, is the fact that the company switched from having an OS (Win9x) that would let the applications and drivers have complete control when in use, to actually having the OS manage resources. Of course, it's not simple cut and paste dry like that, but you get the idea. Since running 2k/XP I have come across very very few BSODs, and most of them were the result of me overclocking my computer too much.

  8. Re:Stolen code base by Anonymous Coward · · Score: 2, Interesting

    But if they look at the code and engineer a new solution, then there is no copying going on.

    They may have used an illegal copy, but there is no stolen goods, just copyrighted code.

  9. Attempt at an answer by k98sven · · Score: 4, Interesting

    If the codebase was stolen in the US, looked at in the phillipines and a program written based on that looking, would the program be legal in the US or not?

    Well, for one, looking at a stolen codebase is not in itself illegal. Copying it is, so whoever gave them a copy has committed a crime. But that's beside the point.

    The question is: Is the program itself a derivative work?
    By looking at the codebase, it does make it more difficult to claim this, but it doesn't automatically make it a derivative work either. In the same way as reading a book and then writing your own on the same issue does not automatically make it plagiarized.

    Ok, so this issue notwithstanding, "legal in the US" is a strange term. Legal how?

    Redistribution?
    If it is an illegal derivative work, then they have no right to distribute it, and thus noone can have the right to redistribute it either. Redistribution is illegal.

    To own and use?
    Well, with the possible exception of breaking a Microsoft EULA (the enforcability of which is questionable), the mere possession of a plagiarized work is NOT illegal.
    (Although a cunning lawyer may argument that using it could be, since by running a program you are indeed copying it (to memory). But I doubt that'll fly in the real world.)

    As for the USA:s DMCA laws. This is clearly not a copyright-circumvention device. None of that applies here.

    IANALBITSCH
    (I am not a lawyer, but I've taken some courses, haha.)

  10. possibly crap, but might work... by Malor · · Score: 5, Interesting

    If I understand what I'm reading correctly, they're in essence taking advantage of how NT/XP is designed.

    As I have learned it, the NT Kernel is separate from the Win32 API. The Win32 system makes calls into the kernel to get system things done (like disk and screen I/O), but tracks all the Win32 stuff itself (like windows and message queues). Win32 is, in essence, just a 'personality' running on the NT core. Someone (Microsoft themselves, I think) is doing another personality module for the NT kernel that will let it run Unixy stuff too, at the same time as the Win32 stuff.

    What WINE is doing, which is incredibly difficult, is rewriting the entire Win32 API so that existing programs will run under Unix. This has taken them many, many years, and it's fairly good now, but it's far from a complete solution, largely because it's so difficult.

    It sounds like the David project will probably run the *existing* Win32 API (which is hard to replace), and write a new set of kernel routines to emulate the NT kernel. AFAIK, most of the work on NT is at the Win32 level, the kernel itself doesn't get that much work, because it's really solid and really stable. So they're not chasing a moving target in quite the same way.

    Presumably, the separation between the Win32 personality and the NT kernel is drawn clearly enough that they can replace the kernel without breaking things too badly. At least, that would appear to be how they're thinking about it.

    This would probably mean you'd need to install Windows under Linux, in order to get a proper Win32 personality. The net effect would be very much like the way that OS/2 used to run Windows 3.1. (remember 'a better Windows than Windows'? It was!)

    I believe this could work. It would not, however, remove the need to own a copy of Windows, so its use would be more for the pragmatists ('we want it to work') than the idealists ('we want it to be free').

  11. A Window-binary to Linux-binary Re-complier? by NZheretic · · Score: 5, Interesting
    I wonder if Specops' "David" is a recompiler?

    This would dissasemble the x86 windows binaries, rewriting any low level OS library and hardware access code, emitting Linux compatible executable binaries. This could be done both Ahead Of Time, before execution, and Just In Time, during execution. Caching the resulting rewrite on disk would speed up execution a lot.

    A neat trick if possible. However Soft Labs would have to reverse engineer a hell of a lot of Microsoft's OS to manage it.

  12. No one needs this solution by Progman3K · · Score: 4, Interesting

    Wine has been evolving steadily.
    The Wine developers have succeeded in modularizing just about every aspect of their Windows API to the point where a whole other operating system (ReactOS) can use it!
    Not to mention that there has also been some cross-pollination of Wine with Cygwin.

    THOSE are the solutions to bet on, and not simply because they're older and more established but because they are open-source and have been audited by thousands, with some of the best minds on the planet on top of it!

    How is ONE company going to match that without the same number of developers and expertise?

    I remain sceptical, but I do wish them luck.

    --
    I don't know the meaning of the word 'don't' - J
  13. Re:Read the OSNews article on david by shrubya · · Score: 2, Interesting
    they say they're at 0% of dev / engineering.

    Either that's a lie, or they lied at their demo:
    "But before I start, I should tell you that the David bridge software has been running the Microsoft Powerpoint presentation on this computer," said Chua pointing to the computer running on Red Hat Linux

    If they have a working demo, it should be testable. If they don't, they shouldn't send wild press releases.
  14. Innovate by poptones · · Score: 4, Interesting
    This is why Linux has to STOP CATCHING UP. I know there are many things in linux that aren't in windows, but there's little you can point to and say "this isn't in windows and see how great it is?" Users don't have a clue about security, security is not a feature. Windows users don't even know how to configure a fucking user account - and if they did then the problems with spyware blowing up desktops would be reduced, so linux would even lose that tiny edge.

    Linux really needs a killer usability app. Something like a personal google that would allow you to recollect ANY information you've ever viewed in your browser - complex search features that don't look complex. Instead of freaking out over google's 1GB email system, port that search functionality to the linux desktop and make it possible to do all the same stuff WITHOUT having to store your email on google's farm. Instead of trying to port games and catch up on drivers for fancy graphics cards, court a hardware maker and invest some GPL lovin' into a graphics engine. Or court IBM and get them to migrate even more of that functionality to the CPU cores - I'm sure Apple would love that too.

    There's so many ways linux is this close to outdistancing Windows, but none of them are complete enough to be of use to joe average. And if WINE/David/whatever would allow windows apps to be used on linux AND linux has capabilities that windows doesn't - and people can see and feel those differences themselves - then this is a good thing. So long as linux is playing catch-up, 'tho, this is nothing but one more tool for MS to point at and say "See? We set the standards! Why would you look anywhere else?"

    1. Re:Innovate by Anonymous Coward · · Score: 1, Interesting

      I know people who can't even use Word the right way. People who use spaces instead of aligning text, etc. And you want to add more "complexity"? No, that won't work for most users.

      But I say, why does any of this matter? Why should Linux be the OS that my grandma will use? Linux does a good job of being Linux, and Windows does a good job of being Windows.

  15. You're missing an important point, though by Ryvar · · Score: 2, Interesting

    When it came down to Windows or OS/2, OS/2 did not have the advantage of being free as in beer, which for all practical purposes Linux is.

    That alone will attract a LOT of people. Assuming Linux takes the high road on the topic of DRM, etc. - chances are good that it will definitely remain a competitive choice at the very least.

  16. Emulation would be a great Transmeta app by Animats · · Score: 2, Interesting
    If you really wanted to virtualize IA-32 properly, the right vehicle would be a Transmeta processor, because it's partially software-defined. With a few mods to the "code morphing" engine, the problems that keep kernel code from being cleanly emulated in user space could be fixed.

    VMware does this by painful means, scanning code, using memory protection to catch self-modifying code, and generally doing too much work. With proper CPU support, a virtual machine can work cleanly, as on IBM mainframes.

    Transmeta, or somebody who knows how to patch Transmeta's "code morphing" engine, could solve the problem properly.

    Of course, all you get from this is the ability to run entire operating systems in virtual machines. You still have to run Windows to run Windows apps in VM.

    Emulating the Windows platform for applications is a completely different problem. There's no fundamental technical obstacle; it's just a huge job and may run into intellectual property problems.

  17. College students have had source long before leak by AHumbleOpinion · · Score: 2, Interesting

    That leak of a fragment of source was insignificant from a technical perspective, it was merely a PR problem. College students have had complete access (legally) to the Windows NT line of source code for years. Universities were able to get source licenses for specific research projects. The terms were pretty fair, there was an NDA but students could work on the projects, publishing was not a problem, the license was portable if you (researcher leading the project) moved to a different University. At least that was my understanding of the deal in the late 90s.

  18. Re:Yeah, but... by Anonymous Coward · · Score: 2, Interesting

    > The operating system is software used to allow applications a standardized method for using system resources.

    Historically an 'Operating System' is a set of mechanisms that replace what a Computer Operator would previously have done.

    On very early machines when they were switched on the Operator would have to set the initial bootstrap code into the machine using switches and buttons (I used to do this in the 60s). Thus an automatic bootloader is part of an Operating System because it replaces an Operator action.

    When tapes were used the operator had to write a label that gave the date, program and data name to put on the tape. Later this Operator task was replaced being written automatically by the Operating System.

    Disks, too, had to have labels written for them. When files were created the Operator had to specify the allocation of space by track and sector, Operating System functions took over this Operator task.

    Initially Computers were just hardware, possibly with a small executive or supervisor program, and each program had to have all the necessary code to interface to this hardware and to do all the trivial tasks. Some programmers wrote common routines and then their programs could be much smaller and use a loadable library the operator would load the library (say from a paper tape reel) and then would load the program. When this became standardised enough the library was loaded by the Operating System, in some cases it was permanently loaded.

    Computers used to be scheduled by the Operators. They would choose the next job to be done and would arrange the data to be ready for the program. Operating System were developed to do this job instead of the Operator.

    Everything that is part of an Operating System was something that previously an Operator had to do.

    If it wasn't something originally done by an Operator then it isn't part of an Operating System, but is part of some other mechanism.

    Similarly a Programming System has functionality that previously had to be done by a Programmer (such as writing machine code).

  19. Re:Yeah, but... by Halfbaked+Plan · · Score: 2, Interesting

    When my father started programming on the IBM 650 in the late 1950's the task was:

    Put assembler/compiler card deck in reader.

    Machine loads assembler into memory.

    Run Assembler.

    Put source code card deck in machine.

    Assembler outputs object card deck.

    Load object card deck in reader.

    Machine loads and runs application program.

    This sequence was necessary because the machine had very limited storage. Every 'pass' of the assembler required punching a new deck of cards, because the primary output of the machine was a high speed card punch. So if you had a lot of debug cycles while programming, you chewed up a lot of cards generating object decks.

    Printouts were generated by printing one line per card, putting the card deck into a printer which transfered the lines from card deck to paper.

    This was an evolution of the IBM Data Processing technology, which consisted of punched cards that could be sorted and printed, and WERE sorted and printed with elaborate machines, for many decades before being used with computers.

    --
    resigned