Will Linux For Windows Change The World? 770
An anonymous reader writes "A month ago, a trial version of a little-known Linux application called 'CoLinux' was released that is the first working free and open source method for optimally running Linux on Microsoft Windows natively. It's the work of a 21-year-old Israeli computer science student and some Japanese open source programmers; in Israel, analysts are already saying it could help transform the software world." (CoLinux is short for Cooperative Linux; we mentioned this project in January as well.)
Cygwin, MS Services for Unix? (Score:4, Interesting)
Good idea (Score:5, Interesting)
The NT(2000/XP) kernel has had the ability to run other native applications for a while.
It sounds like they are going the same way that Win16/WOW, OS/2 and Posix apps currently get run in Windows. There's no reason not to add Linux to this list.
possibly not (Score:1, Interesting)
Seems Like (Score:3, Interesting)
If it works very well... (Score:5, Interesting)
So, the next time your manager is afraid of having a Linux server on the production network, use CoLinux instead?
Support? (Score:5, Interesting)
Hmm.. there's an interesting question. Can Microsoft really refuse to support your windows installation if you're running Linux (as an application, even?) Or is this guy just trolling?
Yawn (Score:1, Interesting)
Running from within Windows is only of use to developers - Joe AverageUser doesn't care. What's the point to run Linux from within Windows? Wow, pay money for WinOS to be able to run a free OS that you have installed without WinOS in the first place.
Re:whatever (Score:2, Interesting)
No, it won't change anything. Interesting and geeky, but nothing that will have an 0.00001% impact on market share.
Re:Maybe a stupid question... (Score:5, Interesting)
Now imagine a world where you can do the same thing, but it takes 15 seconds to boot, and you don't have to exit the person's applications, log them out, shut down their internet daemons, etc. Walk up to virtually any computer, and you have the full comfort of your standard environment.
Might not work, but the other way around should. (Score:3, Interesting)
Probably wouldn't work. I doubt Wine (not)emulates that part of Windows.
But you should be able to do it the other way around: Run Windows apps in Wine in Linux in CoLinux in Windows.
Wouldn't be totally silly either: You could more ealisy compare the apps behavior under Wine and under Windows. (Though if it was sluggish or flakey on the Wine/Linux/CoLinux/Windows stack you'd have to confirm with Wine on native Linux to be sure it wasn't an artifact of running Linux under Windows.)
You need two boxes. Sorry, it's true. (Score:2, Interesting)
Sorry, but this sort of thing IS NOT going to draw more people to Linux, if that's what you're thinking. This "try it befor you buy" shit is nonsence (the same reason I have nothing good to say about these bootable Foux-Linux distros). Pick one per box. Have two boxes if you must. But the reality is that Linux is not Windows, Windows is not Linux, the two do not meet except by Wine and Samba. If you need both, you need two boxes.
Re:Cygwin, MS Services for Unix? (Score:4, Interesting)
Re:Conquering Windows (Score:0, Interesting)
1. Integration of video drivers into the kernel. Yes this makes it unstable, but Linux currently is plagued by the problem that Windows NT 3.51 had using fastLPC and HAL to control the video cards. Integrating into the kernel will give the necessary speed.
2. A thread model that allows thread ownership to be changed dynamically. Most important is the thread model. IPC is just too dammed slow compared to reading a common memory heap for a process. Without a thread model it is very difficult to make a responsive GUI application that does anything complex (unless of course you use IPC and spawn several processes).
3. A GUI messaging system that makes much faster calls on the operating system. GUI applications will not be able to compete with the speed of windows apps unless something is done to integrate this GUI messaging system with the OS. While this sounds like it is forcing a default Window manager, this isn't so. It just requires a programming standard to the messaging system to be written.
Three letters... KVM (Score:3, Interesting)
What about Corel? (Score:2, Interesting)
Re:Conquering Windows (Score:3, Interesting)
0.) Driver support from the vendor side
Even if we had directX compatibility we would still be missing video drivers, storage drivers, etc. All of those items, to be a sustainable resource, have to come from the horses mouth (as in I can get my Radeon working with the Open driver, but to get 3D acceleration I need the binary driver from ATI
Re:in reverse (Score:5, Interesting)
What they (i think) did with coLinux was hack Linux to run within the parameters of a loaded NT enviorment. It's like a low level multitasking dance where NT leads and Linux follows.
UserModeLinux? (Score:2, Interesting)
Linux on the JVM (Score:4, Interesting)
Its pretty hard tho - the JVM is nowhere near a complete hardware platform, but it would be possible.
Re:Side by side comparison (Score:3, Interesting)
- Oisin
Re:Conquering Windows (Score:5, Interesting)
DirectX is great for PC Games - but for real scientific/commercial work it *SUCKS*.
Whenn Boeing dows the next 7E7 fly-though in DirectX, give me a call.
Re:Linux Under XP? I'm So Non-Excited (Score:3, Interesting)
Re:What about Cygwin? (Score:3, Interesting)
Of coure the primary benefit isn't just being able to run Linux binaries, but rather being able to run an entire Linux distribution! For example, you could boot Knoppix without exiting Windows! That's pretty freakin cool.
Re:possibly not (Score:5, Interesting)
The technical solution is that it will allow native Linux applications to run in Windows without the massive overhead of emulation.
The social solution is when some Pointy Head Boss who is taken in by MS FUD about the evils of linux and wants you to write an app in that runs in Windows for a task that you know Linux can preform better.
So what do you do? With coLinux, you can still write the app to run in Linux, then run it on the windows machine with coLinux. So it makes the PHB happy by giving the impression that it's running on Windows, but Linux is actualy doing the work and at the same time you gave Linux a foothold on Windows' terrortory.
So down the road, when MS decides it's time to "Upgrade" you can propose that instead of spending millions on new MS licences, you can show that all the applications that were written to run the business runs perfectly and exactly the same under Linux, and it's time tested since all this while Linux was doing the work, thereby justifying ditching MS altogather.
Why this is good is that it provides a bridge between Windows and Linux. You can demostrate without leaving the Windows enviorment, the power of Linux and at the point where you eventualy make the transition, re-education needs will be minimal as employees will already be familier with using native linux apps.
Finally, a technological fix for a social problem.
No. (Score:2, Interesting)
Running linux under windows is not the same thing as running linux. Period.
It may be better than running VMWare or the like.. but it's not "2 systems on one computer."
It's still windows, with all that implies.
Unless there is some miraculous (and I do mean miraculous) kernel level integration..... there is no performance benefit or anything like that...
So.. is it neat? yeah.. kinda. Is it revolutionary? Hardly.
XEN is far cooler....
This is a wonderful project (Score:2, Interesting)
This is cool for a number of reasons:
1) It can access rootless X via Cygwin's xserver.
2) It can run linux from your dual boot partition! (No, I haven't done this myself but it's in the FAQ.)
3) Some of us want to run both XP and Linux simultaneously from our laptops. (No, I'm not going to carry two laptops around with me.) I need XP for Matlab and its windows-only toolkits and also for the ultra-cool Medved QuoteTracker, and I want Linux for just about everything else.
4) Cygwin is great but not everything compiles or runs correctly within it. (E.g., even Perl has bugs within Cygwin.) Also, contrary to popular belief, not everything is prebuilt for Cygwin and dl'ing binaries saves me enough time to read
5) I think all the people shouting "one box/one OS!" are in dire need of a paradigm shift. Thinking like that is the reason MS rules the OS world, and we should be celebrating anything that chips away at that misconception.
6) Finally, having linux and Windows apps side-by-side will go a long way towards getting linux coders to improve their terrible looking GUIs. Contrary to some of what I've read here, IMHO, improving the look of linux is the single most important requirement for gaining mass appeal. And like it or not, XP apps today look a lot better than Linux ones.
Re:possibly not (Score:3, Interesting)
I've started doing this with mozilla and thunderbird so that if I switch eventually, it'll be less painful when all the programs look and act differently.
However, with commercial software, the problems occures when you have a bunch of licenses for windows and you want to switch to linux. I think it'd be in the developers intrest to offer trade-in's of windows licenses for linux licenses. This might be a radical step, but the only people that buy software are those that already buy it.
Re:whatever (Score:3, Interesting)
This project is pretty damn close to being a complete waste of time for everyone involved. Unlike something like Virtual PC that actually serves a purpose. I'm convinced that Mac OSX along with Virtual PC is the easiest and only way for the majority of the users in the world today to ditch a dedicated Windows XP box. Of course, why try so hard to ditch something like XP that works pretty well to begin with. There is a time and place in this world when it is appropriate to spend large amounts of time trying to make "a point" of some sort. But this ain't one of them.
Cygwin inside Wine inside ... (Score:2, Interesting)
In fact, it appears the Cygwin (POSIX inside Win32) people and the Wine (Win32 inside POSIX) people are using each other's programs as a round trip test case [debian.org]. And yes, you can probably run Wine inside CoLinux if it implements all the POSIX APIs that Wine requires. However, because this CoLinux is kernel level, it probably can't be run inside a free Windows ABI emulator until the ReactOS (NT kernel clone) people get their codebase to at least 0.5.
Re:Why not vmware? One word: laptops (Score:2, Interesting)
Since you don't know what I'm using my system for, if I were you I would think again before calling me an idiot.
For the work that I do, I need that horsepower to have multiple VMs running simultaneously, running different OS's, all doing some serious compilations.
For that, you need the kind of machine I described. Now that can't be done using a standard laptop at all. But for going on the road, colinux would be nice to use on a smaller, lower power, standard laptop. Because why would I want to shell out a several hundred bucks for vmware just for that? Idiot...
Why a user might want to run coLinux... (Score:5, Interesting)
The need to run a linux Distribution from within a Windows box not the need to run Linux applications on a Windows box:
First I want to point out that cygwin will get you a secure shell, gcc, and a number of other biaries, as ported from Linux. But it will not natively behave the same way that Linux does. The primary difference I'm referring to is hardware support and native binary support. It is for this reason that Cygwin will never be as useful to the Linux world as other distributions are. (Contributions back to Linux from Cygwin are not practical.... [Mozilla aside, there are no other good examples of OSS projects where there is a large number of developers porting their software from a Cygwin environ back to Linux]). There are several interesting cases of Linux software being compiled for windows (Xine, Gaim, X, etc) but these programs are not sufficient to be considered a "linux distribution within windows" instead should be considered, Linux apps for windows.
Consider now, my personal usage example, I have had a Linux dist sitting idle on my drive because I sold my second box (power is expensive!), and I needed to develop in MFC (Direct X 9.0) for a course that I was taking (leave linux on one part, install XP on the other). Right now there are several applications and other things that I'm missing from when I had primarily booted Linux, but I can't move away from Windows and still continue my studies (and btw, dual-booting is not an option I'm eager to go back to [takes forever, and I always want that one windows or linux app when I'm in the wrong boot]). So, after this project matures, I will hopefully be able to mount my existing Linux partition, boot my kernel, and access my applications and settings as I left them before, without disturbing my continued study with MFC and Direct X.
A few final points:
1.) XP is not as unstable as everyone here seems to contend, I have had weeks of uptime on my computer at work, as has the other developer who works with me.
2.) Cygwin does not allow developers to comfortably develop Linux apps on windows, and is limited inherently by Windows (terminal width constrained to less than 72 characters, X Windows loads slowly, etc).
3.)There are a number of practical uses for virtual machines but the speed of these systems, their somewhat limited application (hardware) support, and the price of the software ($$$ you would pay a heck of a lot more for VMWare than for Windows XP, buddy) tends to leave something to be desired from that corner of the market.
In conclusion, yeah, coLinux may not change the world, and it may not even turn a few heads, but it certainly could be useful for a number of people such as myself who are looking to get a little bit more Linux out of their Windows boxes.
Re:in reverse (Score:1, Interesting)
One Practical Use: GnuCash! (Score:5, Interesting)
No Windows version.
Can't compile in Cygwin.
Enter coLinux... finally a way to run GnuCash on my Windows laptop.
I am sure there are other programs like this.
It is even possible to run Linux programs in rootless windows [colinux.org] so that they appear to be native Windows applications.
Re:Conquering Windows (Score:3, Interesting)
DirectX is great for PC Games - but for real scientific/commercial work it *SUCKS*.
Is there a reason why it sucks for such work? I've only done experimental game-related graphics work with both APIs, and although each has its own unique style, I don't really see any major problems of either that would prevent work of any type from being done using it.
I think the real reason why DirectX isn't used for scientific work is because it only works on Windows, and it hasn't been around for as long as OpenGL.
Re:Good idea (Score:5, Interesting)
Software became a licencee under NDA of Microsoft's NT code and developed Interix as an alternative and far more robust Posix subsystem.
One of the things that makes it radically different (and superior) to things like Cygwin is that Interix is a whole seperate subsystem that talks directly to the NT kernel, in parallel with the Win32 subsystem. Cygwin is a DLL kludge that rides on top of the Win32 subsystem. Everything is translated through an entire extra layer for Cygwin.
I licensed a copy of Interix before Microsoft acquired Softway Systems. My copy came as a nice bundle, with the Interix POSIX subsystem, Motif, the Motif libraries, and the Exceed X server. It included binaries for NT-x86 and NT-Alpha. It included a complete GNU toolchain, including the GNU C Compiler, etc.
The latest incarnation of Interix, since Microsoft bought Softway Systems, is somewhat 'dumbed down' from what it was in it's glory. With Interix installed on an NT4 system back in the day you could set it up with Inetd and make it a remotely accessable system that nobody even had to know was running on an NT box. Some of that is probably still possible, but Microsoft has pared away a lot of the useful binaries, i.e. it doesn't even have the vi editor anymore.
At a point shortly before Microsoft purchased Softway Systems, the Softway people put out 'feelers' to see if anybody in the OSS community was interested in Interix being 'open sourced'. Near as I can tell nobody at all responded. Microsoft bought it shortly after.
Re:Side by side comparison (Score:2, Interesting)
It's great for running X on older hardware. Many, many useful and powerful X apps don't need to be bogged down with all the 'desktop' junk added to modern Window Managers. I run TWM on my 486 laptop and on my Mac SE/30, both on NetBSD.
TWM is the 'reference' Window Manager included by default in the base X11 distribution. And it's quite well documented, being the reference Window Manager implementation, as it's well covered in the O'Reilly X Window System user manual set.
Do NOT compare TWM to Windows 1.0. TWM gives you all the same X11 'goodness' of any other Window manager, just in a no-frills, no-bloat package. It actually has most of what anybody needs on a basic system.
I know, I know. It's not very 'pretty' and it's all configured in flat textfiles. And it doesn't give us an excuse to buy new systems.
Re:EULA (Score:3, Interesting)
Well, first they'd have to stop selling this:
VirtualPC [microsoft.com]
Re:Conquering Windows (Score:1, Interesting)
Becuase some devices have only Windows drivers (Score:4, Interesting)
So, why not just boot into windows, do my scanning and get out?
Because scanning a roll of film can take hours of off and on work. I don't want to to be stuck with Windows that whole time.
Wine (when it works at all) is of no help. It runs only apps, not drivers. Even VMware, when the host OS is Linux, is of no help.
It actually works! (Score:4, Interesting)
I happened to be playing with coLinux for the first time this afternoon (beating the
It works easier than I expected. And it really does use regular binares. For instance, I've just installed X and KDE from the regular Debian package repositories.
I tend to think of this as a specialized, i.e. Linux Only, alternative to a VMWARE for Windows license. Free, and moderately easy to install - I'm sure that in time, it'll be a lot easier to setup.
Re:EULA (Score:5, Interesting)
That'd be dumb, since then they'd prevent xbox developers from doing work. It would prevent pocketpc developers from doing work.
If they made an exception for MS OSes, it'd be a very obvious anti-trust move.
Re:A Summary Of What's Going On (Score:3, Interesting)
As I said in my earlier post, I agree with you that getting two OS's to cooperate in Ring 0 is a major achievement.
As for the DRM people having a heart attack, they might not, since supposedly some of this "trusted computing" stuff depends on a BIOS chip certifying the OS before it runs - which presumably means it could prevent another OS from running in Ring 0. This is just speculation on my part, but it seems reasonable.
However, as I mentioned in my earlier post, this capability does seem to have significant positive security and system integrity applications - as long as Microsoft doesn't deliberate try to break it.
Even so, it will be interesting to see if the concept can be applied to OTHER OS's - such as the Mac, perhaps?
Software firewall for win? (Score:2, Interesting)
Re:Conquering Windows (Score:3, Interesting)
Re:An argument for Linux-Windows compatibility (Score:3, Interesting)
Heh. I'll take this on, I agree with it mostly, but there's a few things I wanted to bitch about, but not at you directly.
First, we need to decide if we want *every single* desktop, or if we'll just be happy with "enough". You know, "enough that we can run Linux without being oppressed by Windows zealots" and so forth. "Enough" that we can reasonably expect a document sent to us in email will be readable in our environment, and so forth. That's what I want, and when we have that I don't give a rat's ass how much of the market Windows has.
Cygwin seems to go mostly unscathed, but a lot of people bash WineX. Regular ol' wine catches some complaining, as does Crossover Office.
Near as I can tell, WineX and Crossover Office get bashed regularly as an extension of the Wine License Schism. I think wine catches flak just because of existing bad blood between various factions and is completely self-defeating. Wine is great, runs a lot of stuff, but doesn't run a lot of stuff well, at least in my experience. I think wine's best purpose is to allow applications to be recompiled for LInux that were written for windows. That's what I think, anyway. ;)
Anything dealing with Microsoft servers (Exchange interoperability, for example) occasionally gets the same.
This stuff irritates me because there's a reason Exchange does many of the things it does. Bashing interoperability with Exchange ignores the basic fact that Exchange got those features and a fair bit of subsequent adoption because *NIX didn't have them. Or we did, but our implementation was kludgy and unwieldy. Interoperability with Exchange is now required if we want to get those servers back.
Ports of Linux software to Windows sometimes catch flak.
There's two sides to this that I can see right away. There's one side that says "If all of our great stuff runs in Windows, nobody will ever *need* to switch", and there's the side that says "If all of our great stuff runs in Windows it'll be very *easy* to switch". I can see both sides of this argument, although I'm generally in the second group. Cross-platform compatibility is a goal we really need, and in the absence of standards that work in a lot of areas (granted, we are also in the presence of standards that work in a lot of areas), then the only way we can get some of our own standard agendas and interoperability to work cross-platform is to port Linux stuff to Windows. If you ask me, and you haven't, I'd say it's immoral and unethical to write an end-user application that doesn't run on multiple platforms. Since when does the developer get to pick and choose what platform the end-user uses? Plenty of cross-platform development libraries and kits available, no excuses left.
In the case of WineX ports, they worry that game companies may feel that advising users to use WineX is "good enough".
This argument falls on its face in general. One of the top reasons I hear from family and friends for not switching to Linux is because of games. !? Right. Fucking games. Well, if all their favorite games (such as Everquest, for example) run fine in WineX, they can switch if they really want to. When enough people switch, the game developers will continue to do what they do best: make games that require lowest-level access to the hardware for best performance. And they'll look at their audience and they'll say....
Your line, George.
OH yeah. "Hey you, get your damn hands..."
Er, anyway. Then we'll get native LInux games that really fucking rock, because the audience will be there.
Re:Conquering Windows (Score:2, Interesting)
Re:Linux on the JVM (Score:5, Interesting)
It would likely be very very slow, but in conjunction with a UMLinux port to the JVM it would allow you to run many Linux x86 binaries on anything with a JVM as long as you packaged enough of the Linux x86 .so libraries with it.
For a while Sun toyed with the idea of a JavaOS where everything but the kernel ran in a JVM. Unfortunately, few people consider even modern JVMs acceptably fast. The JVM forces the Java object model and calling mechanics on the code, so writing code for a JavaOS would be great as long as Java is the best tool for the job.
Additionally, stack-based virtual machines are pretty much ideal for interpreters (see Xavier LeRoy's design paper for Zinc, the O'caml VM) but other VM models are much better suited to just-in-time compilation (see Ken Thompson's Dis VM design paper). Java is a great language, but the JVM was litterally designed to be runnable on 8-bit microcontrollers in toasters and fridges 2 decades ago. Now, 32-bit microcontrollers and RAM are so cheap that Sun should really consider keeping 100% source compatibility but scrapping direct binary campatibilty with it's 8-bit microcontroller optimized stack VM. They could always use something like OpenJIT to implement reverse compatibility inside the Java 3 JVM. (The whole "Java 2 Virtaul Machine v.1.4.2" thing is anoying and confusing for many people. Letting Marketing call it "Java 2" but letting Engineering call it the "1.2.1 JVM" was dumb.)
Diverging back on topic...
The idea of a VM-oriented OS is nice, but it seems that in order to compete with native applications, higher performance and more flexible VM designs are needed.
Vmware, Bochs, and CoLinux can all be thought of as more or less high performance flexible virtual machines, each with a different level of virtualization and performance. A complete re-design in Java 3 would make a JavaOS (such as UMLinux and libraries for the JVM) much more attractive. It looks like Microsoft is working towards a .NET VM (CLR) based OS. This is a logical step in a long historical trend towards more hardware abstraction at the application layer. I'm sad that MS decided to leverage so much of its JVM experience in creating the CLR as a stack-based machine that enforces a particular object model at the lowest level (rather than being enforced at the class loader level), but at least it's a step in the right direction.
I don't get it (Score:2, Interesting)
Re:The only thing stopping widespread use of Linux (Score:1, Interesting)
Tell that to all the hardware I have, which doesn't say "designed for Windows XP". None of it works with windows, no matter if it's designed for Solaris or HP/UX.
Re:Conquering Windows (Score:3, Interesting)
Re:Conquering Windows (Score:3, Interesting)
Re:whatever (Score:3, Interesting)
Your points about shortcut keys and the like are interesting. I will admit that most windows apps I use share the same shortcuts, but then most of the Linux apps I use do too. I am typing this in Mozilla (I know -- the cross-platform nature of the app makes this more windows-like), and it obeys all the rules you mentioned. Likewise Openoffice, Koffice, gnumeric, etc.
On the other hand I type almost all my documents in Emacs, and the bindings I had to relearn there are used consistently in my Matlab editor and on the Bash command line.
In my experience, most users will see buttons as buttons regardless of the exact widget set you are using. Take winamp as a good example, or any recent game. Their interfaces look as similar to the standard windows interface as many of the linux apps I run. Because of the power of the GUI and the basic widgets everyone knows, they can learn to recognise that something that looks like a button probably is.
Most linux window managers mimic the Windows setup of close button top right, but it irritates me no end, as I keep closing stuff when I want to max/min it. So I have moved my close button to lop left.
The point I am trying to make is that for most of the applications people use regularly, the interfaces have been standardised enough already. The apps with confusing config files and the like are probably that way because of a user base that is familiar with the way things work and would probably be confused more by a change to a user friendly GUI than anything else. So how much more standard do the applications have to be?
Re:Conquering Windows (Score:3, Interesting)