5 ms·
Is there any more impressive open source project than Wine? I mean, yes, the Linux kernel itself and maybe GCC, but Wine just blows me away. The sheer audacit
by nemesisj 13y ago
Is there any more impressive open source project than Wine? I mean, yes, the Linux kernel itself and maybe GCC, but Wine just blows me away. The sheer audacity of sitting down and deciding to reimplement the entire Win32 stack including bugs to the point where DirectX is reimplemented in OpenGL and everything runs natively is just unbelievable. It's truly a testament to open source. No business would initially fund a project like this, it's nuts. And yet it exists, and continues to improve, and now companies like Codeweavers are built upon it. Congrats!
- e40 13y agoRed Hat funds cygwin, and I'd argue that it's at least similar in magnitude.
- gizmo686 13y agoI haven't seen the inside of either project, but Wine seems like a much more difficult system. Cygwin is able to port large amounts of their stack from existing software (mostly gnu), whereas Wine needs to reimplement almost the entire stack. Furthermore, Wine needs to maintain binary compatibility whereas Cygwin only attempts source code compatability.
- ojosilva 13y agoAnd reimplement it from a closed source spec, which only adds to the legend.
- jbert 13y agoInteresting comparison. Would you rather implement POSIX over Win32 or Win32 over POSIX?
- phogster 13y agoNo, thanks.
- FooBarWidget 13y agoWin32 is a much, MUCH larger beast than POSIX. POSIX is a fairly small specification compared to Win32. A lot of the useful stuff on Unices is vendor-specific, but a lot of software is written with portability in mind so not a lot of them require vendor-specific APIs. Countrary to Windows. You wouldn't believe the enormous amounts of stuff that Windows has, and apps rely on almost everything they can rely on. COM is huge. DCOM is huge. DirectX is huge. The list goes on and on.
- derleth 13y agohttp://blogs.msdn.com/b/oldnewthing/ http://blogs.msdn.com/b/oldnewthing/ Really, that's my answer. Win32 is Raymond Chen Land, Fear and Loathing With Backwards Compatibility. SimCity relied on internal details of how the kernel managed memory such that it reused memory it had already freed and they kept it working. MSFT modified the Windows kernel to avoid breaking it. Torvalds is Chen-like in his adamance that the kernel can't break userspace, but Torvalds never had to deal with Windows 95 and the strange MS-DOS-derived world it inhabited. Linux never had to deal with 16-bit x86 code, so it was always able to keep its internals private, limiting the random stuff user programs could end up relying on. Win32 offers no such consolations. I'd implement POSIX on top of Win32 any day to avoid the alternative, with the caveat that some things are flatly impossible and some things are possible but will never be efficient.
- guard-of-terra 13y agoBtw, the top post regarding command lines applies to unix equally.
- ww520 13y agoThere's simply no comparison. Wine is a much more complex project.
- temp453463343 13y agoCan someone actually explain to me what Cygwin does internally? Doesn't Windows already implement POSIX?
- tanzam75 13y ago> Can someone actually explain to me what Cygwin does internally? Doesn't Windows already implement POSIX?. Used to. Subsystem for UNIX Applications is now deprecated. Cygwin runs on top of Win32, and its library functions call into Win32. Thus, it is strictly a compatibility layer. Whereas SUA runs alongside Win32 and does not depend on Win32 APIs. Thus, it is theoretically a replacement for Win32, for people who wanted to run a UNIX environment on top of the NT kernel. Practically, however, it was used primarily for application porting.
- temp453463343 13y agoThank you for the explanation!
- evilpie 13y agoHave you seen http://reactos.org/ http://reactos.org/ ? The are reimplementing the whole Windows NY system, with the help of wine actually.
- yulaow 13y agoreactos is my preferred opensource project indeed. Quite amazing to work in something like it
- ismarc 13y agoIt goes both ways. I wrote a chunk of code for reactos years ago that got pulled into wine, had some fixes done by other folks in wine and then those fixes pushed back to reactos. Both are audacious, with different goals but extremely similar work along both paths.
- deleted 13y ago[deleted]
- LeeLorean 13y agoReactOS is great, but the project seems to have died in the last few years.
- Zuider 13y agoOr Longene, the Linux Unified Kernel: http://www.longene.org/en/index.php http://www.longene.org/en/index.php >The Longene is a free, open-source computer operating system kernel project intended to expand the Linux Kernel to be binary-compatible with application software and device drivers not only made for Microsoft Windows but also made for Linux OS. This will enable the Windows application running on the Linux operating system highly effectively. Not sure how active this project is. The last binary package released was from 2012.
- rpgmaker 13y agoIt really is amazing. I run office 2007 without issues on ubuntu. As well as some obscure utility windows software without issues. WINE really is a damn great open source project.
- josteink 13y agoIf you can indeed run Office 2007 without any issues through Wine, I'm starting to see no reasons to keep Windows on my laptop. The last stance so far has been my fiancé and her need for Office. If that falls, I may finally be able to get Linux on my own laptop :)
- mikevm 13y agoI agree. If you forget about gaming, I think that Office (and possibly Photoshop) are Windows' killer apps. Although for those of us that don't pirate movies, a Bluray movie player app would also help...
- plq 13y agoFWIW, I'm playing blu-ray stuff just fine on Gentoo Linux using VLC, with booming HDMI sound.
- pseut 13y agoDual boot?
- rpgmaker 13y agoYes, you can install office 2007 without issues. Office 2010 not so much in my experience, it installs and works fine but apparently the office 2010 software component that validates the license doesn't work quite right. Not on my setup anyways.
- derekp7 13y agoAnyone rmember WABI that Sun did long ago (I have a Linux version floating around somewhere). Although it was Win 3.x only, it did a decent job at the time.
- Someone 13y agoIt also was much less ambitious. http://en.wikipedia.org/wiki/Wabi_(software) http://en.wikipedia.org/wiki/Wabi_(software): "Wabi required a Windows 3.x installation in order to work, meaning that it would also require a Windows license, unlike similar software that endeavored to implement the entire Windows API, such as Wine. The basic premise of the product was to provide an emulation of the lowest layers of the Windows environment in the form of the user.dll, kernel.dll and gdi.dll libraries. As all other Windows dlls depended on these three modules, cloning this functionality allowed Windows applications and their associated support dlls to execute correctly. This approach, as opposed to a full replacement, was thought by the engineering team to be the only rational methodology for success given both the size of Microsoft's ever-expanding efforts and the difficulties of the emulation being precise enough to run commercial grades of software."
- pvnick 13y agoThere was even an impressive security vulnerability shared between Windows and WINE [1]! The bug was a particularly nasty failure of the file specification and allowed you to jump to and start executing an arbitrary memory adress by design. [1] http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability http://en.wikipedia.org/wiki/Windows_Metafile_vulnerability