"socket", that allows other things to be plugged into it. The browser server then creates a window containing a KHTML control and reparents it. That way you'd avoid having to rewrite KHTML to use GDI, instead it can just use X11 directly. Or would that cause issues with Wine?
It'd cause issues with Wine. Remember, X11 is the only real output device right now, but there's also the prototype SDL one. Also, ideally all Wine dlls (besides very specific ones) should be compilable under Windows and be able to be used as replacements for real Windows DLLs.
in my opinion, KHTML is a far smaller and cleaner choice. Also, Gecko aims at STRICT standards compliency, whereas KHTML tries to make midway in support IE specific stuff also. So it would probably be less work to make the specific hacks to KHTML then to make similar changes to Gecko.
Yeah, also the KHTML code is far easier to read and understand than Gecko from what i've seen. Does the licensing thing mean that if you write a KDE app it must be GPLd?
Technially yes.
However I've looked into this some more: kdebase MAIN directory, COPYING states it's under the GPL Various subdiretories are under the GPL or LGPL, as far as the headers read. This is quite inconsistant (eg, libkonq is under the LGPL according to headers)
Kdelibs, the thing we are intrested in, includes both GPL and LGPL (and BSD for that matter) licenses. According to headers, khtml/*, kjs/* and possibly to some extent kio/* are under the LGPL.
This means we can do what we want. YAY!.
I was initially confused, because from TrollTech's website, KDE is illegal. It links QT, a GPL'ed library as far as TrollTech claim, against LGPL'ed libraries. Which is in violation of the GPL. [See: http://www.trolltech.com/developer/licensing/gpl.html]
Basically, KDE and TrollTech are being quite inconsistant. As long as we remove QT dependancy from the khtml/kjs libraries, we can implement it in WINE. As the code currently stands, khtml/kjs (and a bunch of other KDE libraries) are in violation of their own licensing :)
- Ender