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?
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.
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.
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.
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.
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 :)
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 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.
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.
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
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
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.
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.
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!
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.
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.
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.
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.
Is there any kind of Mercurial hosting for open source projects you can recommend?
http://bitbucket.org/
And soon, google code
Save your wrists today - switch to Dvorak
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.
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"
You can compile the free version of Qt with Visual Studio (express or standard) without any problems. I do it regularly. You might be thinking of the IDE integration, which is a problem, but one for which Microsoft, not Nokia, is responsible.