"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's only symbolic.
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.
They do a very good job of debunking it. Its Crap. Don't believe evrything you read.
Well.. maybe. Or Maybe not. But Definitely not sort of.
Hopefully this isn't a result of the supposed 'leaked' code awhile back. If it was, and Microsoft finds out, it could set them back twice as far as they've come.
There is an interesting thread on wine-devel about this, basically we just don't know what its going on about:
4 /0578.html
http://www.winehq.com/hypermail/wine-devel/2004/0
stuff
or both?.
I can't navigate into any of these subsections: Project David Overview
David Technology
David Technology Validations
David Development Plan
from the overview page, however if one dives to the source and manually types the address for one of the later pages. the rest of the pages are full of nice stuff like 'WES', 'WACS' and shit like that.
oh and the product itself claims to be a perfect version of what wine tries to be(which can be installed by 'anyone' easily on a linux system, whatever they mean by that).
world was created 5 seconds before this post as it is.
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.
All jokes aside, BSODs are very very few and far between (certainly on the *nix scale) since 2k/XP was released. Before 2k/XP most people blammed microsoft when in reality it was buggy drivers. Now with the new driver model these instances of drivers crashing the kernel are rather rare. When a company claims to have found a "bug" which was a relativly well-known design decision they have lost most all credibility. This is either a pump-and-dump scheme, vaporware or an instance of code stealing.
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!!!
Comments on the article website seem to suggest that this *may* be a re-engineer of the Win32 api based on the stolen win2k codebase.
The phillipines is not known for its strict adherence to interlectual properties laws.
Actually, would this even be illegal?
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?
And what about elsewhere in the world?
Official GOD FAQ.
Hello,
this announcement reminds me of waht Lindows told us back then. I mean 100% Windows compatibility and such. The linked article seems quite ridiculous to me.
I mean "while all those projects emulating windows inherit the windows specific problems like instability, out new implementation does not contain those, thus is stabler then windows".
This is just another WINE-ripoff combined with good PR. Don't believe a thing!
Philip
It's easy too make promises and say that "this is gonna revolutionize evrything" but these claims have been made before by many companies...when someone makes a claim with nothing to back it up it should be worthless until it is backed up...Microsoft has been doing this from they 1 and look at the quility of the software they provide...it would be nice to have compatibility ...i mean windows has great *nix compatibility with cygwin...we have wine thats a very nice peace of software in my opinion...thanks to them we can run key apps on a non windows platform...we shall see where this project goes but not before there is some solid backup of what they are claiming..
"David is currently 25% completed with the Systems Design Phase of development."
... high on hyperbole with little to no substance.
If this works, great. Going through there website doesn't fill me with any confidence.
Very reminiscint of Infinium Labs [www.infiniumlabs.com]
One to watch, yes; but really, don't hold your breath.
Apparently, you don't even need to install it! What will they think of next...
the entire statement is "the release will be," "the product will be," "in development."
so basically someone identified a market and said "Hey, there's money to be made in reinventing the wine wheel. let's do it!"
"You worthless post!"
-Shakespeare, 2 Gentlemen of Verona, 1. 1. 147
If this is a silver bullet app, then why does it only work on 'major' apps???
Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose.
The story is such a joke, where do they get these reporters? They don't do the most elementary fact checking, just take whatever the one source tells them, put it in pyramid form and make sure they have a couple of money lines. It's such piss-poor work.
This thing is obviously a scam of some kind. It's not going to be an OS in a browser, they didn't correct MS design flaws while reverse-engineering the whole windows API, etc. IOW most of the article is wrong or insane. This may as well be about orgone boxes.
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.
Evolution or ID?
As a native english speaking engineer who lives and works in Japan, I'd have to say that reading the website for SpecOps reads very much like it was written by an engineer for whom English is a second language.
... it's so often the case that when you do an analysis like Linux Electrons did on the wording of their claims, you rely on the english used to be exactly what the speaker meant. And engineers / technology people are spectacularly good at misusing technical words in second languages.
And one thing I've learnt the hard way again and again here is that usually it's not worth analyzing such text in such detail when this is the case. The reason is simple
Not making any comment on the technology itself, just that it's kinda misleading to treat such a piece of text so literally.
Servlet v2.4 container in a single 161KB jar file ? Try Winstone
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...
Release a completely free high quality Windows emulator. It worked for OS/2.
Government of the people, by corporate executives, for corporate profits.
I remember a german compan called Omega that was going to do the same with the MacOS. Bold claims that ended up being vapor. Here is a websie with some info on COS.
Zoid.com
HDTV TiVOs are being shipped as of a few days ago iirc
...my investment money?
I mean with a page like this I can trust them right?
You know, they DO have place holders. I guess it's better than all the fake links they have around the site.
Full text, without comments:
SpecOpS Labs is developing a Systems Level product called David . The primary purpose of David is to
provide a platform, which will serve as a viable alternative to the MS Windows Operating System.
Our first release of David, version 1.0, will be a Middleware program that will sit on top of the free and
open-source Linux operating system, and enable it to seamlessly run most Windows applications. Working in the
background, David will enable users to run their favorite programs with the look-and-feel they are familiar with.
*COMMENTED OUT*
The next generation will, in effect, incorporate the operating system into the web browser, virtually eliminating
the need for an operating system eventually, except to boot the computer and launch the browser.
*END COMMENTED OUT*
David will be configured to be made available for installation either through the internet or from a compact disk
or DVD. It may either be pre-installed by OEMs, or may be easily installed by consumers themselves in plug-and-play
fashion.
*COMMENTED OUT*
David will be distributed to consumers in five releases. See the Information Memorandum within the Investor
Relations section for detailed information on each scheduled release. The David V 1.0 architectural framework has
been validated, prototyped, and copyrighted and has entered the full design and development stage.
*END COMMENTED OUT*
Running Windows Applications on Linux. Most of the popular software applications such as Word,
Excel, Quicken and PageMaker are designed to run exclusively on the Windows OS;
that is, Windows applications cannot natively run on the Linux operating system.
However there are three alternative methods of running Windows applications on
the Linux OS. These three methods include:
*COMMENTED OUT*
the David Technology
Link describes the simulation of the Windows Environment
Subsystem. For a detailed explanation of the other 3 methods,
click on the Our Market
- Competitors section of this website.
*END COMMENTED OUT*
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.
In any case, vapourware announcement sometimes preceded by some years the real Microsoft products, maybe their part of emulation includes that behaviour too.
The article criticizes the techniques that are mentioned in the press release without mentioning that press releases usually not only include exagerration of usefulness, but also embellish how things have been done. In other words, if features are mentioned in a press release, don't expect them in the actual product -- at least not how they were promised or not implemented exactly how they reported. Remember, software engineers don't write press releases (They don't tend to read them, either...).
I hate grammar Nazi's.
It's another closed-source implementation of the WinAPI by a company I dont trust, only this one is much smaller, and with less resources.
That's AWESOME!
The web page says it all. The 'solution' is for "Linux" whereas wine will run on FreeBSD and all the various GNU/Linux forks.
When specopslabs gets a product that can run on BSD and GNU/Linux, then they have something. Until then, WINE works better, because at least it WORKS.
Trying to port legacy AIP's from Windows to Linux is a waste of time; especially if all you know about the API's is the external interfaces. I am sure MS's Programs use plenty of "Internal/Undocumented" features.... Since MS Based coding is moving to .NET does it not make since to support any software written in fully managed .NET code? That's where project Mono comes in. I think that when Linux runs .NET code transparently that will be when it becomes "Main Stream"...
I was talking about OSnews story last week, it seems they also picked up this article. Anyways their discussion was more mature than the average slashdot one so head on over and read theirs here.
Well.. maybe. Or Maybe not. But Definitely not sort of.
They have time to do what noone has effectively been able to do (make complete win32 emulation possible on open platforms) but they don't have time to make a simple webpage? Their home page says under construction.
I smell bullshit.
hrrm.
Hey!
Everything I know about SCO I learnt from Press releases!
So I'll my $699 insurance policy will keep me safe when Darl comes around and makes you wipe Linux from your X-box!
(No, I am not being serious, but I understand that its Monday morning, so I figgered I'd include a disclaimer for those of us still asleep).
Norman Cook's Ode to Sl
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.
True. But my 2000 and XP machines (at work) routinely have to be rebooted because they come to a crawl, or freeze. Is it the OS to blame, or the apps I am running? That is a rhetorical question - the cause of the reboot doesn't matter. This doesn't even count required reboots for software installs/patches, which are common. Just because there is no BSOD doesn't necessarily mean it is stable. Is XP more stable than Win98? Yes. Does it still have acceptable stability? Yes. Would I consider it to be a stable OS? Nope. If Windows was all I knew, I would probably say yes.
And not to be cliche, but my Linux machine at home, which I use on a daily basis, has been up for 79 days. I have had a few Xwindows crashes and freezes, but the OS is still running.
My beliefs do not require that you agree with them.
There WAS (is?) a link and details on the project plan. A little Google cache searching shows this. The direct link to http://www.specopslabs.com/david_development.htm still works, though it's not available from the home page (AFAICT).
Either way, the timeline breaks down like this (summary);
Phase 1 - 100% - Document theoretical model.
Phase 2 - 100% - Build business case.
Phase 3 - 10% - Produce architecture roadmap.
Phase 4 - 0% - Implement system design.
Phase 5 - 0% - Deployment and maintenance/updates.
This is a reasonable breakdown, though if Phase 4 is the coding stage, they have a boatload of work to do. Since most projects fail let alone products (more hostile environment), I would not be worried if I were Codeweavers, EMC (VMWare), ... let alone Microsoft.
Looks like they are attempting to get investment capital.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
If you have wineX from transgaming there really isn't any work involved. They support a signifigant number of games, (including warcraft3), and have an easy manager (point2play) along with winex3 which is very capable of handling many games.
I do security
americans are often accused of being ignorant of the rest of the world
/ rp.html
well the parent poster, and every one modding him up, are proving exactly that
ENGLISH IS THE OFFICIAL LANGUAGE OF THE PHILIPPINES!
http://www.cia.gov/cia/publications/factbook/geos
someone please mod the parent comment into oblivion, it showcases american ignorance, and apparently, even the ignorance of americans living in the far east!
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
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
the only reason English is an official language there is because it was an American colony for 60 years.
More interestingly, Spanish is spoken by few people there (although they have spanish names often) even though Spain ruled the area for 400 years.
I don't read or respond to AC posts
Sorry, but gimp is not even CLOSE to a replacement for photoshop. Is it a nice image editor? Sure. But there's no way it can compete with PS at this time.
That is the *one* thing that is keeping me from being Windows free at this point. I've found open source replacements for everything else I use and look forward to gimp being able to do the things I need to do in PS so I can make the switch. I'm rooting for it.
Bzzzt. Wrong.
The (academic) definition of "operating system" is "interface to the hardware".
"kernel" in unix terms is synonymous with "operating system".
"distro" is "operating environment".
If you *really* want a complete rant on this, I have written one, sad individual that I am.
In future, please refer to a recognised textbook (suggestions in the link above) before jumping in.
Any bets on what % of David is built on the leaked Win2k code? Not that companies based from the Phillipines aren't inherently trustworthy... I'm just sayin.
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?"
Actually, in XP you should never get a blue screen of death.
Reason: MS apparently decided that the BSOD was becoming too much of a symbol of windows failure, so they make XP by default reboot on an error that would otherwise cause a BSOD.
That being said, XP with good drivers is a vast improvement over any of the 9x series, but still not as stable as my 'nix.
And if you think on the fact that 'nix drivers are often hacked up without much support from the hardware makers... that should say a lot (either that HW makers create crappy drivers, or linux kernel developers are better at them).
However: A lot of calls take weird undocumented arguments that only Microsoft applications use. And from experience in system call interception, if you don't pass them along, the applications don't work. So someone reimplimenting the system calls will have a fun time reverse engineering those weird arguments. (Or, "reverse engineer" them from the leaked source code)
But the major implication of this approach is that you won't get the licensing cost savings, as you will still need a licensed copy of the Win32 layer. Ignoring the EULA conflict issues (running Win32 not on the NT kernel), this will kill any cost advantages.
IBM's ViaVoice is ported to linux and the speech engine is free. so there are linux apps that are voice enabled. there is also a linux distro that's built for the blind. can't recall what it's called.
My keyboads not woking popely.
Your own citation of dictionary.com on your "complete rant" disagrees with you. "The low-level software which handles the interface to peripheral hardware, schedules tasks, allocates storage, and presents a default interface to the user when no application program is running
/ The foundation software of a machine; that which schedules tasks, allocates storage, and presents a default interface to the user between applications"
Default interface to the user? Sounds like a shell to me.
So there you go -- operating system = kernel + shell. (One could argue for a bootloader as well)
The following sentence is true. The preceding sentence was false.
Assuming this is not Vaporware, I wonder if they are going to implement a BSOD into thier kernel module for every time thier WES or whatever it's called crashes!
What a recompiler would do is rewrite the winA() to linuxA() on the fly.. not much different, no real help.
Lets put it this way. Under WINE, a Windows application can inferface the OS though either a replacement WINE project DDL or native-Window-OS DDL which run under a form of emulation, calling lower down replacement WINE project DDLs. The former replacement WINE project DDL can be incomplete, missing functionality. The latter native-Window-OS DDL is often more compatable for Windows applications but run slower on the host OS.
Running that native-Window-OS DDLs though a theoretical re-compiler, which performs global short-circuiting, should produce a binary that provides the same functionality of the native-Window-OS DDL but runs closer to the speed of a replacement WINE project DDL.
In the same way, the same theoretical re-compiler would perform global short-circuiting on the application's own DDLs and executable, producing faster executing code.
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.
Therefore, I propose this naming scheme: the GNU stuff will be called "GNU", the kernel will be called "Linux" or "the Linux kernel", and the OS will be called "insert distro name here". RMS's foo/bar naming system gets too complicated if you really try for accuracy, and people will make fun of you if you use it, so perhaps we can appease him by throwing random links to the GNU project in our discussions of what OS we're running.
So there you go -- operating system = kernel + shell. (One could argue for a bootloader as well)
So you're telling me I have to start calling my OS Korn/Linux? (At least I'm not stuck running Csh/Linux. That OS sucks.)
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.
You don't think "runs /sbin/init (whatever that happens to be) and handles system calls" is an interface to the user? This is the only default interface that you really get, since the user's shell is specified by /etc/passwd and has no default.
For the actual default interface, there's really only the API, sysrq-commands, and device drivers (including the virtual console stuff). Everything else, no matter how fundamental, is an application and is therefore not between applications.
On the other hand, the combination of a POSIX-compliant userspace and the kernel is also an operating system, because it also performs those functions (more extensively in some ways and more conveniently in other ways). There's no reason something can't be an operating system, if it fits the definition, just because a subpart of it also fits the definition. Any point where there is a complete API layer, such that you can divide everything into system and applications, has a side that's an OS.
Of course it exists and I've got the source code right here:
#!/bin/bash
# David source code: david.sh
# Warning: Strictly confidential!!!
str=$1
while [ "$1" != "" ]
do
shift
str="$str $1"
done
wine $str
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.
Let's assume for a minute all these claims are true and they have the perfect windows emulation for linux.
This is commercial development. They aren't going to open this code and it's not going to be free.
Like most commercial vendors they will be greedy of course and price it high, instead of dirt cheap like they need it.
If they price the oem non volume (or maybe even 10 pack) at about $5-15 then this will be a big winner all around. They will sell millions(or even billions) of copies and make a great return on their invesstment, every linux pc will be preloaded with this thing. Every linux user will have a copy.
On the other hand, if they are greedy like most companies and want more than that... all the sudden linux is as expensive or more so than windows per copy (like with crossover office). Vendors are going to sell box sets, not download distros and a box set is going to cost about $60-80, again simply too expensive. If this thing is even $20 and is basically prerequisite (and it would be) then it's just as expensive as windows.
Nope, our best hope is that this company has real technology, goes bankrupt and gpl's their code with their dying breath. It will do us little good for the same reason crossover office hasn't done nearly as much as it should... crossover office alone costs nearly as much per license as windows. If you combine it will a box distro it's more than an OEM XP Pro, let alone home.
Hey... MY name is David, and I don't appreciate it being associated with some windows crap. Can I sue them for using my intellectual property?
If they wanted to name it after someone, they should have called it 'Melinda'... I'm sure that would have bothered Bill in a way he couldn't legally do anything about (his wife's name).
I don't see anything on SpecOpsLabs site that talks about the fact that WINE falls under the LGPL. Rather they state, "Instead of simply using the WINE project as our basis, David has incorporated into its architecture the best features of all the windows compatibility projects such as WINE, WABI, TWIN and the others. David therefore is not a reinvention of the wheel. Rather, it takes the best of breed pieces from previous attempts to simulate the Windows Subsystem, and integrate it into a single product."
To the extent that this "incorporation" consists of copying over big blocks of code from WINE, this might raise some intricate legal issues. According to WineHQ, the copyright in WINE is held by the "WINE Project Authors," who now number over 600 people. I'm not sure exactly how such a large, disparate group of developers will be able to defend their copyright if it comes to that. Perhaps they should consider transferring copyright to the FSF, or setting up some nonprofit corporate entity to hold the rights?