After Nokia purchsed Trolltech last year, doubts arose about how Nokia would handle the dual licensing model of Qt, the advanced cross-platform toolkit which lies at the base of the KDE Free software desktop. As it turns out, these doubts were unfounded, as Nokia today announced it’s going to add the LGPL to Qt’s licensing model, starting with Qt 4.5.
The press release explains the move to add the LGPL as such:
The move to LGPL licensing will provide open source and commercial developers with more permissive licensing than GPL and so increase flexibility for developers. In addition, Qt source code repositories will be made publicly available and will encourage contributions from desktop and embedded developer communities. With these changes, developers will be able to actively drive the evolution of the Qt framework.
The licensing model of previous versions of Qt will remain unchanged, and the commercial licensing option will remain available. The service offerings for Qt will be broadened so that all Qt development projects can benefit from this support, regardless of the license chosen. The vice president of Nokia, Qt Software Sebastian Nyström, and Trolltech Co-Founder Eirik Chambe-Eng explain what adding the LGPL means for Qt:
Qt 4.5 is slated for a March 2009 release.
This is fantastic news!
Hopefully now the whole basis of competition between QT & GTK will be on merit…not a rabid debate of licensing ideology
Indeed! This is excellent news. At the very least, it will allow GTK+ to use Qt code. Hopefully it’ll be the beginning of a more unified desktop “plumbing”.
I doubt that GTK+ will use Qt code since GTK+ does not use C++ at all.
I believe Free software is a great thing: one of the greatest feats of human engineering, with millions of hours of work that are being donated to humanity for free, forever. That can only be good.
However, I don’t buy into Stallman’s idea that software *has* to be free. It is nice to write a book and donate it to the world, but hardly anybody argues that all literature should be free and that authors should never receive any money in return. There has to be a way for those that want to monetize their work for whatever reason they find, and they should be reasonably free to decide how to do it.
With Trolltechs previous model, writing closed-source software was only possible by paying A LOT of money per programmer seat, which not only was only feasible for large companies, but also got into the hot waters of license management. Suits them right, many would say, for pushing the closed-software ecosystem.
Of course this was fully within Trolltech’s rights. They have the same right as anyone else to cash on their work, and they even provided a faultless way for free software writers to use it. Those who defend that model say the price was worth it, because you got great tech support. Well, then I’m sure that tech support business is not going to be any worse now.
I’m sure, though, that this was a barrier for many software writers that Nokia has, extremely generously, removed. This puts Qt squarely against GTK+ in the eyes of any company that writes software, not pushing it anymore to decide in square one whether all or part or none of their software is going to be open or closed.
I think this is going to be very good for Qt/KDE, and the GTK+/Gnome camp will have to put a lot more wood in the furnace to keep the competition going, which should also be good. So let competition begin! Or rather, let the next round of competition begin!
Stallman never claimed that software “has to be free”. He has never made any statement (that I’m aware of) to the effect that non-free software should somehow be outlawed or illegal. All he has said is that, for the general good, software *should* be free. And that people on the whole would be better off if the software they used was free. Also he says that he personally does not want to use any software that he doesn’t consider free, and that he will personally work to make as much software as possible available under a license he agrees with. This is all very different stating that software “has to” be free.
Stallman probably wouldn’t disagree with any of that.
I disagree with much of what Stallman says, but I don’t think anybody wins by mis-representing his ideas.
He certainly makes the impression that that is what he means, though.
You’re misunderstanding the difference between free as in “No Money” and free as in free to do what you like “Freedom”.
Stallman has only advocated free as in “Freedom” not free as in “No money”!
Really? I can do what I like with code under the GPL? i don’t have to make derived source code available? This is surely news to me!
Also note that I said it’s the impression he make. The impression you make can be quite different from what you’re actually trying to say.
“Derived”, in a copyright law sense, means “a later work which includes parts of an earlier copyrighted work”.
http://en.wikipedia.org/wiki/Derivative_work
Any GPL code which you include in your work must remain GPL, as that is a condition of the license under which you may use the GPL code.
Since the GPL code you used is already public, where is the harm in your obligation to republish it as it appears in your derived work?
Please note, in the context of this thread, even this obligation is now removed for Qt. The LGPL license allows another program (i.e. another work) to include Qt functionality by linking to Qt libraries, without invoking the copy-left requirement to keep the source code open.
Edited 2009-01-14 12:04 UTC
So I am in fact not free to do whatever I want, such as license it under a BSD license. It’s not about if there’s any harm done or not, if it’s fair or whatever. At the end of the day, I am not free to do “whatever I want”. And that’s by design but people should not say that it allows me to do whatever I want when it in fact does not.
No, you can not kill 1000 Palestinians and go to heaven. You can either kill 1000 Palestianians or go to heaven. You choice.
You’ve obviously never listened to Pat Robertson and company
Well, no … because it is not your work to begin with.
If you want to do whatever you want with some source code (such as license it under a BSD license) … make sure that you wrote it in the first place. If it is someone else’s code … it is that someone else who can do whatever they want with it, not you (unless they permit you).
It isn’t about whatever you want … it is about whatever the authors of the code want. They are the copyright holders. They created the work. You are a recipient of their efforts, and whatever you are permitted to do with their source code is by their good graces.
What they want is that you (or anybody else) should not take their effort and work and charge other people money for it for you to keep as profit (which, BTW, is the precise injustice that copyright law is designed to prevent). What they want is that everybody should get their source code under the same deal as you got it.
Edited 2009-01-15 06:10 UTC
You don’t have to do anything with your code if you don’t want to, but if you want to distribute your code then it’s only fair you keep the same license that allowed you to accomplish your task.
If you don’t like those rules, you’re FREE to not use GPL code and FREE to do the hell you like, so what’s the problem?
So in the end I am not free to do whatever I want.
Oh, so it’s just like any product that you are not forced to use? I dont’ have to use Windows, does that mean the MS license is freedom? This is some assbackwards reasoning, mate.
I have no problem with the GPL but don’t say you’re free to do whatever you want with code licensed under it because you aren’t.
The FSF and GPL has never been about *your* freedom, but always about the freedom of the software.
Work for NASA? Not everyday you meet a rocket scientist.
If by free to do whatever you want, you mean free to steal, then no, you’re not, otherwise you’re set.
Are you suggesting that unless you’re free to commit theft you’re not free? Are convicts freedom fighters?
Are you free?
Actually you CAN. you can do what you like to any GPL licensed code and even keep the changes to yourself – so long as you do not DISTRIBUTE it. The GPL only applies to distribution, not to how you yourself use the licensed work.
Well, that is not what I have heard Richard Stallman say in a spoken interview in what I believe was LUG Radio.
I did not hear him say that non-free software should be outlawed, but he went much farther than saying that it *should* be free. He not only insisted on non-free software being unethical, but also said that if you cannot find a way to make money out of open software, well, too bad, that does not legitimize at all the act of writing proprietary software.
“He never said … that I’m aware of” does not really sound like an axiom of truth. And “probably wouldn’t disagree with any of that” seems to be a statement that really does misrepresent his ideas.
edit: BTW, I do understand the difference between free as in “libre” and free as in “gratis” just fine.
Edited 2009-01-14 14:20 UTC
IIRC, Stallman has advocated the ‘Software as a Service’ model for revenue generation. Release the software itself as a free and open package, but sell expertise and support for it.
How generous of him. What if that business model does not suit you? Do you really think that writing a game and charging for it is unethical unless it is a MMORG with a monthly fee? How much are you paying for support for OpenOffice.org?
Let’s be real here. Free software is insanely great, and writing and supporting it is more than commendable. I agree that allowing proprietary software into the free software infrastructure (e.g. binary drivers) is very, very bad, because it will hinder the possibility of a free working system. We cannot aspire to all software being free, though, and it is also an act of freedom deciding whether you want to give away the product of your work for free, or you want (or, perish the thought, need) cold hard cash.
Well, I don’t agree that “hardly anyone” is against intellectual property in all its forms. Just search “against intellectual property” in Google. That’s not the same as saying that authors should never receive any money in return. In a society of free knowledge, intellectual production is a service and the market determines its price. Several new ways of collective bargaining would be developed, which are not seen today because of the overwhelming competition of IP-based mechanisms.
What more can I say. Common sense has prevailed. And this is from someone who currently prefers Gnome and GTK appos as a user.
I completely agree this is FREAKEN HUGE!
If I were Microsoft I would seriously be getting sleepless nights.
Up to now I have always preferred GNOME because of licensing. However I always thought KDE was more polished and more interesting. Though I hated the license terms and avoided it like the plaque.
Though with this change, HOLY F*****N CRAP!!!
OSX will not be affected, but Microsoft and Windows 7 most surely will be affected! I am tempted to download any KDE distribution and go nuts…
I’m thinking Qt might be a good API to replace the nice but aging BeOS API, for some release++ of the Haiku operating system.
Anybody used and liked both APIs? Would it be a good move forward?
We’re using Qt commercially. If you like C++ then Qt is possibly the best toolkit available. It’s simple as that.
Regards Harry
Conversely if you like C gtk is urm….yuk…nah, I’m being harsh, but it certainly isn’t to my taste.
I am much more experienced in C than C++ and I much prefer the Qt way to the GTK way.
Edited 2009-01-14 11:27 UTC
Same here. with Qt being LGPL now I have no reason any longer to don’t switch except probably some learning-curve till I am more familar with the OOP-world. Time for me to seriously look at Qt and KDE now.
Edited 2009-01-15 07:40 UTC
I am starting learning Qt today. Cross platform, solid language, C (*nix) compatibility. What else can I ask for?
Nothing 🙂
Besides the great toolkit the support from Qt Software is superb!
Regards Harry
That sounds like a bad idea and I think the term ‘Throwing out the baby with the bathwater’ applies here.
Let’s rewrite all apps that are based on the Be API. Lets have two different official frameworks for Haiku, so we can have half-assed integration in both.
This is indeed fantastic news. This could lead to a more wide spread Qt usage within commercial projects. And also QtJambi is more attractive. Till now Swing was free for commercial projects, and QtJambi wasn’t.
Maybe we’ll also see a more wide usage within open source projects. For example Mozilla based on Qt, or sharing code between Qt and Gtk. This enables a lot of possibilities.
Additionally, I think about Qt usage within Swing. Maybe this is possible too. Then Swing would be more competitive against SWT.
Summarized, really fantastic news! Thanks Nokia!
I don’t think I have anything more to add, apart from the subject line.
Gtk+ suddenly lost the single biggest appeal it has.
You mean apart from being faster, lighter and with more/better bindings to more langauges?
Even from the C++ angle, GTKmm is way better than Qt for the simple fact that it doesn’t try to be a complete application framework, replacing the standard library and with it’s own build system like Qt, it is just a GUI library and a very good one at that.
Why Gtk+ is lighter than Qt? it is not, unless you can back up your claims with facts.
It does not replace the standard library. It complements it. I’ve built many programs with Qt and the STL.
Qt does not have its own build system, unless you refer to the Meta Object Compiler, known as the MOC.
The MOC is complementary to the C++ build system of each platform, and it is used to create code. C++ lacks any facilities for introspection, for example, and it also lacks compile-time code creation (beyond templates, which is a limited form), and therefore an external tool was required.
I haven’t seen how Gtk+ plus handles introspection. How does Gtk+ do introspection?
That bindings chestnut really is becoming frightfully old by now. It is simply not true that bindings for GTK are in any way better than bindings for Qt. And Qt has bindings for the languages people use: Java, C#, Python, Ruby, Php. Tell me, how often have you used the Ada bindings to GTK? How well informed are you about their quality?
As to you other points… Anyone who thinks it’s a good thing not to have a complete framework hasn’t done real work in the real world.
Except that it becomes a pain if you want to use a _different_ framework. I don’t think the GUI library should dictate what Database API you use for instance.
As for bindings, GTK+ has a C API. It is *far* easier to wrap C to other languages than C++ (and when you wrap C++, you usually have to wrap it in C first). This means less developer time/effort is spent on the “plumbing” of bindings with GTK+, leaving more time for the useful stuff.
Edited 2009-01-15 20:46 UTC
Like which? Borland VCL? That’s incompatible with Qt for sure… But I’ve used OSX frameworks, Windows stuff, boost, stl, tbb, that weird thing adobe makes available I’ve forgotten the name of, other linux libraries with Qt without any problems. And what’s the advantage of not having a good, extensive, well-documented, consistent framework but patching your own together from a myriad inconsistent libraries?
Why is it a pain to do -lmysqlclient instead of -lQtSql if that’s what you want to use?
Qt provides a database API as a separate module, it doesn’t dictate anything.
For example, using qmake, the only Qt modules used by default are QtCore (same level as glib) and QtGui (as gtk). The other modules have to be explicitly added to your configuration with eg “QT += sql”..
Producing language bindings isn’t ‘easy’ for either the Gnome or Qt/KDE apis. They are both very large and complex, and only someone who has never actually produced a decent quality language bindings for those apis would use the term ‘far easier’.
If you look at how much actual man effort goes into producing Gnome or KDE language bindings, it appears to me to be about the same. I not talking about simple prototypes which may well be easier to produce by hand for an underlying C api. I am talking about doing the complete thing, which ends up being a different level of hardness.
None of the current Qt/KDE bindings projects wrap the api in C first, and so your point about that is demonstrably wrong.
At the moment, some of the bindings remain better for Gtk, and that’s only because the licensing for some of the Qt bindings needs to be changed to match that of Qt itself (once the 4.5 release happens).
For example, PyQt is GPL or commercial license only. If they don’t provide LGPL, same as Qt, then it will need to be replaced.
I’m wondering what all the restrictions left are – if one would choose LGPL above commercial license – for developing a closed application.
* You cannot staticly link Qt(who want a big binary?) only dynamicly.
* You cannot go from LGPL to Commercial license.
Any other restrictions? Or does this somewhat sum it all up?
Yeah, I was wondering the same thing. What are the advantages in getting a commercial license?
You mentioned only being able to link dynamicly. I can’t think of much more.
If you have a commercial license I guess you could change the Qt Source code without contributing your changes back.
From QTsoftware FAQ:
Why would I want to buy a commercial license? What is the difference?
The commercial Qt license includes email support, access to upgrades and allows you to develop fully closed source software. The LGPL carries some restrictions regarding the ability for users to relink libraries and other restrictions that may impose architectural requirements that some organizations might not be comfortable with.
So it looks like Nokia also can’t think of much more
Worse…
From QTsoftware FAQ:
Will there be different support and services available depending upon the license model chosen?
We want to ensure that our customers are successful, regardless of the license they choose. Therefore we will offer technical support and additional services as stand alone products for those who require them.
So support which is usually a good reason, isn’t dependant on the commercial license.
And I don’t see a lot of reasons why anyone would want to change the Qt base directly instead of just adding functionality on top through inheritance, layering, etc.
It’s pretty clear that revenue from Qt is not a major thing for Nokia. The main advantage of having Qt’s open source release be GPL only is that you couldn’t use it for commercial apps without buying the commercial version. Now, you can use Qt for everything – commercial or not – and not pay anybody anything.
It doesn’t look as if it is, which could be a good thing or a bad thing. We’ll have to see. People often shouted LGPL(!) from the rooftops as an advantage for other toolkits, but at least with the licensing model the old Trolltech had the funds to put into the toolkit to benefit open source developers with better tools. Like it or lump it, it has given them an advantage over other tookits technology-wise like GTK. We’ll have to see if they have the same focus.
It seems that Nokia is more focused on Qt as a universal platform to use in their products long-term and help them sell more rather there than as a revenue stream in itself.
Well, even Microsoft got it with there “Software as a service” slogan. From that view it makes quit sense to free the underlying foundation and build special solutions (applications, (web-)services, hardware, etc.) on top of a standardized, common available, highly portable and free platform. Beside the LGPL’ing the opening of the developing process is another big boost that points to that direction. Just a matter of time other big and small(er) players will jump on and adopt to provide solutions based on Qt.
Edited 2009-01-15 07:57 UTC
commercial does not mean closed…
and reconsidered.
The Gnome community wants new toolkit features and a new main developing language.
Using Mona/Java/Python/whatever + Qt would give them all of the above.
But I don’t think it will happen .. having just one cross platform toolkit for the main open source desktops would be too good to be true.
Are they looking for a new main dev language? I thought the core of Gnome 3 was still going to be C, but that they wanted to add a couple of additional first class citizen app development languages.
As long as the core of Gnome remains C, I don’t really see Qt as an option, unless someone writes some sort of C wrapper. But I have no idea how that would work.
It is (theoretically) possible to create an API-compatible Gnome on top of Qt but the libraries will not be binary compatible with the current ones. Applications will break in subtle ways due to runtime differences (free vs delete, malloc vs new etc).
Actually, there used to be C wrappers for Qt, mainly used to make generating other bindings, such as Objective C easier. Nowadays, there are much more advanced technologies that make binding Ruby, C#, Java, Javascript, Php, Python and Falcon to Qt (and KDE) really easy to do and maintain, and such an intermediate step isn’t needed anymore.
Switching to Qt for Gnome wouldn’t be a “Gnome 3.0” it would be rather a “Something New 1.0”. Switching the GUI toolkit in either of the two desktops is basically a rewrite of the desktop and all its applications. The toolkit is not just a major component of the stack, it’s the heart and soul.
Hmmmmmm, that would be very difficult. KDE has taken over twelve years to get to where it is now with the code it has and ditto for Gnome. Dumping that just wouldn’t be advisable.
Please, not Mono.
Java with Qt (and/or GTK) bindings, Python with Qt (and/or GTK) bindings, C++ and Qt, C and GTK, or, for something lighter, FLTK or the Tk framework already make for more than sufficient choice for cross-platform application development.
http://en.wikipedia.org/wiki/Tk_(framework)
http://en.wikipedia.org/wiki/FLTK
We don’t need to poison this field with Microsoft dependencies. Microsoft will always endeavour to make .NET work better on Windows than any alternatives on other platforms do. It is therefore the very worst choice for a cross-platform solution.
Edited 2009-01-15 12:00 UTC
Honestly I think it was about time, commercial toolkits are dissapearing. QtSoftware knows that the competence is fiarse, the question is, how will this affect them financially?.
It’s not like Nokia (== Qt Software) needs to care about measly license euros.
I know nokia needs no money at the moment, but remember that QtSoftware to make it worthy for Nokia it has to be self sustainable, now if Nokia don’t mind and see it like something that will render its fruits in the long run is another story.
Do you have any idea how big Nokia is?
N has been funding the unprofitable Symbian for years (10 or so?), just to provide a platform for phone SW development. Qt is part of this very same thing, with the difference that it’s actually a pretty good toolkit.
This is pretty much a game-changing move.
Looks like you missed that part.
Well, toolkits that compete against generally ‘free’ ones to survive are finding life more difficult but I would hardly say that commercial toolkits and developer components is a dying market. It’s a market worth tens of billions in total, so I’m pretty sure those who are staking their software livelihoods on developing in Qt are still going to pay for support.
Not greatly, is the answer. Nokia is probably banking on Qt being a more universal platform in their products and using it in that direction and those paying for support for Qt might even increase in the long-term as Qt usage grows.
The only question is whether Qt will improve as it has done over the years when it was directly funded by licenses.
Even if it doesn’t improve, Qt is years ahead of anything. So I wouln’d worry for now.
I would expect that the relicensing to LGPL and the opening of the developing process will attract many new contributors, FOSS and commercial, Linux, Windows, Mac and embedded devices. This will boost the progress on a huge level and that’s why it was done.
Edited 2009-01-15 08:14 UTC
Crazy news this morning.
I’m not 100% sure how I feel about this, but 98% positive 1% is nagging that I just renewed my commercial license and the other 1% is a bit worried that without Qt license revenue there will be less money to continue improving Qt. Hopefully that’s not the case.
This really makes sense for Nokia though. If they want to push Qt as a universal dev platform, they need to make it more open to compete with other platforms. Awesome awesome awesome.
I think that if they wanted to push Qt as the universal toolkit they need to really improve their new “QtCreator”. I have been messing around with it for a couple weeks, and I just can’t understand their workflow methodologies. Hopefully the final version will improve this. Specifically, not being able to organize my class files is aggravating to say the least.
Just another words about the revenue issue.
Many goverments are now considering using Open Source, and Im sure that’s the apealing market for QtSoftware.
I have no special insight into Nokia’s thoughts on whether Qt should “pull it’s own eight” or whether they are happy to subsidise it, but according to Wikipedia, Nokia made about 8 billion euros *profit* in 2007, with a workforce of 123,006 people. Apparently in 2007, Trolltech employed 227 people, and I think only around 50 or so of these are engineers(?).
As one wag on the Dot put it – “Nokia probably spend more on lunch for executives than they do on Qt”
Android threw down the gauntlet in the embedded space.
How can something as god awful expensive as Qt compete with something free?
I wonder if Nokia really understands what they’ve done….basically releasing Qt as LGPL is a huge blow to Microsoft, with cross platform gui development no longer requiring hefty license costs.
Edited 2009-01-14 22:29 UTC
Because people producing application on a commercial basis rely on good development tools and are willing to pay for tools even when a great deal can be had for free. That isn’t really going to change here, although it will lower the barrier to entry somewhat. Mobile phone development has always traditionally been expensive, and more expensive than Qt.
It really all depends on how Nokia use Qt. If they don’t create a great, low cost, cross-platform and multi-device platform with it to help them sell lots of phones and other devices then that isn’t going to help them against Microsoft.
Finally; I feel vindicated.
I’ve been pointing out for a long time now that many small, indpendent commercial developers would ignore KDE as long as they were required to license Qt from Trolltech.
Thank you Nokia for fulfilling a dream of mine; KDE is now finally a viable commercial option for many developers.
No longer will commercial KDE developers have to pay another company for the right to build applications; finally KDE will have reached parity with Windows, Mac OS X, GNOME and other desktop platforms.
You haven’t been vindicated at all. People have consistently missed the point that you don’t get ‘owt for nowt’. The license fees that have gone into Qt have made it into the development toolkit that it is by paying for people to work on it full-time and invest their hard effort. It remains to be seen whether Nokia’s other activities are enough to sustain Qt at the same level.
I doubt whether it will make too much difference for quite some time. Most small ISVs pay some sizeable sums of money for Visual Studio, MSDN and lots of third-party components and it’s a large market. It does remove the rants from the bedroom programmer I suppose, but while they tend to look like a vocal majority around here, they’re not. This does also increase license compatibility, which is probably the most positive thing.
Additionally, very, very, very few if any ISVs are writing for KDE or even for Gnome and GTK regardless of the license, so it’s all a mute point right now.
Not yet. There’s an awful lot of other things that have to be in place to really achieve that, and the license is a small part of it.
You do realise of course that everyone is paying for development on Windows through Windows license fees, as well as through software that hangs off it regardless of whether they make money from development or not? KDE is already freely available. 😉
Edited 2009-01-15 15:54 UTC
“Additionally, very, very, very few if any ISVs are writing for KDE or even for Gnome and GTK regardless of the license, so it’s all a mute point right now.”
I think you mean “moot” point.
Edited 2009-01-15 16:04 UTC
Actually, I believe the correct expression is “moo point”.
http://www.urbandictionary.com/define.php?term=moo+point
http://www.youtube.com/watch?v=iObtPBh3NXs
Quite possibly, yes ;-). Words get stuck in your head and all that…………..
Yes, I have. The Qt people themselves are saying exactly what I am here; that they believe doing this will significantly increase adoption (both commercial and non-commercial).
I’m not sure where you get your data from, but the small ISVs I know do not.
Insulting other people (based on false assumptions) is an emotional, not logical argument.
No, because chances are people developing for Windows already paid that license *whether they wanted to or not* when they bought their computer or to be a user of Windows applications. The argument that Windows developers pay Windows licensing fees is poppycock; developers pay Windows license fees to be a *user*. Whereas with Qt, you had to pay to be a developer. There is a stark difference.
Edited 2009-01-19 00:08 UTC
That assumes that Qt will continue to be improved via this new licensing model as it has been. Nokia is gambling that they will sustain Qt through spin-offs and as a development platform for their products. There’s no guarantee that it will, as development on other LGPLed toolkits like GTK has fallen behind and it hasn’t attracted much in the way of significant contributions owing to its license. Everybody just wants to use it for nothing, so no, with experience of other similar projects this has not vindicated you.
Then I’m afraid you don’t know much about development, that’s all I can say. The developer tools market is a multi, multi billion dollor one worldwide. Small ISVs have better things to do with their time than work out why on Earth GTK or wxWidgets isn’t doing what they expect and trying to debug it.
I highlighted the relevant bit in bold. ISVs have better things to do than debug their own development tools. The ones that do don’t last long.
I’m afraid that’s exactly what you are coming off as. People ranting about developing with inferior development tools so they can develop for nothing and bitch about licenses is a bedroom programmer rant. Real ISVs don’t do that. They make money and survive.
Point made. Thank you. With ‘free’ platforms you don’t have to pay that tax and developers can get started for free and pay for tools that will help them make money ;-).
Are you suggesting Windows developers are pirates or something?
Windows developers pay for Windows licensing fees and through that pay for Windows development whether they develop for ‘free’ or not, or even if they don’t develop at all. They’re using Windows for development, so making a distinction between being a user and being a developer is just bizarre………because that’s their usage. A lot are probably paying for Visual Studio as well on top as you’re going to be a bit lost without it.
If you pay to be a developer then you’re making enough money directly out of development to justify the cost. Anything else is just a tax ;-).
Edited 2009-01-19 01:50 UTC
Now that Nokia has decided to open Qt that means that this “borg like” model of qt which smacked of developer lock in and not invented here syndrome can come to an end.
I certainly hope there’s a move to trash a lot of the Qt infrastructure and replace with stl and other already available good quality 3rd party libraries. And get rid of MOC while we’re at it too.
You can use stl with qt, and other 3rd party libraries. Those qt counterparts exist in qt for a reason. Mostly, it is the price to pay for being truly cross platform, especially so if you realize that gcc is not the only compiler people use. Also, most of the qt API QtXML is way more advanced and easier to use than the alternatives. Heck, some don’t even have a viable alternative, like phonon and webkit.
And? use the pathetic C++ introspection thingy? And use the ugly signal/slot libraries out there?
No thank you. I would stick with moc.
And maybe get rid of Designer and hand-code our UIs again? Get rid of QObject parent-child relationships and manage memory manually?
Layers of abstraction help the developer deal with complexity. Just because you don’t understand it, doesn’t mean it’s bad.
You obviously *never* did some serious development with Qt.
STL? Good quality third-party libraries? Boost, per chance?
So you want to destroy C++ programming again for everyone?
I think it is impossible to have one toolkit like it is impossible to have only one distro, but since both toolkits will be licenced under LGPL now, i would like to see them share features/ideas, talk to each other and have some standarts. As a user, i want GTK+ and Qt applications to have the same functionality under Gnome and KDE (for example: look and feel, file open dialogs, ability to use drag and drop, which sometimes does not work). It would be great. But it seems that (sadly) toolkit developers have no interest in that (Qt will have a GTK style in 4.5, but there is no response from GTK+ developers) and don’t see anything happening soon.
There is a fair attempt made in KDE to support GTK applications.
I don’t perceive quite the same effort in GNOME to support Qt applications.
Perhaps the best approach now (given the recent move toward a LGPL licence for Qt) is to install KDE? I find it so, at least. I get a reasonably well-integrated desktop with mixed GTK and Qt applications that way. For example, the KDE clipboard manager has no trouble interacting with GTK applications.