On 15 Apr 2003, Mike Hearn wrote:
I'm not really sure what it is then, a desktop based on Wine? Why would that be better than a desktop based on Qt or GTK?
Maybe. We do have a few big advantage. Unfortunately Qt is GPL and for taht reason I don't think it's viable to become the standard for Linux desktop. I'm not the only one thinking this way, that's why RedHat it's pushing GTK. But regardless, this is another discussion.
Let's look at what we bring to the table: 1. Stable API *and* ABI 2. Well known programming environment 3. A working, tested and accepted object embedding standard 4. A lot of standardized interfaces lacking currently in Linux 5. A LGPL, neat implementation
Let's see how the other compare: 1. KDE: broke API compatibility on every major release, as well as ABI compatibility. They claim they'll keep API compatibility, but ABI compatibility is likely to be broken in the (no so distant) future. This is a big no-no for ISV, it certainly doesn't sit well with me (mind you, I am a KDE user) GNOME: broke API compatibility from 1.x -> 2.x. It is true, it looks like they're gonna stick to the new one, and they are a lot more likely to maintain binary compatibitity in the future. But porting stuff to the 2.x API is going slowly, and the project seems to have lost steam.
2. KDE: it's C++, and a lot of people don't like that. Yes, they do have bindings to other langauges, but they often lag behind, it's simply not a viable alternative. GNOME: they justs switched to the new 2.x API, it's new, people by and large don't know it. It takes a lot of time traning 100 of thousand of programmers. However, it seems to be a decent API, so it is a promissing alternative.
3. KDE: KParts. Very non-standard, many people don't like it, it is only KDE that can use it. I really doubt it that it will ever become a commonly accepted standard, no matter how nice it may be. GNOME: Bonobo. Copied fairly closely from the Windows world why is it any better? In fact, the entire CORBA thing sucks badly, we'd be a lot better of with binary compati- bility with OLE. How cool would it be to have Word embedded in gnumeric? :)
4. We just have more APIs for stuff. Yeah, some of them are ugly, some not needed, but most are accepted and used by people, which is what matters in the end.
5. KDE does not qualify unfortunately. GNOME is OK on this point.
I think we should change a bit our point of view. We are comparing Win32 with GTK and QT. Not fair. We should compare it with Xlib, and then it becomes clear that it gives us a lot more.
The scenario that like to happen (and is preferable from almost any conceivable point of view) is to have Wine _below_ GTK, not the other way around:
| Applications .... ----------------------------- | GTK | QT | MFC | Mono | ... --------------------------------- | Wine ------------------------------------- | Xlib | (other unix libs ...) ----------------------------------------- | glibc | (other low level libs ...) --------------------------------------------- | Linux kernel =============================================
This one will allow for a lot of interoperability, it's technically feasible, it has all sorts of advantages. Having Wine use QT/GTK/etc. is just bound to fail.