Qt Opens Source Code Repositories
sobral writes "Following the announcement of the LGPL license model, since yesterday the Qt source code repositories are open to the public together with their roadmap. The contribution model is online and will enable developers from the community to submit patches through a single click process, avoiding the previous hassle of sending in signed paperwork. The code is hosted at qt.gitorious.org and an instant benefit of this launch is that Qt Software has been working together with Gitorious maintainers for the last four months to improve Gitorious and all these new features are already submitted upstream."
Yes, QuickTime is definitely shitty but what does that have to do with Qt?
Ignoring the enormous benefits of a single codebase for Windows, Linux/BSD and Mac OSX of course. (Yes, people still make applications for desktops and notebooks .. not just netbooks, PDAs/smartphones)
I hope Gnome switches to Qt one day, its so much nicer than GTK.
You must be a bit behind the times as Qt no longer emulates a native look-and-feel but uses the native widgets of the platform.
> I'm at a loss for words.
The word you're looking for is 'too'.
Max.
I worked on the software for a Motorola unit that used Qt UI framework. What is interesting is that Moto moved away from Qt when one of their major competitors (Nokia) bought Trolltech (the company that makes Qt). Two years later they open source it, I don't quite get it...
Symbian is dead? Having 47% of smartphone sales worldwide in Q4 2008 means you're dead? Really?
You forget who owns Qt. Symbian is not really dying yet (come on, the biggest mobile phone manufacturer uses it in all its smartphones), if it were, it would mean that Qt were becoming more relevant as, you know, the day symbian dies is the day that nokia switches to linux (not the android kind).
Yes - because web frontends are the silver bullet that solves all of our client-side needs. In fact, why bother having general purpose computers out side of data centres? Instead we can have a global installation of five (for example) really big computers and we can access them using dumb internet terminals. Luckily the infinite bandwidth and uninterrupted global connectivity on offer, combined with the well enforced WWW standards means that even the most complex of GUIs can be provided via the browser. Why do we even bother with proper operating systems when everything man could need from a computer can be provided via a TCP/IP stack and XULRunner?
Oh wait, because even the best web based GUIs are primitive and unresponsive compared to a well designed, well implemented local interface. With Qt it's possible to create a native GUI that runs on all major desktop platform (and even Solaris) with less effort than it takes to get even a moderately complex web interface running correctly on IE, Firefox, Safari, Chrome and Opera.
Web interfaces are excellent for simple tasks like email and feed reading; they are terrible when deployed in more complex arenas. Even when you take in to account proprietary, binary only workarounds like Flash and Silverlight.
Too late for what? Too late for it to become adopted? Have you heard of the K desktop environment?
That horrible GNOME/GTK of yours drove Trolltech into relicensing Qt to GPL. Thus Qt, and even Linux, wouldn't even be close to where it is today without GNOME. Say what you want about Ubuntu, but it's a fact that FOSS (and in particular Linux) awareness has grown immensely due to its contributions, and I doubt Kubuntu is to thank for this. It's a question of flavor, and I like to have options. Both projects thrive from eachother and the constant "battles" drive devs to find out new creative ways in order to be "unique" and innovative. Sure there's an advantage to cooperation, but without competition there's no pressure.
I am the lawn!
Yeah sure...
>> Sales of Linux netbooks collapsed.
Proof? Sure lots of netbooks are Windows, but that doesn't mean sales of Linux models aren't increasing with the market segment.
>> Google is providing a standardized UI on top of Linux.
Incredibly immature project, and isn't even close to a competitor to Qt on anything but embedded.
>> Symbian is dead.
Well, there are millions of devices out there still with Symbian, but I agree it probably has little future.
>> Basically, there is very little need for a specialized UI toolkit like Qt
Qt is not a specialized UI toolkit. It is a general class library for C++ that happens to include UI classes.
>> now that there are both fewer platforms for it to run
Qt runs on more platforms now than ever before. I don't know what you're talking about. Symbian, WinCE, Windows 98 to 7, Linux (normal and embedded), and Mac (with Cocoa even). Name another platform that can do that.
>> and more mature competitors on the remaining platforms.
Like what? Each platform has their own thing, but unless you feel like implementing your interface 5 times, that's not really an option.
You should tell my customers that. I've never received a single complaint about look&feel on my Qt4 software in 4 years.
Is that from Men in Black?
Nerd rage is the funniest rage.
Qt offers quite a bit more than just an abstracted UI model. Being able to have a totally common codebase across a number of platforms for a given application (including lower-level network code, threading, non-UI graphics manipulation, file I/O, printing, etc.) is a great help.
The only thing holding me back from totally adopting Qt was the outrageous licensing cost, not anything lacking in the toolkit itself. With it having gone to LGPL now, that is no longer an issue.
Please stand clear of the doors, por favor mantenganse alejado de las puertas
Don't know why, but the phrase "Motif vs OpenLook," make me think of two retards wrestling in a vat of pudding.
Qt is not just a toolkit that replaces MFC, it's a whole set of libraries that can do much more (eg. containers, signals & slots, auto ptrs, sql relational mapping to objects, networkprotocols, and so on and on)
IMHO Qt is what Java promised to be, a truly platform independent development system. I love it, especially since they fully open-sourced it (before only on Unix platforms). And now with qtcreator, even the Visual Studio guys don't have an excuse anymore not to use it.
So, please don't say Qt is just a toolkit, it's much much more.
1) replace Qt memory management with TR1::shared_ptr (or boost).
2) replace Qt collections with STL collections.
3) replace Qt threads with boost::threads.
4) replace Qt signals and slots with boost::signals.
In other words, make Qt play nice with STL and boost, which are the foundations for developing C++ code these days.
You have to understand the "ABC is dying/dead" mentality.
It doesn't matter how much market share you have, only that your market share is decreasing and some smaller technology which they favor has an increasing market share.
IE is dying because Firefox use is increasing in the market and IE is declining.
Unix is dying because Linux is growing and Unix is not.
It doesn't matter that at the rate of decline it would take 20 or more years for whatever it is to die. Or that the decline may be arrested. Saying something is dying is usually misinformed or more likely spreading FUD to hasten the decline.
Old technology with 80% market share drops down to 79% marketshare and new cool technology jumps up from 2% to 3% market share and old technology is declared dying. Here's a perfect example.
Dual Opteron < $600
Maybe now that QT is LGPL, Mathworks will finally transition MATLAB on OS X out of X11 and make it behave like a proper OS X app. ...One can dream....
My company develops cross-platform applications for Windows, MAC and LInux in C++. Qt is one hell of a cross-platform UI toolkit.
Cool. How do I get Amarok and k3b to use GTK widgets on my computer?
Centralization breaks the internet.
Then let the better UI win. Will it be one that's Java-only, or one that can be used in its native C++ environment or with Python, Ruby, or even Java?
Even if it were true, and with about half of the smartphones in the world running Symbian I don't think it is, what has that to do with Qt?
Huh? There are more platforms than ever for Qt to run. Do you mean Microsoft isn't delivering operating systems anymore?
Android.
Since when was GTK+ a native graphics api? Oh wait, it's not. Qt uses Xlib on an X Windows System which is the native graphics API.
Unix is dying because Linux is growing and Unix is not.
Perhaps you should let Steve Jobs and Apple know about this.
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
Google is providing a standardized UI on top of Linux.
Remember how CDE was supposed to be the standardized UI on top of X?
Remember how successful it was?
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
Just to clarify :
Nokia acquired TrollTech.
Nokia then decided to license QT under the LGPL, it wasn't a decision made by TrollTech while they were still independent
Qt offers quite a bit more than just an abstracted UI model. Being able to have a totally common codebase across a number of platforms for a given application (including lower-level network code, threading, non-UI graphics manipulation, file I/O, printing, etc.) is a great help.
Not to mention an XML parser, localisation and Unicode support by default, a great scripting engine, MD5 and SHA1, and awesome documentation, while the whole API is built to encourage best practices.
About the only thing I'm missing is archive handling with QDir. Including bzip for a fully functional NMDC client is so last year :)
GP is talking about GPL. You're talking about LGPL. I'm not sure whether you think you're correcting GP or expanding on it. Could someone clarify in a way which leaves the situation clear?
qt 4.5 does have a gtk theme that uses gtk to draw the widgets. It allows me to continue using qt applications and have them match my desktop now that i no longer find kde usable as a desktop. The applications are still 1st rate.
Qt vs GTK: Who is going to capitulate to let the other win?
One thing is certain - it sure as hell won't be Qt.
It survived under QPL and GPL - it's basically unstoppable under LGPL (and relavite "financial independence" under the Nokia umbrella).
Save your wrists today - switch to Dvorak
Excuse me? I can run programs on my desk? This qt things sounds amazing!
I have left slashdot and am now on Soylent News. FUCK YOU DICE.
QT emulates the platform widgets, but uses the platform API (if it exists) to draw them, all event processing and widget behavior is done by QT, much like Java Swing do. previous QT version emulated the widget look too, but that was before even Windows APIs provided themes APIs (Windows XP)
I have to say, I'm glad of this trend lately for open source projects to primarily publish their source through Git, and particularly through these very able Git hosting sites like gitorious and github. If you've worked with CVS and SVN open-source projects most of your career, the experience is simply incomparable. With the way Git works, and particularly with the implementations the hosting companies provide, it's very easy to fork a project, make the changes you want, and always have the power to commit to a remote repository that not only keeps track of all your commits but ALSO how all your commits relate back to the original forked project...
Instead of downloading someone's tarball and (maybe) emailing them a diff (or just posting your own duplicate of their source with your little changes), it's like you're making a shadow copy of a projects source, where you have all the control but no information is duplicated or lost.
Don't blame me, I voted for Baltar.
It's dead as in the "doesn't originate in the USA" sense.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
GTK is a toolkit on the same semantic level Qt is. It's not a platform.
I wasn't aware that software could smell at all. Unless...
Oh Python, I love you...
If it's in you sig, it's in your post.
Android is an operating system, not a GUI.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Yeah sure...
>> Sales of Linux netbooks collapsed.
Proof? Sure lots of netbooks are Windows, but that doesn't mean sales of Linux models aren't increasing with the market segment.
Can't offer proof or even statistics - but I think the Linux netbook thing is basically over. For a while, going with Linux instead of Windows made a significant difference in the price of the machine - and Linux could do the "netbook" job (i.e. run a web browser, etc.) just fine.
But since people wanted Windows on these machines (particularly as their storage specs improved), Microsoft made licensing Windows for these low-end machines more reasonable... With some conditions, I think. (Among other things, everyone's wording of "____ recommends Microsoft Windows for everyday computing" seems rather consistent) It's more or less killed the incentive to make Linux netbooks, as the majority of users (whether or not you or I would feel the same) would rather have Windows on the machine.
Personally, I have Debian on my 901 and it's bliss. Not so much as a Windows logo on the keyboard, and the software works the way I expect.
Bow-ties are cool.
It does have a certain shitness to the look, for some reason, at least in KDE. I noticed a while back that a bug was fixed in KDE 4 that rendered stuff with too many borders -- so when a widget was inside another widget, or adjoining another widget, they would both render a border. Kind of hoped that would solve the vague cluttered/weird/awkward feel, but it's hard to tell, since KDE 4 went with the horrible Oxygen theme which could make any widget library look like crap. I suspect Qt itself can still look very nice though. I don't mind the look of Google Earth, for instance, and QtDesigner is quite nice in places at least, though simplistic, even WITH it's horrible KDE4-like colors etc.
That said, Qt is way more than than a widget look/theme. It's a very nice OO library for cross-platform GUI (and non-GUI) applications, with modern threading and event-driven programming support, etc. It's one of the few libraries that make me even consider using C++ these days, as opposed to nicer, more rapid languages like python++. I also think that, if GNOME had used a library of similar quality** and similar OO features, then the GNOME desktop, and Free Software in general, would probably be a lot more advanced at this stage.
++ Yes, I know PyQt is available
** Yes, I know that GNOME was a reponse to Qt's early licenses, and that Harmony didn't pan out
GTK+ is not horrible. The reasons people most often cite for it being horrible are in two categories:
The code is so convoluted.
That is because it is C and not C++ so it cannot take advantage of features of the language. There are times C (say you want to use it in a C program and do not want to do a bunch of glue code with C linkage) is nice and also it depends on less with a smaller overhead.
It does not do all the fancy stuff like SQL that Qt does:
Check again, things have changed, people have written code to do more now that may not be a part of GTK+ itself though but freely available. Also again Qt is a huge thing that then defines how the rest of your program has to be written to interface with it (containers, pointers, signals, and slots for example). Also it is resource intensive because it does so much.
Agreed. GNOME is great and all, but I feel it could have gone (and could go) a lot further with a better underlying (and fully OO from the start) library. All the stats I've seen suggest that Qt is much faster than GTK+ (and Cairo) too. The only thing is... I'd hate to lose the GNOME look/feel (especially not in favor of the god-awful KDE4 look and feel), and more importantly, I'd hate to lose Pango. Pango is probably the best thing that ever happened in GNOME.
Qt 4.5 has an excellent GTK style that makes Qt and KDE applications look just like GTK/GNOME applications, down to button ordering.
Also, Qt Creator, their new C++ IDE, is a good illustration of what a Qt application can look like. Delicious.
Michel
Fedora Project Contribut
This doesn't work. They tried it with Vista.
I didn't know the GNOME-compatible look/feel had improved much with Qt4.5, thanks.
On QtCreator... yeah, that's what I meant when I said QtDesigner. Just tried it last night, and it was quite... interesting. I really can't say nice, because it showed more potential than actual beauty, but it did make me stop and think a little :)
Ideally, GTK+ will be rewritten in Vala. That way, we get C compatibility together with being able to write code in a modern, high-level, C#-like language (with type inference, memory management and anonymous functions, to name a few features).
Michel
Fedora Project Contribut
the shared_ptr equivalent in Qt is QSharedPointer (surprise!) not QPointer which is something quite different. I do suggest not using shared_ptr as the Qt version has better cross-platform support and is easier to use and like most Qt things has better readability.
by using native GTK theming that Qt supplies :) http://labs.trolltech.com/blogs/2008/09/05/qgtkstyle-now-part-of-qt/
The only thing holding me back from totally adopting Qt was the outrageous licensing cost, not anything lacking in the toolkit itself. With it having gone to LGPL now, that is no longer an issue.
Same here. Only problem is that one of the major libraries "QtUiTools" is still only available as a static library which means if you use it then your app becomes GPL infected. It's hard not to use it if you use anything that creates GUI resources (eg. Qt Creator).
I would have preferred cheaper licensing rather than going LGPL. Something reasonable like the other major developer toolkits. $300 or so for all platforms. Their current pricing is just obnoxious. Especially for freelance developers like myself, paying nearly $3700 plus, what, $2000 or so per year for a single developer on a single platform is absolutely absurd. At that price I could buy a developer subscription with multiple licenses to practically every single product Microsoft and Apple make combined (including operating systems, databases, developer tools, the whole works). Who do they think they are? I mean shit, they're just providing a GUI API and some cross-platform helper API's.
Actually Qt was relicensed into GPL because of KDE, not because of Gnome. KDE used Qt and came under heavy fire due to using Qt, TrollTech relicensed then Qt due to this criticis, and later on hired some of the KDE developers!
The relicensing to LGPL now happened after the Nokia buyout, and was also preplanned because Trolltech always said, if it was bought or went bankrupt it would relicense it into LGPL!
What reactionaries are modding this "troll"? It's a perfectly valid comment, for anyone who has actually sat down and compared the libraries. Also, it's a perfectly reasonable issue to consider, now that both desktops' core libraries share common licenses and have essentially become interchangeable. Yes, that interchange would involve hard work, which may lead reactionaries to reject it, but what progress doesn't involve hard work? It would at least be nice to see a study of some GNOME app re-implemented in Qt, and what the pros/cons are. I know for a fact that at least a few apps have have been ported from GNOME to Qt (Qt3, though, I think), and probably some have been ported the other way too. Even just those historical cases with Qt3, the case study would be interesting.
How did you get used to the tiny keyboard?
*sigh* back to work...
Exactly!
Free software's diversity is it's strength. Each part can be replaced with a competing component. It's all glued together with open standards. This makes things more modular and enforces the Unix philosophy "Write programs that do one thing and do it well." It's an ecosystem, competition fueling evolution. Forking into more competing versions when people disagree.
Some crazy people even replace the Linux kernel with a BSD/Solaris even Hurd!
Anyone one thinks there should only be one Linux distro doesn't get it at all.
Interested rewrite of history. But it's not true. GNOME didn't drive Trolltech to open source Qt, KDE did. GNOME wasn't (and still is not) using Qt, so why should have Trolltech cared about their whines? It was KDE developers advocating for real open source that did it.
Don't blame me, I didn't vote for either of them!
How did you get used to the tiny keyboard?
The size of the keyboard is fine for me (I have long, spindly fingers) - the only problem I have currently is some minor issues with keystroke reliability - occasionally keystrokes don't register and occasionally I get some kind of multiple input from switch bounce or something...
Still, got no regrets about buying this particular netbook.
Bow-ties are cool.
I swear, I've never heard of kubuntu before.
resulting in unification of open-source GUI
Yeah, right. Take away choice! We hate choice! Right? ^^
Only when the last fork is unified, will you notice, that the main trunk it crap. ^^
(True for states, companies, rule sets, etc. too)
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Last I checked QT 4.5 Visual Studio compiler still required a license and lots of money. Only the MinGW + QT was free. I guess it's ok if you use sharedevelop and tell it to use the MinGW compiler toolchain, but for someone wanting the VS integration it is not too good. Has this changed?
The problem with fat client software is not that it's equal or inferior to a well-built website. It's definitely superior.
.msi/tar.gz/.deb/.rpm installer and getting tech support calls that have nothing to do with your application.
The problem is deployment and support. As much as Javascript is a pain, non-standard HTML support in IE is a pain, and a million other headaches come with a website, in many ways it's far less headache than supporting a
There's certainly a wide range of applications that will always remain fat client only. But the terminal-server model makes a lot of sense from the support perspective for many applications.
"is"! I meant "is". ;)
Damn! Ruined my *one* chance to be quoted. Ever.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Remember Palm.
I'd say correcting GGP. Qt didn't go LGPL because of GTK, Trolltech was doing fine with their dual license model. It was Nokia who decided to make Qt LGPL as, being a much larger company, they are not dependant on that (relatively) low income and thought this would boost adoption of Qt (which they seem to be pushing hard now).
Kubuntu is not a decent version of KDE. Or KDE really sucks.
If they put half the time into kubuntu that they put into ubuntu it could become a great operating system.
No it was just a poorly worded version of saying that Qt uses the native graphics API to render it's widgets so it matches the look-and-feel of the platform.
See this post.
That horrible GNOME/GTK of yours drove Trolltech into relicensing Qt to GPL
No, what drove Trolltech into relicensing Qt under the GPL was that KDE had built on Qt assuming that it was open source and then discovered that the Qt license was incompatible with KDE. If Trolltech hadn't relicensed Qt, KDE would have been dead, and that would have been very, very bad for Qt.
Both projects thrive from eachother and the constant "battles" drive devs to find out new creative ways
Qt and KDE were a major incentive for Gnome to get its act together. I think Qt/KDE are now collapsing under their own weight and under the enormous numbers of features being added to them. The fact that they are C++ based is also a significant issue.
I think the Linux desktop race is effectively over. And I also don't see Qt having a lot of impact on mobile devices anymore either.
Websites cannot be definitely superior and unusable in certain situations. As it is they are not definitely superior as anything that can be done on a website can be done using a local client. However not everything that a local client can do is possible on a website (unless you start using embedded applications and turning the web page in to a local client within a web browser frame).
I also take issue with the implication that all local clients are fat clients. It's perfectly possible to have a system with a thin, locally hosted GUI and a much larger server backend. You can even use HTTP to communicate between the two. The use of a local GUI in such situations gives you (the software designer/programmer) much more control over the user experience. Your well-crafted UI isn't going to fall apart because a user has decided to use Chrome or the latest version of Safari has introduced a rendering bug.
To repeat my original post: web interfaces have their place but they are not a replacement for properly implemented local GUIs. For something that is relatively simple and for which the zero installation benefit of the web outweighs the downsides, an HTML/Flash/Javascript interface is the way to go. That not withstanding, the functionality available to the local GUI designer is a superset of that available to the web designer. The local GUI isn't limited to HTTP as a transport mechanism. The local GUI isn't subject to vagaries of browser "standards" compliance and to crash briefly back on topic; there is no web UI toolkit that approaches Qt for ease of use, cleanness of interface or cross platform functionality.
It's not going to happen. Qt makes sense if you develop in C++. Gnome is going to move gradually to Python and C# development; C++ is just not on its roadmap.
Is there any kind of Mercurial hosting for open source projects you can recommend?
And KDE isn't exactly the only software project relying on Qt. Here is a semi-official list of software projects using Qt. I do believe that software projects like Mathematica is a nice example of how widespread Qt is and how seriously it is being used.
Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
To be fair QSharedPointer showed-up in 4.5, hence the reason I had never heard of it until now. OPointer was forced upon me due to everything being a QObject, but then there was the other non-Qt half of the code that used boost, it was not pretty.
Same here. Only problem is that one of the major libraries "QtUiTools" is still only available as a static library which means if you use it then your app becomes GPL infected. It's hard not to use it if you use anything that creates GUI resources (eg. Qt Creator).
Is QtUiTools part of the Qt source distribution? If so, can you recompile it as a .DLL and get around the GPL encumbrance?
Probably because QT was Trolltech's bread and butter, and thus wanted commercial apps to pay for a license, while QT is just a means to an end for Nokia, its end being to increase its smartphone market share and to dominate the portable device space.
"If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
None of those run on as many platforms as Qt does. And all of them look out of place on all the platforms they run on (except for SWT, which looks ok on Windows and Gnome, but runs badly on Linux).
I've never used QtUiTools and I use Designer all the time.
I don't see any reason to create the UI at runtime. I just do the single inheritance model and everything gets converted to C++ at compile time.
Sory we can't make every one happy, we worked very hard in Oxygen to make it pretty and usable, many people find it so, and it was the qt software that made it possible.
The fact that you find it ugly, it is compensated by the fact that many, many, others dont.
Its not a finished joob I think it will never be but we do our best, and I think its a fantastic start.
Yours Nuno Pinheiro Oxygen coordinator
Ideally, GTK+ will be rewritten in Vala. That way, we get C compatibility together with being able to write code in a modern, high-level, C#-like language (with type inference, memory management and anonymous functions, to name a few features).
Yeah, then we'd have a desktop based entirely on language/precompiler that exists solely for the developers of that desktop.
Why not start shipping Gnome as a Smalltalk system image while we are at it?
Save your wrists today - switch to Dvorak
Gnome is going to move gradually to Python and C# development
Seriously? C# in mono and all that?
Sometimes the decisions development teams make absolutely mystify me.
Actually you're misinformed. QT uses the native API (uxtheme.dll on windows etc) to do drawing of widgets so that they are drawn like native apps. That is pretty much the same thing Swing does but QT is much faster! There's no way QT could move to native widgets for real without break backwards compatibility (the features related to drawing would have to change quite dramatically for example).
Use Spy++ on a QT app like Skype if you don't believe me.
So Thomas J. Watson was (apocryphally) right?
GTK+ is not horrible. The reasons people most often cite for it being horrible are in two categories:
The code is so convoluted.
That is because it is C and not C++ so it cannot take advantage of features of the language. There are times C (say you want to use it in a C program and do not want to do a bunch of glue code with C linkage) is nice and also it depends on less with a smaller overhead.
Is there a research somewhere that measures overhead / binary size / performance of Gtk+ and Qt programs against each other? I have anecdotal evidence that at least when you are comparing KDE and Gnome programs, the Gnome programs are always the slower ones. Take kate, gedit and 20 meg file, for example.
Gtk+ does OO explicitly with GObject. It sucks to develop for, but I'd wager to guess that it's slower than well-compiled C++ as well (because of frequent type checking).
C is still a good language for, say, making fast modules for scripting languages (integrating C to them is always easier because it has no name mangling), but writing desktop applications is not really where it should be used in the future.
Microsoft probably had a few good laughs looking at the open source community doing their little things with their ancient tools, but that time is over now.
Save your wrists today - switch to Dvorak
Ruined my *one* chance to be quoted. Ever. ;)
Happy?
Saying something is dying is usually misinformed or more likely spreading FUD to hasten the decline.
I agree, and support
1) Cobol job openings still exist ... ...
2) VAX support is still available
3) Mainframes are still around
n) Lisp ain't dead
n+1) Smalltalk ain't dead
n+2) BSD ain't dead
n+3) Assembly experts still exist
n+4) Eiffel is still used
n+5) Ada is still deployed in industries
n+6) Forth is still deployed in electronics
n+7) Somebody buys support for Rebol, believe it or not
What FUDders may consider a dying market might well be called "a niche market" (or "opportunity") for others, providing them with a comfortable life. And I only mentioned "big markets". There's stuff out there we haven't even heard of, and someone is developing for it and making money.
Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
No, what drove Trolltech into relicensing Qt under the GPL was that KDE had built on Qt assuming that it was open source and then discovered that the Qt license was incompatible with KDE. If Trolltech hadn't relicensed Qt, KDE would have been dead, and that would have been very, very bad for Qt.
This is such historical revisionism. QT had repeatedly rejected KDE's request to change their license. Gnome was started because of this fact. It wasn't until gnome matured and GTK threatened to make QT irrelevant that they finally capitulated.
Qt and KDE were a major incentive for Gnome to get its act together.
True, but it was the other way around first.
Interesting ignorance of history...
Qt had repeatedly refused to change it's license before gnome was started. Qt found itself benefiting from a major open source movement, which would not have continued while an open alternative was available and maturing.
What can I say... Qt is becoming a dream platform thanks to Nokia's insight!
- a powerful language/library (C++)
- real cross-platform
- support for embedded and mobile applications (a great alternative for the difficult Symbian C++ language)
- open source and nice licence (LGPL)
- exemplar own IDE but also Eclipse/VS integration
- additional languages supported
What else could one ask?!
"Sum Ergo Cogito"
Why? it's a wonderful platform, and an excellent language. Yes, it has some potential problems with patents, but so does half of Linux' multimedia apps and nobody cares much.
If your country has backwards patent laws it's your problem after all, not ours.
No problem is insoluble in all conceivable circumstances.
Actually, there's no reason you couldn't deliver a Qt application's interface via the web, and do it efficiently if you had some sort of fairly complex browser plugin, and you could ship data to the client and filter it there or just send them GUI updates as appropriate. You could implement more of the toolkit's complexity on the browser end than just sending a bunch of CSS-styled HTML elements... Of course, this is just reinventing X11 in a lot of ways. Perhaps you would be better off using X+FreeNX+ssh, since it already works.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
If only they can get rid off that nasty MOC compiler and adopt Boost.org signals/slots or figure themselves something better.
Maybe. I'm sure that Gnome gave those KDE developers some good leverage on Trolltech, though. ...I should go look at a timeline.
Once you start despising the jerks, you become one.
You must be a bit behind the times as Qt no longer emulates a native look-and-feel but uses the native widgets of the platform
The above is incorrect. Qt still does all of its own drawing, pixel by pixel. It doesn't use any native widgets (except for things like file dialogs, and even those have non-native counterparts available)
What's new is that in Qt 4.5, Qt doesn't even create a native canvas widget for each Qt widget anymore. As far as the host OS is concerned, every Qt window is just one big flat canvas, with the Qt libraries managing everything that goes on within.
I don't care if it's 90,000 hectares. That lake was not my doing.
What I really don't like is the C++ interface. That doesn't play nicely with most other languages. (C is much better in that regard.)
Perhaps, though, I just haven't looked recently. Does Qt now have a C interface library?
I don't really like C, as it's too pointer happy. But it does have the advantage for an interface language that more languages can easily interface with C than any other particular language. (I count each separate assembler as a separate language.) OTOH, I think that many gtk widgets are horribly ugly. Especially the file directory widget. It's far superior to allow a file name to be typed as a single string than to require each directory in the path to be a separate button. (Granted, I've not used this widget. I don't know how it looks to program for. But speaking as a user, "UGH!".)
I think we've pushed this "anyone can grow up to be president" thing too far.
Thanks. I enabled that. Unfortunately, it is only for Qt4 and the few Qt apps I use are still on Qt3, but that is not really Qt's fault. I can't comment on how well it handles emulating the GTK feel because the only Qt4 app I have appears to be qtconfig and it does not have that wide a variety of widgets.
Centralization breaks the internet.
or depending on the code... Python, you stink!
I couldn't agree more, I just wish that
It's all glued together with open standards
applied to package management, I think that would be a huge step towards 'modularity' between distros, and create a healthier Linux ecosystem.
(.deb ftw ;))
>>> import odour
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named odour
:(
This entire discussion is about Qt4. Qt3 was under a different license (GPL) and is not in the aforementioned repositories.
This seemed like a reasonable sig at the time.
If you're posting on slashdot, it should be obvious he was talking about the Unix/Risc server market versus Lintel.
In other words, one-buttoners GTFO.
UNIX servers need a mouse, that's X.
If someone is passing you on the right, you are an asshole for driving in the wrong lane.
You have to understand the "ABC is dying/dead" mentality.
It doesn't matter how much market share you have, only that your market share is decreasing and some smaller technology which they favor has an increasing market share.
It doesn't matter that at the rate of decline it would take 20 or more years for whatever it is to die. Or that the decline may be arrested. Saying something is dying is usually misinformed or more likely spreading FUD to hasten the decline.
Quickly! Say Windows is dying so we may see it before Singularity kicks in!!
"Sum Ergo Cogito"
The first two versions of Qt had only two flavours: Qt/X11 for Unix and Qt/Windows for the Windows platform. The Windows platform was only available under the proprietary license which meant free/open source applications written in Qt for X11 could not be ported to Windows without purchasing the QPL edition. In the end of 2001, Trolltech released Qt 3.0 which added support for the Mac OS X platform. The Mac OS X support was available only in the proprietary license, until June 2003, where Trolltech released Qt 3.2 with Mac OS X support available under the GPL.
In 2002 members of the KDE on Cygwin project began porting the GPL licensed Qt/X11 code base to Windows.[18] This was in response to Trolltech's refusal to license Qt/Windows under the GPL on the grounds that Windows was not a free software/open source platform.[19][20] The project achieved reasonable success although it never reached production quality.
This was resolved when Trolltech released Qt/Windows 4 under the GPL in June 2005. Qt 4 now supports the same set of platforms in the free software/open source editions as in the proprietary edition, so it is now possible to create GPL-licensed free/open source applications using Qt on all supported platforms.
I am the lawn!
Please read the history. It was made GPL due to the pressure partly caused by the GPL licensed GNOME/GTK. This was long before Nokia was even in the picture. Read this so you know what I'm talking about.
I am the lawn!
So the fact that more and more devs went to GNOME was a nonissue? Not quite. The pressure from KDE came for a reason, and when GNOME was actually becoming equal to KDE it became clear. GNOME was following a winning strategy, and of course it was the GPL license that was responsible for a lot of the success GNOME had. Don't ignore the importance of competition. If Trolltech didn't feel threatened they would have never changed license.
I am the lawn!
Exactly, I can't believe that so many people don't know their history! GNOME was created because of the GPL strife between KDE and Qt. Thus it became a catalyst for KDE to talk Trolltech into GPL licensing Qt.
I am the lawn!
The whole reason Gnome exists is because KDE was attached to a non-free toolkit. Gnome was the heavy fire you speak of. It wasn't until Gnome caught up to KDE that QT finally decided to become GPL (or risk irrelevance as GTK fully matured).
It's strange how people seem to ignore this. Where do they think GNOME came from?
I am the lawn!
No! We want competing package management systems too! They should never be any "one to rule them all".
The QtUiTools is not meant to be linked against, its a library that is shipped with designer (an development-application) so its kind of odd to judge all of Qt on a bundled application. Perhaps you should try to move the classes you require from this library into QtGui. You may want to file a feature request or even do the work yourself (this post is about the repos being open!!). The tools-library you seem to want to use is not for major consumption, doesn't have binary compatibility and all that. So its great that you *can* use it, but maybe you are expecting a bit too much to get it without any investment at all ;)
As posted elsewhere in this story the Qt APIs promote a certain design that make your application and your code easier to maintain and read.
So to answer your point 1;
The parent-child relationship is there for memory management purposes. Which directly links to having an owner of an object. If your object is owned by someone else, that someone is responsible for deleting it. This is free in Qt when you use QObject. If your object is not owned by one thing but shared between many you use a QSharedData based concept which immediately makes you stop using pointers too.
This makes it absolutely clear what is what in common usage of the code and you'll notice that memory leaks or crashes due to dangling pointers become very easy to avoid.
So, you may be right Qt is not as flexible as STL. But I don't mind a bit of structure. Less rope to hang myself.
Another point that probably needs clarification;
I think it does, you can't have powerful signals/slots without introspection. The huge advantage of using introspection to do connections is that you don't need a pre-compiled interface to code to. Which then avoids a lot of nastyness in C++ with library loading and linking etc.
Which makes it possible to have a GUI designer as powerful as QtDesigner, among others.
Its not so much that many must find Oxygen pretty, its much more that people that don't are not whining about it like the original poster did. They just use another style that looks better to them. Frankly; saying that a theming toolkit looks ugly is kind of silly. Especially since there is a native Windows look&feel as well as a native MacOSX l&f which, well, look native.
Gtk+ is a mess, but it's really an apples and oranges comparison. Gtk+ is purely a GUI library, with Glib below it performing some utility functions, and Gnome above it for more convenience functionality.
Qt is a full application framework, with all levels of networking and graphical sub-libraries/plugins.
If Gnome switched to Qt, development would be set back by years. It's no small task to convert all those programs. Some are C-based (pure Gnome libraries and Gtk+), others C++ (Gnomemm and Gtkmm). Gnomemm and Gtkmm is more pleasant to code with, in my opinion, but they still doesn't abstract many tasks beyond a GUI.
I like how this is flamebait, but my comment below saying kubuntu sucks is insightful.
Thanks. Still a bad design, but I'm glad to hear there's a way around it. Actually, though, I've been generally avoiding it by avoiding gtk based applications. (A real pain, since that's the library I'd rather use...due to the C linkage.)
I think we've pushed this "anyone can grow up to be president" thing too far.
For instantiating a UI at runtime, take a look at QFormBuilder. It is in the QtDesigner library, which does compile as a shared library, and therefore is LGPL friendly. I'm not exactly sure why they have both QFormBuilder and QUiLoader, since they both do the same thing but provide differing interfaces.
No, it's only silly to selfish people like you who only care about making themselves happy. Personally, I'm concerned about all unix users (and all computer users in fact), so yes, having a default choice of theme that's not pretty is a problem.
Don't hold your breath. The guy behind PyQt is still a very small independent vendor with a big financial incentive in keeping the license arrangement what it is. Unless Nokia buys him out, I don't expect any license change any time soon.
-- Let's go Viridian.
GNOME was an unfinished project when Qt announced its first license change. It was the KDE developers who lobbied for the license, not GNOME. Commercial companies, such as trolltech, pay a lot more attention to their own customers (KDE developers) than they do to knee-jerk detractors who have no interest in using the code for any reason.
Don't blame me, I didn't vote for either of them!
It's perfectly possible to have a system with a thin, locally hosted GUI and a much larger server backend.
But your thin, locally hosted GUI must be installed, and therein lies the headache. And that's what I meant by fat client - some portion of the software must be installed outside of a web browser.
Again, I'm not arguing that websites are mostly better than installed local applications. I'm just arguing that there's a broad class of applications where the advantages of websites outweigh the weaknesses.