Sunday, April 11, 2010

Wine Whine Whine

As promised, a post about Wine. I'd like to pretext this post by saying that I've had nothing but awful personal experiences with Wine. This post in no way reflects an unbiased or balanced viewpoint. I'd also like to say that as much as I hate Wine and wish it never existed and think it's awful, I have a huge amount of respect for the hard work and dedication of the Wine devs. I have nowhere near the kind of skill needed to do what they have done. Moving right along.

Wine touts itself as a compatibility layer between Windows executables and the Linux kernel, allowing Windows-native applications to be run in Linux without any Windows software. Most relevantly, Wine is used as an ace-in-the-hole by Linux devs for why Windows users have no excuse not to convert, implying that any Windows application can run just fine on Wine, and life will be grand, and flowers and rainbows will be everywhere. The Wine devs even go so far as to host a database for applications with compatibility scores, so you can get an idea how well something will run before you give it a go.

I'd like to address this first from an ideological perspective. Hacking together, literally reverse engineering, a compatibility layer between a terrible proprietary system and a very particular open source system is just silly. The idea is so bug prone and monumentally difficult that I don't understand why someone even bothered. Then implying that this solution should serve as a replacement for a natively running application is just a joke.

Secondly, I'd like to address this from personal experience. Wine just doesn't work for me, even for applications with Gold Star Platinum +1 Super Awesome ratings in the Wine AppDB. Take for example, Guild Wars. The additional comments in the AppDB go so far as to state "everything works fine! awesome!" I wish I could show you a screenshot of everything not working "fine! awesome!" but I can't even do that. My entire system crashed during the installer to an unresponsive black screen. That's something that just doesn't happen on Linux. Except with Wine, it seems. I've tried running other things through Wine at various times in the past, all with similar, if mildly better results. Nothing ever actually worked.

But Raevol, you cry, just submit a bug report! Submit a patch! Do your part! No, dear reader. Stop this nonsense. The Wine project is completely irrelevant. Linux needs its own native solutions. People turn to Wine because the applications that exist on Linux are crap, and need to be improved. So let's improve them.

An exception to that last statement is the case of applications that can't be ported because of Intellectual Property, like games. I can discuss my views on those politics until I'm blue in the face, but let's bypass that for now. In this case, these applications should really really be implemented through virtual machines. It's much easier to emulate hardware than it is to reverse engineer an entire operating system. One might argue that performance becomes an issue, however I would argue that optimizing a VM is much less difficult than emulating an entire OS.

Good? Good.