Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
KDE GUI

QPL 1.0 Released 435

Idris Samawi writes "QPL 1.0 Released The new license for the Qt Free Edition just announced by Troll Tech". The release includes a few quotes, but a dearth of information about the actual license. I'm curious though. Two free desktops are an amazing feat!
This discussion has been archived. No new comments can be posted.

QPL 1.0 Released

Comments Filter:
  • Gosh,

    There are problems with Gnome, that make me really feel it is still a "beta" product. I really do wish it were otherwise!

    Still, you must not be looking hard enough for the language bindings, etc. I can't stop by FRESHMEAT without tripping over another one...

  • So KDE is better because the preliminary debs don't work for you? That makes sense. Not.
  • Obviously, Gnome people give their rats asses. If you aren't only using their product, you're Satan.
  • Good lord, what's up the ass of so many folks here nowadays? Bitching over which has Corba first, then saying, "Well, it's still better in Gnome, so nyah." If you can't provide any sort of constructive criticism about the products involved, to make them all better for us, then shut the fudge up (pardon the language :)).

    I just want to have MANY wonderful, useful, stable applications on my Linux box. Not one set of products from one group of people. And face it, with world domination "just around the corner," (Linus at Linuxworld), we need programs that users can use and love. Joe User won't give a rats ass about whether Gnome or KDE started using Corba first, or that Troll announced this QPL a couple days after Gnome's announcement. They just want office apps and all that they can type their love letters in.
  • I guess the only program that's completely free would be Golgotha. So, let's design an OS around it and live in completely-free land.
  • 3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches.

    I thought Troll said they were going to get rid of the patch clause? If this is going to remain in there, then this license is no improvement. It's still GPL-incompatible, and so it still remains illegal to distribute binaries of KDE linked against Qt (unless KDE get permission from all the copyright holders of the code they've used to provide an exception for Qt).
  • Well, it's not much of an improvement. The language has been clarified a bit, but the major problems that make it GPL-incompatible are still there. Take for example:

    3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches.

    That alone makes it GPL-incompatible, so distributing KDE binaries linked to Qt remains illegal.

    The part that lets Troll use your modifications as part of their commercially licensed product (forcing you to allow them to change the license on your code) isn't too nice either.
  • Not everybody used OOP, and OOP is not the be-all end-all of programming metholodogy. It has many uses, but is not desirable for all types of programs.
  • No, Mozilla allows you to distribute changes to the actual code. Qt still requires you to distribute them as patches.
  • ..that Qt will be free when 2.0 is released. However I'm not sure if this fixes the problem the Debian folk spotted - specifically, that it's illegal to distribute binaries of KDE linked against Qt if you're not the original developer. I know the reason Debian found that they couldn't do it was because Qt wasn't distributed with the base distribution and therefore didn't fall under the system libraries clause; however this new Free license probably allows Qt to be distributed with main.

    Can anyone comment on whether it's now legal for non-authors (copyright holders) to ship binaries linked against Qt?

  • Okay, I admit. I like C.

    All the worst linker errors and compiler incompatibilites I've seen are C++-specific, and OO design is just a pain when working on a small project.

    GTK's design is beautiful. I get the advantages of C (general beauty, easy linking, compiler compatibility, better code, etc) with a toolkit that has the advantages which OO (admittedly) has for such large heierarchial (sp?) projects. GTK is designed to work the way I think, which is more than can be said about most widget sets I've used.

    So perhaps there are different philosophies out there. So perhaps folks who think differently in creating their software prefer Qt's C++-oriented design. I like C; I like GTK; I intend to continue using both. (* - However, I may learn Python and try its GTK bindings).
  • ...IMHO, quite good. The functions are all given descriptive names, and the use of casting macros makes it pretty clear just what each argument's supposed to be.

    I've used Glade a few times and always found its output good. I can hardly imagine that code created by a human trying to make it readable would be less so.
  • Posted by ReimerBehrends:

    A few comments:

    The prerequisite for 6c to apply very obviously is that you actually distribute the items. If you don't distribute them, you can keep the source to yourself. Note:

    "6. These items, _when distributed_, must meet the following requirements. ... c. If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one."

    Note that you can distribute items without making them available to the general public, in which case Troll reserves the right to request a copy.

    The term "machine-readable source code" is most likely used to prevent people from giving away printed copies of the source code, which are of little use to anybody. I agree, though, that it could be construed to allow for obfuscated source code.

  • Posted by The guy in the next cubicle:

    Look, KDE and GNOME are not commecial products. They are not "competing" with one another. Each group has its own philosophies and design goals, and each wishes the other group the absolute best. Why can't people get this into their thick skulls???

    If you like GNOME, use it!

    If you like KDE, use it!

    If you like both (as I do) USE BOTH!

  • had a lot to do with the licensing, but to be
    completely honest, had a lot to do with the icons.
    gears are better than feet
  • AFAIK, one can sell closed-source apps that dynamically link against LGPL'd libs, such as GTK.
  • Printing? KOM/Openparts? Not in at least two years (for GNOME, that is. readily available for KDE)

    Well the gnome-print stuff appears to already exist. Perhaps it's not finished, but two years? I doubt it.

    As for KOM/Openparts, why the hell would Gnome want it? Gee, another component object model.. just what the world needs. From what I understand, Gnome is using an object model based on ILU, a commonly accepted standard. So you criticize Gnome for using the standard as opposed to supporting the thing KDE made up? Why doesn't KDE support Gnome's object model?
  • Coincidental that it just followed the release of gnome 1.0?

    It seems logical for any company writing software that's in any way related to Linux to make announcements during the week of LinuxWorld Expo while the media is paying attention.

    In other words, they're not stupid.

    TedC

  • I guess I'll have to do a closer reading of
    http://www.troll.no/qpl [troll.no]... I don't see how it's significantly
    different from the GPL right now.

    Anyone got some insights?

    -K
  • 2) GPL does not allow use in commercial apps. With QPL you can pay USD 1300 or 2000 and use it to make commercial software.
    Since when does the GPL disallow commercial applications? There's nothing in there that states that you cannot charge money for your products. The closest I found was, "You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee," but I found nothing explicitly disallowing selling the program.


    --Phil (Remember, "commercial" and "proprietary" are not the same thing.)
  • I think this also makes it GPL incompatible, which means distributing KDE binaries will still be illegal. KDE people need to get permission from all the people whose code they've used to make an exception in their license for binary redistribution with QT.

    Yes and no. You can distribute KDE binaries, if QT is considered to se something "normally distributed with the major components of the operating system on which the executable runs." That depends on the distribution. Debian will probably include it, since it looks like it's DFSG-free.

    OTOH, without that loophole, it's not compatible because of the patch clause. That means you can't share code between GPLed programs and QPLed ones.



    --Phil (And I still think GTK looks better, but that's just my own opinion.)
  • QPL may even be better than GPL! Read section 6c carefully. People have to disclose in-house software which uses QPL'ed software. This is just beautiful. I have always hated the fact that people can take a GPL'ed app, improve it in-house, use the improvement internally and never return the patches back to the community.

    Well, for one thing, I don't think the QPL is as good as the GPL. The QPL still has that patch clause in it, and I don't like that. (And I posted a nice rant about it shortly after the new QPL was announced to be in development, so i don't feel like writing all that again.) As for the in-house releases, I'm not sure if you're right, and I'm not sure if I think that it's an improvement. The GPL mostly concerns itself with the distribution of software. My impression has been that it strives to preovide all users of the software with the same freedoms. If you don't distribute the program, you can't restrict anyone's freedom. That section of the QPL also seems only to apply to distribution. Section 6 states, "These items, when distributed, are subject to the following requirements". IOW, the restrictions only apply if the programs are distributed. If a QPLed program is distributed to a restricted group of people, they all have permission to modify the program and distribute the program (with patches) to others, but the original author may demand a copy of the modified program for himself. With the GPL, all of the users have the same freedoms granted to the distributor, but the original author cannot demand a copy of the program.

    It just feels wrong to me to force someone to give you a program just because that program started life as your idea. The programmer just has to allow the users the same freedoms that he exercized in making his modifications. I suppose the distinction to me is between sharing and demanding. I think it's fair that someone who has benefited from other people sharing give his users that same freedoms he enjoyed. I don't think it's fair for someone to say, "You used my code as a basis for your program, and you gave the users of your program the same freedoms I gave you, but you didn't give my a copy of your program, so I'm going to make you give me one."

    I know this is a horribly muddled argument. If anyone has a more concrete argument (either for or against), feel free to post. I do applaud Troll Tech. This is definitely a step in the direction of freedom



    --Phil (I bet you're not surprised that I'm sticking with GNOME.)
    (Actually, I'm using just using GNOME until GnuStep is useable.)
  • You do NOT need to distribute modifications as patches (that was the old licence).

    No, it's in the new license, too. Section 3:

    3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches.
    The modifications must be separate from the original work. This makes it really cumbersome for someone other than the original author to distribute massively modified versions of the software.

    --Phil (Unless someone can come up with a "form that is separate from the Software" that makes forking easy.)


  • True, and it's also the KDE crowd who's pretty much behind all the RedHat bashing we've been seeing.
  • C++ worked to fix many of C's shortcomings. As a result, it became a very complicated language.

    If you want maximum flexibility in terms of design choices AND ways to increase your code's reliability, C++ is the sanest choice.

    If flexibility is less important than reliability & maintainability, something like Python or Java would suffice.

    Before you flame something like C++ as "flashy like Win95", please understand its context in this world.
  • quick comment....

    Roberto, please keep it up. There is a definite need for a (relatively) objective "voice of reason" here.

    Looking at this interchange between you and mill, I see the quinessential problem with this whole KDE vs. GNOME issue: there's very little left to flame about anymore, and that pisses off the cynics a lot.... so things just get louder & a lot more silly.

    GNOME vs. KDE began with who's ideology is right. Some people in the community (for some reason) *LOVE* confrontation and joined this fight.

    Once the ideology became irrelevant (QPL), the flamers had to find a new bone to pick. So they attacked KDE's technology as 'inferior' (though this had always been a periphery argument in favour of Gnome) without ever giving details why (except the ridiculous "C++ sucks use C" argument).

    KDE's backers (on Slashdot, not the actual mailing lists) of course are just as guilty of leveling retarded flames at the GNOME community. Calling GNOME vapourware is silly.....Gnome isn't vapourware - it's just immature.

    Unfortunately, in a technical community, despite all claims of ideology, the bottom line is always about RESULTS. "SHOW ME THE CODE" is our mantra, as it should be.

    With the 1.0 releases out, KDE has shown its code. Gnome has shown its code.

    And it's *QUITE* clear to all but someone with a severe case of myopia that GNOME is not up to snuff with KDE in terms of quality.


    That's pissed a lot of GNOME-believers off. Reading the 1000+ comments in the GNOME 1.0 Released article, I think GNOME's much-lofted "momentum in the community" took a big hit because of its lack of quality, and the immaturity of its defenders. "KDE is Irrelevant- you can not stop the GNOME JiHAD!" Puh-leeze. I thought this communnity was about diversity.

    I'm not saying that GNOME *some day* might be better, but right now its not, and there's really nothing to flame about anymore, (except for outright FUD and bullshitting.)

    So, over the next while, as more heat than light is generated in this war, please keep doing what you're doing. The real engineers appreciate the voice of reason.
  • The QPL actively discourages development of proprietary and shareware software (you have to pay if you want to develop proprietary apps derived from QPL'ed code). From a free software philosophical standpoint, there can be no question that QPL is better than LGPL as a license for libraries. Unfortunately, Gnome still uses LGPL.

    QPL may even be better than GPL! Read section 6c carefully. People have to disclose in-house software which uses QPL'ed software. This is just beautiful. I have always hated the fact that people can take a GPL'ed app, improve it in-house, use the improvement internally and never return the patches back to the community.

    Of course, the QPL is somewhat weaker than the GPL in that it is not as virulent: you may write patches to QPL'ed works and license those patches under any license you choose, unless you distribute binaries.

    The fact that modifications can only be distributed as patches or in binary form is only a minor problem IMHO. If you look at the Linux kernel for example, you'll see that all modification with each new version are always distributed as patches as well.

    I have two little technical objection though:

    • 4 b) and 6 a) and b) talk about "machine-readable source code". This is considerably weaker than the GPL, since it allows for obfuscated source code. The GPL demands "preferred form of the work for making modifications to it", which is a very good definition and excludes obfuscation.
    • 6 only applies to items which are "distributed", but 6 c) talks about items "not available to the general public". It is not clear what exactly "distributed" means here. I think it should only apply to 6 a) and 6 b), but not to 6 c).
    Thanks for a job well done, Trolls!

    --

  • Do a search for GNOME or Redhat in kde-list and you will see.

    /mill
  • Like when Mattias Ettrich said Raster was polluting the namespace with the GNOME WM hints.

    Or when Kalle Dalheimer keep calling GNOME vaporware.

    Or the numerous times KDE list subscribers call GNOME developers zealots, fanatics or whatever.

    In short. There are far more potshots taken by "KDE people" (I saw the term "GNOME people" here earlier so I guess this is the appropriate term) than by "GNOME people".

    I wouldn't trust a journalist to tell the truth anyway. To lie and skew reality is part of the job description.

    Btw, Miguel expressed these "concerns" when he started GNOME. I guess it could be the KOM/OpenParts stuff he is referring to. I think he and Torben Weis have a different opinion how it should be done. I think the idea to GNOME (or to a desktop environment more likely) came out of a project where Miguel and Federico was implementing something ActiveX like on *nix, but i may be wrong. So how the object model should be implemented is probably kinda fundamental.

    /mill
  • Umm, and how are you supposed to make a feature rich desktop that works great on both a low-end and a high-end machine?

    IIRC GNOME's default to be setup for a low-memory box, but if you have the hardware you can tweak imlib to cache everything and then you get the speed-up.

    /mill
  • Is /proc even available on all unices?

    The config tool is GUI based.

    /mill
  • I wasn't the one whining about FUD. Your 'KDE backers' are. You are no better than the "GNOME people".

    Btw, gnome-list have been wonderfully free from any flaming and bashing. Take a look at the kde mailing lists and say the same.

    Raster was joking. I couldn't care less what Bruce Perens says or thinks. I suggest you send a mail to Miguel ask him what shortcomings he is talking about.

    Well I like roses, but it seems you are awfully afraid of GNOME and how they are getting mainstream press. Heck, even whining about how unfair you are treated. Well I think it correlate to how arrogant your representatives are. I wish you good luck in your crusade against NT (after all you are preventing *nix to die on the desktop).

    /mill - going back to play with guile-gtk and perl-gtk
  • I don't think you care what I think you are entitled to. You will throw mud anyway. "Vaporware" is a common way to start it seems.

    Hmm, you can't be held responsible for the words of others but GNOME developers should be held responsible for what Bruce Perens (the "GNOME backer") says. I see.

    Well I don't know Miguel's reasons (I don't even know him) so your attempts to get an explanation from him is as good as mine. What did he say when you asked him though? Did he just ignore you?

    I don't use either KDE or GNOME. WindowMaker is all I have. If you had cared about license issues in the first place there would have been no GNOME - correct. Linux ran on my desktop before KDE or GNOME started too. Guess I didn't need either to use *nix on the desktop.

    Rare my ass. You are in denial. Do a search for GNOME, Redhat or GIMP on kde-list and tell me that again with a straight face.

    On gnome-list whenever there have been any attempts to take shots at KDE or their developers (has happened at times) they have been told to take it elsewhere.

    /mill
  • "For a more complete explanation of one participant's attitude on this" and then the URLs follows.

    Well I am out. I won't waste more time on this thread.

    /mill
  • It seems slow. The menu icons are very nice, but the menus seem to take quite a bit longer to appear than the KDE menus.

    That's because Gnome deallocates and discards menus periodically to save memory. There's an option somewhere to turn that off. (panel properties, methinks)

    I'm not going to comment on RPM. I've been installing from CVS but I may switch to debs when someone packages 1.0...either way the library problems aren't there.

    Daniel
  • You could as well use GtkV, a port of the V toolkit, whose author uses to teach C++ programming, and is supposedly extremely easy to use. I saw an announcement for it on Freshmeat today, so go check it out.
  • Now STFU.

    Quoting from http://www.labs.redhat.com/news-1q98.shtml, news dated January 12 1998:

    -------------------------
    Lots of discussion about CORBA going on. This is important to resolve, as it core to the Gnome environment. Apparently its down to ILU, OmniORB, or Mico. All have strengths and weaknesses. For the record, KDE is already using Mico successfully.
    --------------------------

    Now be a man and apologize... oh, well.
  • Go look at koffice. Look at Kom. Look at OpenParts.

    Now tell me where I can get a working, documented version of Baboon. Hell, tell me where I can get a sane *description* of Baboon that's not a link to MS docs.
  • I mean, I supposed we were in this for technical superiority and fun. And now I have to care about this crap?

    BTW: I know about baboon because, well, I know about lots of things I shouldn't waste valuable brain space on ;-)
  • Kom is used quite widely now, and on the next
    KDE version every one will use it.

    If publicity stunts is all it takes, I'll do it
    myself. But, as I said, that would suck.

    What's the point of "winning" if you need to become such a waste in the process?
  • I won't say GNOME is buggy, I haven't used 1.0.

    Now, go and look at the 1000 posts in the GNOME announcement, read the GNOME list archives, and make your own decision.
  • A styled text display widget is basic for a modern desktop.
  • --------
    This is a license for code they haven't generally released yet. They haven't actually released a product and they've announced the license!
    --------

    Specificaly the part about how the current snapshots are RELEASED under THIS LICENSE.

    Apologies?
  • -------
    Stop using shadow effects for window button icons.
    They are hard to see and stupid looking.
    -------

    I don't know what you mean. The buttons in the titlebar? Those are just pixmaps, you can change them. I use the ones from the MAC KDE theme, which are sober yet pretty.

    ---------
    Don't put useless crap in the middle of the
    scroll bar thumb. I see a hole (what for?) in
    one image and a MacOS thingy in the other. Eew.
    ---------

    The hole is a NeXT thingie. It is trying to look like NeXT so it makes sense. The code to disable that is about 20 lines, if you feel so inclined.

    ---------
    Gradients do not belong anywhere. Don't put them
    accross button faces. Don't put them accross
    title bars. Think! You just made one side hard
    to read and you fucked up the subtle 3d effect.
    ---------

    I like to use *some* gradients just to make things look pretty, but that's personal taste. Gradients on titlebars can be easily disabled in KDE's control center.

    ---------
    Motif drop-down combo boxes are confusing and
    they look like shit. Gtk and Qt both copy this?
    Pardon me while I puke...
    ---------

    In Motif style, it makes lots of sense to do them that way! If you prefer the 95 style comboboxes, that is, of course, also available.
  • Lately they seem to believe the LGPL is only good as bait.
  • Let me know where you get free Motif.

    And where you get all those nifty VBX and OCX for
    free.

    And where you get libgtop, libreadline, libgdbm for free to use on your commercial, proprietary application.

    And where you get Zinc for free. Or Galaxy.
  • 1) ILU is not a component object model.

    ILU is an ORB (as in CORBA).

    2) GNOME doesn't use ILU

    The GNOME ORB of choice is ORBit. Another thing they decided to unnecesarily (IMHO) implement from scratch.

    3) GNOME doesn't have a component object model yet

    Whatever that buzzword chunk is supposed to mean, except in their name. They have a *project* for a object model called BABOON, which is not actually implemented yet.

    4) KOM/Openparts is the same as ILU

    No, KOM/OpenParts is about the same as Baboon. Or rather, it will be in some time when Baboon reaches some state of usability. On the other hand, KOM/Openparts has existed and been in use for about a year. Descriptions of it have been published on some of the finest computer magazines in the world (c't or iX?)

    5) ILU is a standard

    No, ILU is just a implementation (and a rather excentric one!) of a *part* of the CORBA standard.

    6) The other guy was criticizing GNOME for using a standard instead of the think KDE made up

    GNOME's Baboon is no standard. It is (will be) at most based, or "inspired" on Microsoft's OLE. It is (will be) imlemented on top of a standard, which is CORBA.

    KDE's KOM/Openparts is not based on OLE, and is implemented on top of the same standard.

    KOM/OP exists, is toolkit independent, and works.

    And an answer to your final question:

    "Why doesn't KDE support Gnome's object model?"

    What object model?????
  • Or Raster saying it was time to "crush KDE"?

    Or some other GNOME person I don't remember saying in a magazine that "if you wanted to defeat germany you need to bomb Berlin"?

    Or Bruce Perens (big GNOME backer) saying in a magazine that KDE was "disgusting"?

    Or Miguel, every time he can saying KDE has "technical shortcomings" and "design issues" and that "KOM is a hack" or that "we won't use KOM/OP because we want to do it right" and NEVER, not even ONCE saying what the fuck is he talking about specifically?

    Or like Miguel trolling #kde asking every one to help GNOME because KDE was "evil" and "doomed"? For two weeks???

    Or the GNOME guys saying all the time "we are catching up, KDE had a huge lead"? Wake up and smell the roses, we had a 8 month lead, and we delivered 1.0 a year earlier, and it was solid. The gap is getting wider.

    Besides, mailing lists is one thing, magazines and press releases are another.
  • Ok, I'm pissed.

    Want to see the first ever FUD attempt in this?
    Look at the first ever mention of GNOME, the GNOME announcement. There you will find the "KDE forces you to use one WM" and the "KDE has technical issues" crap. So, I assume you now believe I am entitled to throw mud at GNOME?

    I have asked Miguel a dozen times to give details on what he means by "technical troubles" and whatever, as have many others, to no response.

    There is no such thing as "my KDE backers", I am just a programmer trying to do what I can. I can't be held responsable by the words or actions of others, wether they are related to KDE or not, as can't other KDE people. Noone here can give orders to others, specially me. Finally, I claim not be better than anyone, I have my share of badness.

    "Raster was joking"? Well, fuck off. Oops, that was a joke.

    "Afraid"? Sure. I am afraid that what was once a rather nice place to be around, the "free software community" is coming to be just the same swamp the commercial software world is, ruled by marketeers and liers.

    And as for whining about unfair treatment: if I feel I am being treated unfairly, you bet your butt I am going to try to do something about it. If people try to push competing products based on lies, half truths, and digs at things I am involved with, you bet I am going to talk about it. It's my fucking right, and I plan on exercising it.

    As for the death of UNIX on the desktop, mill, if it wasn't for KDE there would be no GNOME, and you would have no fucking unix on the desktop.

    Finally: I am subscribed to all the kde mailing lists, and it's very rare that GNOME is even mentioned, much less flamed. There is an exception in the last few days because of Miguel's stupid attacks on us. Our reply? We put their fucking announcement on our news page.
  • ------
    "You will throw mud" "Vaporware is a good way to start"
    ------

    Go and bring me one quote of me saying something false about GNOME. As for Vaporware, put it in context. Lots of things in GNOME *are* vapor.

    What's GNOME supposed to be? "Network Object Model Environment"??? Where can I download a network object model environment? THE NAME ITSELF IS VAPOR.

    -----
    Hmm, you can't be held responsible for the words of others but GNOME developers should be
    held responsible for what Bruce Perens (the "GNOME backer") says. I see.
    -----

    Where did I say that? I say Bruce, a GNOME backer, should be held responsable for what he said, Raster should be held responsable gor what he said, Miguel should be, the FAQ maintainer should be for what he puts in the FAQ, you should for what you say, and I should for what I say.

    Once everyone eats his piece of the pie, let's see who's fatter.

    -----
    Rare my ass. You are in denial. Do a search for GNOME, Redhat or GIMP on kde-list and tell
    me that again with a straight face.
    -----

    I don't need to, I was there. Go do a search for KDE in the GIMP list for all Icare, since the thread was crossposted to both lists.

    Are you gonna whine to the GIMP people now?
  • what more do you want?
  • Is GNOME as buggy as KDE is ugly?

    Just asking...

  • Wow, what an egregious spelling error. I can understand "alot", but "allot"?!?!? And you even misspelled "immaculate"!

    Maybe you should spend less time compiling kernels and more time in school?

    --
    Timur Tabi
    Remove "nospam_" from email address
  • Now all those stupid sloppy fsckers who've been wanking non-stop about license issues can come down off their high Stallman horse and use a DE that actually WORKS.

    Been doing that for months now. It's called Gnome, and it works, at least in my experience, better than KDE.

    I'm not, however, going to say that KDE sucks. KWM, now, that's another matter; KWM is bar none the worst WM I've ever seen (and I even include TWM in there), and it's the only reason I (and probably most people who don't know just how badly KWM messes up the rest of the desktop environment and blame it on something else) don't like KDE. It's almost entirely because of KWM that KDE is so slow, ugly, and unstable; I know this because as soon as I put a different windowmanager in there all of these issues disappear (or can be worked around) and KDE becomes pretty decent (not to mention fast). The only problem remaining is that KDE uses embarrasingly huge amounts of resources, but as the code opens up more I'm sure we'll see the bloat getting trimmed.

    My point: KDE doesn't suck, even though Gnome rules the roost. I do wish the two would make a bit more effort at bring cross-compatible (perhaps something beyond drag&drop for a change); everyone would be happy then.
  • by Fandango ( 2618 )
    Actually, you're wrong. Even if you *do* pick a language which supports subclassing (such as Python), you still can't extend your C++ application if you've used SWIG wrappers.

    In order for SWIG to handle this case, it would need to create a C++ subclass which overrode *all* of the virtual functions and then checked every time one was called to see if your script had overridden it. It would certainly be possible to add this support to SWIG, but it's going to involve some significant run-time performance penalties, and AFAIK, nobody has done it yet.

    Too bad, because it would be nice if one could use SWIG to extend something like BeOS (or KDE) to let you write full-fledged GUI apps using SWIG bindings. I looked into that back in late '97, but due to the subclassing problem, gave up on it.

    -Jake
  • For Python at least, the GTk/GNOME bindings [uml.edu] are actively maintained by James Henstridge, and the mailing list for them is fairly busy (about 10-20 posts a day, most discussion being about the design of the bindings).

    I'm not familiar with the status of the Python/Qt bindings [demon.co.uk] or their quality, though, with the QPL finally looking like a usable licence, I probably should.

  • If the wound does not heal within a fortnight have a medical doctor examine it.

    Leprosy is no joke.

  • Obviously, Gnome people give their rats asses. If you aren't only using their product, you're Satan.

    I Agree.

    Folks ought to take a little perspective on this issue. For example, if you're against the QPL, how can you support Sun JAVA and Netscape MGL licenses? Is the QPL worse than Sun's new "community License" for Solaris? Do you hate Sun with the same ferver?

    Well, I take it in stride, even though I prefer free in the same sense rms prefers free. But what the hell, not everyone else agrees. Some people want to make money with their code, and the laws says this is their right. For Troll Tech to release their source code at all was a significant move for a private corporation. It allowed its users to scrutinize QT as a product totally, unlike how most other proprietary APIs were closed internally.

    So I think all these self righteous verbal assaults against Troll Tech's previous and current licenses are misguided. They are truely one step above the likes of Microsoft, Oracle, and the other huge proprietary software vendors. And like Sun and Netscape, Troll Tech asserts some proprietary rights, but they still give out the source.

    I use KDE because it's worked better over the last year than CDE (that horribly bug ridden product from the "Open" Group). Well, I like that integrated desktop stuff. So I'm downloading GNOME-1.0 right now and will use it for a good test run. I hope for smooth sailing ahead and a realistic impression of how I want to use this software down the road.

    What I really want to see soon is both systems running together. I hope the KDE and GNOME developers agree on API standards so GNOME and KDE systems integrate better in the future. We should have both, and the developers should work together - without animosity. What drives these flames?
  • Indeed, GUI programming is (in my opinion) one of the places where OOP provides the most benefit. By the way, my experience was that until I really understood OOP my c++/java code was just "C code in disguise as c++/java" - the book that really turned the corner for me was "Design Patterns - Elements of Reusable Object-Oriented Software". I readily admit that both c++ and java have their drawbacks as languages but OOP itself is wonderful, as much a step forward as was structured programming. If you haven't read that book I urge you to give it a try, it is absolutely in the top 5 programming books I have ever read.
  • by matty ( 3385 )
    lay-mer
  • I don't like the license.

    Now that that's been said, you can pay Troll Tech for the commercial licence for QT and then you don't have to distribute or reveal the source.

    I don't think there is anything preventing commercial QT licences from movign from their flat $1299USD rate to any figure they desire.

    Troll Tech is using the free software model to popularize their libraries, and they are cashing in on commercial software. It is perfectly valid, and they are quite honest about it. I emailed them on that subject. I don't have to like it though.

  • There's GNUstep, which has been around LONG before KDE or Gnome were even started, and I'm sure there's others. Just because people only know about KDE and Gnome doesn't make them the only two.

    Additionally, GNUstep is much nicer than both KDE and Gnome because it doesn't tie applications to the window manager; instead, it is a set of protocols programs can use to talk to each other (and Windowmaker, the testbed WM, just happens to be one of those programs).
    ---
  • Not long ago I would have loudly agreed with you, but I have come to beleive that GTK's OO hierarchy in C was actually a very wise thing to do. I have been working on a very large software application that needs multiple language bindings and must run on a diverse number of machines. The application has grown quite large, but I fear I must transition it from C++ to C.

    In particular, writing bindings to non-OO scripting languages has been very difficult and because I used all sorts of function and operator overloading the bindings don't "parallel" each other very well. Writing foreign language bindings to c code is pretty standard for any scripting language, it's rare that any scripting language has any particular support for c++ features in their binding system (i.e. creating new c++ classes in other languages).

    I designed my application so that a c++ class could be dynamically added as a plugin, but this is really bad if you hope to have non-c++ plugins. The Gimp procedural database is a much better approach IMHO.

    I also find that c++ compilers vary widely on the implementation of ISO c++ features. Thus portability was VERY difficult for me. To get my application to run on the target systems, I basically had to get rid of all templates and use very vanilla classes. Writing c++ code was great until I had to move it to another machine with a different c++ compiler. I would then spend about as much time redesigning it to work on the new machines as I did on the original. Plain vanilla C has been much kinder to me than C++ in this regard.

    I do agree that there is a definite anti-c++ bent in the free software community, and I don't intend to be encouraging it, but my personal beleif is that core libraries should be written in c. This makes it easier for people writing "end user" applications of less utilitary scope to take advantage of the code base no matter what language they prefer to write their applications in.

    I truly sympathize with wanting to be able to use c++ features that were DESIGNED to do what you must implement in c, but if the code can be used by more people with more languages on more systems it is more useful if it is written in a less elegant form. As languages go, c is the common denominator.

  • SWIG is a good tool, and it will help you use classes and methods written in c++, but a lot of c++'s functionality comes through inheritance. If you would like to "subclass" a c++ class in order to extend the application you must do so in c++. Many libraries provide classes that must be subclassed even to be useful, SWIG really can't help you here.

    The best you could do would be to write a subclass in c++ that does what you want and then bind that with SWIG. But my point is you still haven't provided the user of your SWIG bindings with the same functionality that is only available when you can subclass something. If the very method of extending your application is through subclassing, then SWIG bindings wont allow the target language to extend your library / application.

  • If you design your application/system to be extended through subclassing and then pick a language that does not support that particular OO feature, well, you've made a mistake in design.

    I agree. And so for core libraries that you would like to be functional and useful for everyone you logically don't want to use any OO feature specific to the language the library is written in. This is what I was referring to when I said c was the least common denominator. (not that you nust use c)

    It all comes down to good design, not picking the lowest common denominator language.

    This is true, but I don't presume to know exactly how something I write will be used, and thus can't plan to add or remove certain OO features. Thus if you limit your scope to certain bindings that you feel are useful, you have written Good [TM] code. If someone else comes along wanting to put this library into a different binding or context, they might not agree it was so good. I am not saying ALL libraries should not require certain OO specific language features. Just libraries that you want everyone to be able to use and be more or less language neutral. It is possible to use OO principles without using OO specific language features in the interface.

  • Well, yes. If you have programs compiled against 12 different versions of GTK, then you need 12 different GTK libraries. If you're unhappy with that, stick with Slink (which has only 1.0 & 1.1.3) or wait until everything's recompiled against 1.2. Don't trash Potato for being alpha.
  • Do realize that RMS doesn't buy that argument. If you try to write programs with QT and GPL-ed FSF'owned code, you may be in for a lawsuit, or at least many complaints, no matter what distribution you run.
  • They work for me! Maybe you screwed something up, but dpkg -i *.deb in the directory I downloaded it from worked..
  • by edgy ( 5399 )
    that was a bit premature, it was going then.. but if you simply add gnome-session and gnome-terminal and a few other big packages and carefully keep adding dependencies as thye're needed, it does work. I have it runnon my machine right now.
  • The QPL is significantly more liberal than the GPL by allowing relicencing of modifications by the original author (in this case Troll Tech), but there are also some restrictions, mainly the "patch-clause" (not a big issue, since this is already supported by the packet formats of the distributions) and the obligation to submit modifications to the original author when asked (no closed in-house versions).
  • I was heavily impressed by the KDE desktop, which I had avoided for so long.

    Much of the flaming in the free software world is totally unwarranted -- unfortunately, the intense and negative response to GNOME's 1.0 release was warranted. I hope that they got a heavy dose of our much-touted "peer review" as a development aide.

    However, I still use GNOME, and I still believe it is a good idea. Just not useful in its current form. I plan to develop for it for a variety of reasons, however, we really ought to think about merging these two desktop environments into a cohesive unit. How cool would it be not to need GMC to work, because KFM already does? Drag-n-drop between Java, GNOME apps, KDE apps, Motif apps... and choice between all of them not just between desktop environments, but for each individual app!!

    I'm pretty happy with the state of things as they are, but I'd like to see more.

    As The Honorable Mr. Torvalds said, now we can stop the political discussion about KDE and just concentrate on getting code to work. GNOME has a number of cool features (especially in their libraries) and KDE has the distinct advantage of being able to just install and work instantly, in the here-and-now. I can replace windows completely with a copy of WordPerfect, WINE, and KDE. For the more adventurous, I add GNOME's panel in, and a couple of gtk apps.

    Congrats to everyone who contributed to both efforts!! A pox on the house of whoever's brain-dead idea it was to release GNOME before it was ready, but most of the developers have been doing good work.

    I hope that everybody tries to work together more in the future.
  • Maybe the GNOME thread had so many posts because it was left in a prominent position for maybe 20 hours?
  • Hmm, you can't be held responsible for the words of others but GNOME developers should be held responsible for what Bruce Perens (the "GNOME backer") says. I see.

    In this case, Miguel (GNOME Developer) is in complete agreement with everything Bruce had to say in that particular piece. He said as much and has defended Bruce's article.

    Note however, that since the QPL, Bruce has offered a "peace offering" to the KDE developers and seems to have done good on his word.
  • OH mill, I almost forgot. It seems the rest of the GNOME developers are in complete agreement with the Bruce piece as well. Why don't you check the GNOME FAQ? (right after the place where they say the GNOME people like the KDE people)

  • KDE's icons didn't really look that great until beta4 or 1.0. After that they looked really sharp. Gnome could do with using those although there is a size difference. I agree about the huge controls. The icons could do with being 2/3 - 1/2 the size. Icon and panel size needs to be configurable.

    -Steve
  • Umm, and how are you supposed to make a feature rich desktop that works great on both a low-end and a high-end machine?

    Look at /proc/cpuinfo and the size of /proc/kmem at startup and decide which set of code to use and how large your caches should be?

    Have a nice GUI-based program where you can pull out bars to set the resource allocations?

    Just two ideas ...
  • I've been using Linux for about a year now. KDE and SuSE Linux are what kept me hanging in until I could figure out trickier things, like GNOME, WindowMaker etc.

    I think that KDE is a fantastic product that is rock solid, and has always been a good performer on any of my many machines. True, it's a little slow starting up, but it never dies giving up core dumps like they are goin out of style.

    presently, I have two Linux machines. A Celery 416 with 64MB RAM and KDE 1.1 as well as a Celery 430 running GNOME 1.0 with 128MB RAM. In most other respects they are identicle. I have run KDE on everything from a 486 to my present systems.

    Both systems are running kernel 2.2.1 with RH5.2, both are extremely quick. Having said all that, I have yet to have a 30min interval where GNOME/GMC etc doesn't core dump. It's really horrible.

    I like GNOME, but KDE is simply more usable today. It seems obvious that GNOME was rushed so that redhat could release 6.0, and that's too bad. Maybe I'll just have to try to find Mandrake...

    GNOME does seem to be a bit of a one distribution show.


    Ben
  • Correct me if I'm wrong, but isn't there a QT/KDE port of Mozilla as well? I seem to remember hearing about QTMozilla, where they took 500,000 of Mozilla code and squished it down to 50,000 of QT.

    As a matter of fact, I downloaded a demo of it for both Linux and NT in the summer.
  • Read the license. It allows distribution of modified versions in their entirity. It also allows distributions of just patches, if that's your thing.

    My god, there's nothing about assigning copyright, larger works, integration by TT into commercial versions (though that probably does become implied, as they still own copyright to the whole).

    Besides, open source simply means source for all for free. What you're allowed to do with it doesn't seem to be covered under the definition. Free software is a much larger superset of open source. Still, I defy anyone to show me how this is not free software.
  • Read the license. It allows distribution of modified versions in their entirety. It also allows distributions of just patches, if that's your thing.

    Besides, open source simply means source for all for free. What you're allowed to do with it doesn't seem to be covered under the definition. Free software is a much larger superset of open source. Still, I defy anyone to show me how this license is not free software. Even the original author of a GPL'd work can turn around and sell his original work under another license. This has an MPL-ish clause that guarantees inclusion of accepted patches in the free version as well as commercial Die hard communists (I don't mean that as an insult in this sense) might object to TT ever making a profit off someone else's work, but the fact remains that you would have given it away anyhow.
  • So it has no production code but it has mindshare. This is the primary characteristic of vaporware, dude... Whether or not it is vaporware doesn't change that that is a vaporware attitude. I urge you to adopt a more constructive attitude.
  • Take it from someone who has to use CDE: KDE is damn beautiful in comparison. Besides, I always thought it looked a little OS/2-ish.

    I really hope they've stopped ripping off Be's icons though.
  • posters that is. ohman why'd they have to be called troll tech...
  • And the next section allows distribution in whole. Try reading the WHOLE thing, legal documents are notoriously holistic.
  • > Furthermore, it's a horribly arrogant license, since you are not allowed to distribute modifications except as patches,

    Come back when you've read section 4
  • > Yeah. I noticed. Sorry! Should have checked my facts before I spouted off such nonsense.

    Hey watch it buddy, keep that sort of thing up and you'll start a trend and the world as we know it will end.
  • You're perfectly free to use it if you charge others. You just have to swallow your own medicine and pay for it.

  • 1) QPL allows you to only distribute changes in the form of patches. GPL is somewhat more practical as you can distribute the whole changed enchillada.


    Read section 4 and tell me which big words you don't understand.

    Am I being annoying yet by pointing this out every time someone posts this inaccuracy? Maybe I won't have to repeat it even ONCE when the next article about Qt comes out.

  • Installing all 31,000 flavors of everything seems to be debian's thing, and it's why so many people hate dpkg. c'mon debian, can we see a "debian-lite"? Even windows has an unattended minimal install now.
  • For the same reason that Wine needs to break into the mainstream. The IETF knows this very well, and it is one of their rules that to for an RFC to become a STD, it must have two independent interoperable implementations of the standard. Otherwise you really don't have a standard.
  • | This license is governed by the Laws of Norway. Disputes shall be settled by Oslo City Court.

    Check if Norway has an official language statute. If it does, the license holds ... in Norweigan.

  • Well, for one thing, I don't think the QPL is as good as the GPL. The QPL still has that patch clause in it, and I don't like that.


    At least this time I don't feel like I'm saying the same thing to the same AC over and over. The patch language is section 3. The modified whole may be distributed per section 4. The patch language is now superfluous at best.
  • Read section 4.

    Make me shut up by reading it and not posting this correction over and over and over (while 1 "and over")
  • IANAL, but after careful reading of the QPL, here is my interpretation of it. Mind you, I'm not infalible by any means (and I'm sure I'll get corrections if my mistakes), but this is meant as a rough "layperson" interpretation of the QPL. (note when I say "FreeQT" I'm referring to the code from Troll, plus any mods covered by this license.)

    1. You are granted the non-exclusive rights set forth in this license provided you agree to and comply with any and all conditions in this license. Whole or partial distribution of the Software, or software items that link with the Software, in any form signifies acceptance of this license.

    If you use our software or any software derived from it, you have to agree to this license. Using it implies acceptance. Everyone can use this software.

    2. You may copy and distribute the Software in unmodified form provided that the entire package, including - but not restricted to - copyright, trademark notices and disclaimers, as released by the initial developer of the Software, is distributed.

    You must distribute the package as a whole - you may not remove any component.

    3. You may make modifications to the Software and distribute your modifications, in a form that is separate from the Software, such as patches. The following restrictions apply to modifications:

    You can modify our software; however, when you give it to others, you have to distribute the unmodified version (as per #2), with your mods in a seperate form. patch(1) is a typical form, though not the only one. Also, when distributing your mods with the original, you must follow these rules:

    a. Modifications must not alter or remove any copyright notices in the Software.

    Your mods can't remove the creator's IP notices. Fair is fair - you must recognize other's contributions to the work.

    b. When modifications to the Software are released under this license, a non-exclusive royalty-free right is granted to the initial developer of the Software to distribute your modification in future versions of the Software provided such versions remain available under these terms in addition to any other license(s) of the initial developer.

    You give Troll Tech the right to include your mods in a future version of the FreeQT (with no payment to you), provided that the future version of FreeQT is distributed with terms similar to this license. That is, your code may become part of FreeQT. It is not clear if they have to acknowledge your contribution in any way (though I would hope they do).

    4. You may distribute machine-executable forms of the Software or machine-executable forms of modified versions of the Software, provided that you meet these restrictions:

    You can distribute compiled versions of FreeQT, or a compiled version of your mods+FreeQT. That is, you can compile their software to a library, or patch their software, then compile it. The resulting binary must follow these rules for distribution:

    a. You must include this license document in the distribution.

    The QPL must come in the same package that you distribute the compiled binaries in.

    b. You must ensure that all recipients of the machine-executable forms are also able to receive the complete machine-readable source code to the distributed Software, including all modifications, without any charge beyond the costs of data transfer, and place prominent notices in the distribution explaining this.

    You must give away the source code to both the original FreeQT code and the modifications you made. You must tell people that you are doing so in an obvious place (eg. the README or LICENSE file). You can charge a reasonable sum to cover distribution for the source, and no more.

    c. You must ensure that all modifications included in the machine-executable forms are available under the terms of this license.

    The QPL is "infectious" in a manner similar (but not identical) to the GPL. Any modifications you make are automatically covered under the QPL. It is not clear if this allows the code to be GPLed (I think not, but this is another matter).

    5. You may use the original or modified versions of the Software to compile, link and run application programs legally developed by you or by others.

    You can write programs that use the software (either in pristine or modified form). You can also compile programs written by others that require FreeQT (or a modified version). You can also run programs that require the FreeQT (or modified) binaries. Duuuuhh. :-)

    6. You may develop application programs, reusable components and other software items that link with the original or modified versions of the Software. These items, when distributed, are subject to the following requirements:

    You are allowed to write programs that use the software (or a modified version of it). When you distribute the resulting program, you have to follow these rules: (note, that if you don't distribute the program, A and B do not apply).

    a. You must ensure that all recipients of machine-executable forms of these items are also able to receive and use the complete machine-readable source code to the items without any charge beyond the costs of data transfer.

    You have to give away the source code to any application you write that uses the software. You can charge a small distribution fee, but that's it. Anyone who gets the binaries of your program must also either be given the source code or must be provided a way to easily get them for no more than a nominal distributuion fee.

    b. You must explicitly license all recipients of your items to use and re-distribute original and modified versions of the items in both machine-executable and source code forms. The recipients must be able to do so without any charges whatsoever, and they must be able to re-distribute to anyone they choose.

    Any programs you write that use FreeQT must be freely distributable, in both source and binary form. That is, once a recipient has either the binary or source of your program, they can give it away to anyone, and you cannot charge them anything for doing so. They may modify your source code and give both the mods and the new binary away, too. Also, this implies that the recipient can get the source code, compile it, and then give away the resulting binary.

    c. If the items are not available to the general public, and the initial developer of the Software requests a copy of the items, then you must supply one.

    If you choose not to distribute your application outside of your organization, or are only using it personally, you do not have to abide by clauses A and B. However, if Troll Tech finds out about your application, they can (at their option) force you to give them a copy. What is unclear is what Troll Tech can do with the copy. The implications are that TT must then release it as per A and B, but I'm not sure about that.

    Disclaimer, Warranty, etc...

    Standard "I'm not responsible for anything that happens when you use my code" legalese boilerplate. Ignore it - it's generally of questionable legality anyway (though everyone includes it, like some voodoo magic that will ward off lawsuits. Ha!)

    Note that my reading of the QPL does not preclude a app developer from selling his or her software (perhaps bundled with support or documentation). You are free to sell the binaries of applications that use FreeQT, but you have to give away the source.

    How the QPL plays with other licenses (BSD, NPL/MPL, GPL, LGPL) is beyond the scope of this post. Perhaps someone else will take on that job.

  • They won't give it to you for free. If you're not writing free software. You have to pay for it. If you decide to write for Windows, you have to pay for it. If you write stuff using Qt for KDE you have to make it open source. Where's your freedom now? With Gnome and GTK, you have the choice. If/When GTK gets ported to Windows. You won't have to pay a 1K license fee to write your software for Windows.

    Just one of the many reasons Gnome kicks ass!
  • .. when Windows Qt is QPL. I do not have 1K for the license, and I want Windows people to benefit from my code.
    Windows is not going away for a long time. Just like the Mac.

    Please God, give us a free cross-platform UI toolkit for C++. I promise I will be a good citizen then..
    And without preprocessor Qt hack preferrably..
    Though Qt clone will be good as well..
  • why not tell the developers or contribute to it rather than bash it ?

    I did. It was about reasonable postscript printing support for widgets. It killed the chance to use it for me.

    In any case the documentation is so bad at this point, it is hard to figure out what is possible to do and what's not.

  • Or they maybe if waiting for a developers like you to make it perfect

    Nah, not me, I just want to use it... :)

  • the same license for the Windows version? People around me do Windows. I hate MFC.

"The medium is the massage." -- Crazy Nigel

Working...