"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*.
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.
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!!!
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.)
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').
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.
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.
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
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?"