Defragmenting Qt and Uniting Our Ecosystem
August 06, 2014 by Lars Knoll | Comments
Over the last years, many changes have been happening in the Qt ecosystem. One of the biggest was the creation of Qt Project where Qt is now being developed as an open source project. The Qt Project was created to provide a space open for all to further develop and foster innovation for the Qt technology.
Qt has always been a commercial product. During the Trolltech days licensing income funded development of the product. While Nokia’s motivations were different, at Digia, our goal is to again make sure that Qt thrives for all industries, all companies, all users no matter what platform. That said, we need to make sure the business of selling Qt as a product is successful in order to fund its future development for the good of everyone in our ecosystem. The importance of Digia’s commercial business for securing the future of Qt cannot be underestimated as it drives Qt’s foundation and everyday operations. A look into the commit statistics shows that around 75% of all code submissions to qt-project.org come from Digia employees. In addition, Digia manages the release process and the CI and testing infrastructure, thus covering more than 85% of the costs of developing Qt.
But even though the open source project and the commercial side of Qt are highly dependent upon each other, they have over the last years drifted apart. The installers and product packages for the open source and enterprise versions are different, and there is a complete disconnect between qt-project.org and the commercial pages on qt.digia.com.
In the long term, this split is helping nobody. The fragmentation actually weakens our ecosystem and makes it difficult to position Qt against competing technologies and tools. It also makes it very hard to speak with one voice and consistently highlight the benefits of the technology and product.
Because of the separation between the open source and commercial offerings, we often end up competing against ourselves instead of competing against other technologies. The two web sites do not allow for consistent messaging and it’s impossible to explain the full story around the product in one place and provide accurate information for our various target groups. In addition, the separate packages make it difficult and cumbersome to upgrade from the open source to an enterprise version.
We are now starting a conscious effort to overcome these problems. As you might have read, Digia has decided to move the Qt business into a company of it’s own. Thus we will soon have a company (owned by Digia), that will focus 100% on Qt. At the same time we would like to take the opportunity and retire qt.digia.com and merge it with the content from qt-project.org into a new unified web presence. The unified web page will give a broad overview of the Qt technology, both enterprise and open-source, from a technical, business and messaging perspective.
We are also planning on unifying the Qt packages, to have only one set of installers for both open source and enterprise users. This will not only allow for an easier migration path from the open source to the enterprise version, but it will also significantly simplify our releasing process. With these simplifications we expect to be able to deliver better tested and higher-quality packages to the whole ecosystem.
The plan has already been discussed with and accepted by the main contributors at the Qt Contributor Summit in June. We are now moving forward with it and you will see the first pieces coming together already before the release of Qt 5.4 in October.
I have been with Qt for many years and seen it evolve and grow to a software development framework I am proud of. I believe that this change and next step in Qt’s life will help us strengthen the Qt ecosystem as a whole and lead to a stronger, better and more competitive product.
Our goal is to unify our Qt ecosystem and do things together. So please don’t hesitate to send us any feedback, questions or concerns you might have.
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.9 Now!
Download the latest release here: www.qt.io/download.
Qt 6.9 is now available, with new features and improvements for application developers and device creators.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Commenting for this post has ended.
Hope sometime to see QML compiler on OSS part of the Qt
Same here,
I feel like we got cheated.
They promoted QML, people invested in it, and after a while, it turned out to be slow.
And the solution is? Paid customers can compile their QML and others go to hell, or undo what you've invested in QML.
Personally, I moved my opensource project from QWidget to QML, and persuaded my company to start using Qt instead of MFC.
But after a while, I regret it!
I really doubt that the QML compiler is going to be the solution for your problem. If you don't design your application code properly, you have lots of instantiation of objects on startup. That's the most costly operation, and is quite indifferent if the "controller" that drives the creation of those objects is compiled or interpreted.
Look at SailfishOS or Plasma. They are quite heavy QML users, and they got smooth UIs without the compiler.
Thanks for the reply.
Well, that might be true on desktop, but not mobile.
Check out this project: https://github.com/haqman/m...
Build and run it to see what I mean.
On Samsung S4:
Loading near instant, not bad.
Clicking on the settings tabs takes ~2 seconds !!!
Note, it has nothing to do with the amount of objects in Settings.qml, remove some of them and you'll see, hardley any difference.
Also, I did not even bother adding animations or other fancy UI gimmicks.
On a 2012 tablet (ARMv6?):
Loading 10 - 20 seconds !!!!
Clicking on the settings tab ~5 seconds!
Come on, we're in 2014, mobile gadgets everywhere, and QML can't even cope with this tiny app?
If you check out the Z10 branch (for Blackberry Z10, Z30 and Z3), it is QWidget based, it loads instant, and clicking around page is also instant.
I hope this clarify's why I dislike QML and won't be using it again (unless something magically changes).
@hmn, the munadi project is not a refutation of his point. You are comparing a classic memory bandwidth starved ARM implementation taking 20 seconds with a memory bandwidth optimized ARM implementation second only to Apple's A9 implementation's memory bandwidth, taking 2 seconds.
This is design problem in munadi, and he's probably right that it's object instantiation that's to blame for it. Seriously, either fix the munadi code, or pick a different example.
QML compiler was not created because QML is slow (loading is slow, as the file has to be parsed) but on some systems there are restrictions on running script language with JIT, so to walkaround those restrictions, you can compile your QML code to executable. AFAIR QML compiler would be opensourced with next Qt release.
I see, I heard them boasting about speed in the blog, so I thoght speed was a primary objective.
"Personally, I moved my opensource project from QWidget to QML, and persuaded my company to start using Qt instead of MFC."
Someone has to pay their bills as stated in the blog 85% of the code is done by Digia employers. And digia is NOT Microsoft (or Google).
So there IS a good reason they have to make some stuff closed because if no one pay for commercial license there is no income for the company and in the end no Qt.
So if you use Qt in your company you should pay for the license either from Microsoft or Digia...
I meant:
So if you use Qt in your company you should pay for the Qt license or if use MFC you pay Microsoft license…
We just launched QML Compiler open source project two weeks ago.
https://github.com/qmlc
I hadn't seen before that Qt was being spun off into it's own company. Where was this posted? I can't see anything on this blog.
Also, please tell me that the new company will be called emTrolltech?
That was supposed to say Trolltech.
You wrote
> As you might have read, Digia has decided to move the Qt business into a company of it's own.
One might have read about this? I didn't notice anything announcing this decision on either the Qt news page nor the Qt blog.
It was sent to the stock exchange:
http://qfx.quartalflife.com...
http://digia.com/en/Company...
These are great news!
I'm a great fan of Qt project. Using it for many years (since 3.x) and seeing so many changes... some of them that frightened me but, in the end, they served just to make the whole project stronger!
I thank you for such a great framework and I wish the best luck to you, Qt crew, to deliver an even more polished product to the community!
How is this "great news?"
Sound to me its bad because to few pay for the license? Also Qt profit fell? At the same time domestik operation improved?
And thats why Digia decided to split the company since Qt is not make profit?
I think its time people realize if no more big companys start to pay Qt licenses its bad for Qt employers...
I far from a marketing expert but they need income.
Hope to see new tutorials of good quality.
https://plus.google.com/110...
For now it is realy hard to get started with Qt development from the beginning. The last version of Qt Book in our library in university is 4.6
Qt in general very poorly supports universities in education. Qt Creator is much better than Visual Studio but the problem in my opininio is Qt Creator doesn't work out of the box after installation. I need to set debugger, compiler and so on...
alfalive: Qt Creator does work out of the box provided you use the Qt mingw version on windows. We can unfortunately not distribute the necessary binaries for MSVC nor for the Mac.
On Linux it should also work out of the box, provided a basic development environment to be installed (e.g. by installing base-devel or similar packages for your distribution) and available in PATH.
Is it because the license issues make Qt Creator cannot integrate with MSVC with the installer?
Short answer: Yes.
Visual Studio (the compiler is packed into those again these days) cannot be redistributed.
That's what I am saying:
1. Download QtCreator > install it
2. Download MinGW > install it
3. Download Valgrind > install it
4. Then configure all things in QtCreator together.
This process is not nessesary when you install visual studio 2010. Just download and install.
"So please don't hesitate to send us any feedback, questions or concerns you might have."
Just my feedback. :)
Unless you do:
Show me please where is the download link for Qt-Sdk here?
http://qt-project.org/downl...
@alfalive: Qt Online Installer (a.k.a SDK) is the one offered by default when you go to that page.
Check out the online QML book: Qt5 Cadeques. It is not a 2" thick doorstop like "C++ GUI Programming with Qt 4", but at least it was written in this decade (this year even) and works well as a primer.
Thank you. It is the best new book for Qt.
Qt5 Cadeques covers only the QML side of Qt. If you want to exclusively use C++, there are only books for Qt4. This might be sufficient, as there are not that much changes in that area. But it does not instill confidence in the future of the toolkit.
Best regards, Oliver
Good choice.
BTW, you're adding a lot of features to Qt. Which is good. However, the size of Qt has grown, and with Qt5 the boot time of embedded Linux systems is much longer than with Qt4. The reason is that the minimal size of compiled libraries is much higher.
You should pay more attention to modularity allowing users to create object files with a very minimal subset of the features.
Best,
You can try to use the "feature system" where you can turn features off that you do not need, but I was told that you would be on your own then.
I have always thought that upgrading from the open source version to the commercial version is not allowed by the commercial license. Have I understood this paragraph wrong in the commercial license?
"If Licensee, or another third party, has, at any time, developed all (or any portions of) the Application(s) using a version of one of these Products licensed under the LGPL or the GPL, Licensee may not combine such development work with the Licensed Software and must license such Application(s) (or any portions derived there from) under the terms of the GNU LGPL 2.1..."
http://www.digia.com/Global...
There also used to be licensing FAQ, which said: "Qt's commercial license agreement contains a restriction that prohibits customers from initially beginning development with the LGPL licensed version of Qt and then transitioning to a commercial version of Qt."
http://archive.today/5Wyu6#...
You can a) switch and start with a new project or even b) switch inside an existing running project, but then you have to negotiate an additional fee with Digia covering the time you initially developed using an open source license.
(Please note: IANAL and I'm not an employee of Digia!)
Something that Qt lacks is a redistributable runtime installer for Windows. At present every application has to include it's own copy of the Qt libraries.
There are many possible variants of Qt on Windows (MSVC vs. MinGW, 32-bit vs. 64-bit, OpenGL vs. ANGLE). If you try to install a system-wide redistributable, you will create DLL hell when 2 applications using incompatible variants of Qt are in the same PC.
This to me is a fault of the ecosystem. There ought to be binary compatibility with a single runtime, rather then every app having to include its own version of the libraries, and I think this is one of the reasons that Qt components are not available as ActiveX/COM controls in applications (e.g. imagine being able to write an Excel add-in using a QML front-end!)
Typo:
move the Qt business into a company of it's own.
You mean "its own".
One Qt for everyone is a good move.
I hope the new company will also look at better pricing methods. I currently use the open-source version of Qt.
I would not mind paying but the current model of $150/month/developer is a bit too expensive for many individual developers such as myself.
+1
Very good news!
It would be great to be able to jump from "free" Qt to Enterprise without the needing to start everything from zero.
You are making a good work. When I noticed Qt5 in the repository of Ubuntu for ARM I was thinking to reach you to Digia and kiss you all :-)
I find this rather disturbing. If anything, I want to deal with a pure open source Qt with as little commercial sprooking as possible. I've done as much as I can to remove and filter out anything to do with Digia and commercial related links and news items and now it will be next to impossible when qt-project.org is abandoned. They seem to justify this move because most contributions are from Digia employees, well maye that is because quite a few FOSS folks do not want to have anything to do with a for profit business running such a key component of a lot of open source software. Perhaps, like me, they are offended to find a commercialised advertisements for the enterprise version in every official Qt announcement and most web pages, even on qt-project.org.
How I wish Digia would change the licensing to allow KDE to fork Qt (and maybe call it q2) so this wonderful codebase could be truly free, and hosted on Github.
Qt is LGPL: nothing the world could make it more free. As pure as it gets.
It has a great, open development model, where 75% of the code and almost all of the hosting and testing costs are taken care off by a company which has build a healthy business around it, together with several other companies in the ecosystem. This means companies which can't use the LGP version still have an option to use Qt (and pay for that privilege, money which goes into further development of the open source code of Qt). An excellent and healthy situation, which should make you trust Qt more as a long-term viable project. Thanks to this model, Qt is lightyears ahead of any other open source toolkit.
All that is a good thing and if you don't get that, honestly, you're not from this world. You want the code but not the business? What exactly do you find offending, that people earn their living writing open source code?
Name ONE big, successful FOSS project without any commercial partner...
... and return to being glacially developed and eventually unused.
The reason why you like qt is because people are paid to work on it and they make it worth using. I believe the aim is to develop good software, quickly, not satisfy some nerdy sensibilities.
This is hilarious considering GitHub is also very much for-profit.
The rational that "a majority of contributions come from Digia employees" actually means "FOSS people don't want to contribute to the big evil Digia's codebase" is hilarious as well because the same proponents of FOSS seem to have no problem using Qt under LGPL :D How can you use, and be offended by, something that you don't want anything to do with?
How I wish for the days when GPL licensing kept everyone honest.
I agree with a lot of your points there. In my opinion, Digia has got it all wrong, they are taking the oracle approach of doing things, where by you try to present a product as being free and open source but with a catch. Companies like oracle provide free and premium product versions and then remove some features in the free versions. This ap proach no longer works well. If you do it this way, you are actually creating a vacuum that will be eventually filled by a completely FOSS product.
If I was running things at Digia I would straight away make Qt 'completely' free and open source without any tricky licensing jargon. Licence it under the Apache licence and/or GPL to allow individuals and businesses to use the software as they see fit but still own the Qt trademarks. Then where would I make my MONEY, since this is what it is all about?? Well, I would then take the approach that companies like MongoDB inc are using where by I make money providing Support, Training and...
It might surprise you to know that MongoDB Inc sells MongoDB Enterprise with more functionality and a commercial license in addition to the generally available AGPL version. See www.mongodb.com/products/mo... for more details..
Read carefully the contents of the link that you posted. You will see that Mongodb Enteprise has nothing extra that can be considered a core or required feature of a database. Tell me, how many databases commercial and/or free need LDAP? There are merely selling support services and adding other gimmick LDAP integration and monitoring tools to make their selling of support services appear sweet.
This is obviously not the same as providing a free version of mongodb and then imposing a data limit on 10GB of storage with the data documents limited to some specific size. And then, offering a premium version without the limitations. So in short, their current approach is pretty good as it doesnt have any hidden catches and licencing trickery.
Hi all. Thanks for the supporting words and for the improvement suggestions. Much appreciated.
A quick note on Qt being a company of its own. To clarify, Digia is not spinning off Qt anywhere or to any other company. As Simon says, Qt being its own entity under Digia was announced via a Helsinki Stock Exchange release on June 17th. It brings no changes to Qt development or ownership, meaning the Qt technology and the Qt IP is still owned by Digia. It merely means that Qt will take on a stronger role in being its own flagship product under its own umbrella with full autonomy and better positioning yet owned by Digia, which provides funding for our commercial and open source development. This will allow us to position Qt under its own name that directly identifies with the Qt technology alone. This will better help us support our "One Qt" initiative Lars has outlined above.
We will have more news trickling out about "One Qt" and the "new" Qt entity name under Digia soon...
I would like to see much better documentation, with examples and just keeping things up to date.
I'd also like to see the use of native UI on Android (the examples are NOT) and things like unified toolbars working seamlessly in OSX/GTK via QML
what do you mean by "native UI on Android"? The Java stuff? That will never be supported by Qt, because it's different technology altogether. And really, if you've ever worked with it you will be looking for a replacement already. However, I do fear that Qt will never be able to support the full feature range of Android Java UIs. Theres too much very specific stuff in there. I wonder if they even support changing orientation properly.
NativeScript appears to be able to do this :/
http://www.telerik.com/nati...
At the summit you guys were talking about a market...
NodeJS sees a lot of success because of its ease of use, I think NPM contributes a lot if not mostly to its success...
I hope we will have something similar, installing packages into the project folder and configurations(Linking...) to be added to the project file without much hassle...
A look into the commit statistics shows that around 75% of all code submissions to qt-project.org come from Digia employees. In addition, Digia manages the release process and the CI and testing infrastructure, thus covering more than 85% of the costs of developing Qt.
What about all the testing and bug reporting done by the community? That is a non-negligible amount of volunteer work that is crucial to Qt's goal of developing a robust, multi-platform toolkit.
What about the hosting, bandwidth, disaster recovery, etc. that Digia pays for? That's pretty non-negligible too. Supplying a framework costs a lot more than just development and testing.
Community-provided work is obviously important too but let's be honest here - many community-requested fixes and features are specific to the needs/wants of a particular person or organization. Digia then takes on the work of balancing the needs of many different entities, which is also non-negligible.
Simple fact is someone has to pay a good sum of money for Qt to be available.
The real question is: would Qt remain a robust framework if it had no commercial subsidization? Somehow there doesn't appear to be a proliferation of high quality open source frameworks without commercial backing. The notion of "free" is easy to toss about until you're the one footing the bill :) Me thinks Nokia subsidizing Qt for years resulted in too many people getting used to free handouts.
This is an old tried and tested business practice of selling off one of the business unit of a company. You create a new company, next year show it in losses, now we need to sell it (or worse, close it).
There is a scary thought. Just think back to the chaos that ensued when Nokia lost interest. Also, if you think documentation is bad now, just wait and see what you get when you rely on the open source community to keep up with documentation on Qt.
+1 for Trolltech ;)
Digia would be more successful with qt if they would sell licences without support for some hundreds of bucks instead of thousend/millian bucks to getting support which isn't really necessary
So lots of developers out there are developing with the LGPL Version and digia gets no money for it.
Digia: think about to sell with no support and getting money.
I fully agree with Christoph. I would love to buy access to the comercial features and source of it - but without support.
You also may consider - qt store where developers might sell components to each other (or plug them into some of selling models that digia supports) or migrating with qt-apps somehow. This could also make new ecosystem where Digia can earn money and monitor developer needs - and build stronger and wider developer base.
I agree with you, but unless we could prove that this solution could help Digia earn more money, else I don't think they would take the risk
I'm a great fan of Qt and used it in some "helper"- projects in my company and in private leisure projects.
I would pay for a low-cost (private) non-support version of Qt-licence.
Until now I must use dynamic linking an LGPL and there is no ROI for digia...
Hi,
I don't see the benefit here, only risk. The justification for the split is that Digia is providing the majority of the costs and that there is a difference between commercial and open source editions.
Basically two things are going to happen:
1, "Qt the company" will have to support itself in a sink or swim way
2, A motivator for buying an enterprise license is going away
If you had said that a Qt Foundation was being setup and assigned copyrights, then I might have been more optimistic. A foundation can accept donations to run infrastructure, its managed in a transparent way and should be unbias regarding commercial decisions.
Regards
Phil
I'm a big fan of Qt since Trolltech days.I agree with you about 'Defragmenting Qt and Uniting'. And I have some suggestions:
1. Could you build a Qt Market,like App store or Google Play,for developers to sell or share Qt-based apps or components(QML,GLSL...)?
QTroll :)
I my opinion there's only one way out if Qt is to survive:
1) stop licensing under LGPL. Starting afresh with a new major number e.g. Qt 6 and from now on release everything exclusively under GPL and commercial license(s); then people can freely develop apps, and they should pay for the license if they want to release their products under a commercial license (this can be royalties-based, one-time fee, etc)
2) everything that is beyond the basic stuff (basic GUI and HTML renderer) should be created as commercial-only ad-ons that should be trivial to install on top of Qt; then people can purchase these ad-on modules as they need them for their apps
Correction: the open-source license should not be released under GPL, but rather under a GPL-like license that would disallow Qt apps to be linked in any way with another user app, not even via sockets (otherwise people can just build the GUI and OS interface part of their app with Qt and release it under GPL, while releasing their app engine under their own terms). I mean, Qt should design a license that, on one hand, would allow people to build truly open-source apps, while on the other hand will require them to pay for anything Qt-based that they want to release as a commercial product.
AGPLv3 should suffice for that...
@Somebody: as far as i could understand it, the Affero GPL covers a situation entirely different from what i said, namely, AGPL only requires somebody who modifies a AGPLed program to release said modified program under the AGPL if the program is accessible over a network. Instead, what i said is that somebody has a program Y which connects to a Qt-based program X, that someone must release his program Y (and not only the Qt-based X) under Qt's license.
There may still be scope for running a Qt business based on one open version of Qt where users pay for certain kinds of support and services. Just what those services might be depends on the answers customers have given in the customer surveys over the years. For example, access to regularly built binary installers for their chosen platform might be something people are willing to pay for, or help with creating custom builds for new devices. Right now, we're paying for licenses simply to get access to Digia support - our application is GPL licensed.
Making the enterprise license independent of the source code license would help unify the community around Qt because it would remove the barriers between users in terms of what they can do with each other's code. Dividing users in this way undermines the core product.
I agree with everything Lars told in this post. I've also seen a video from Qt Contributors' Summit 2014 posted 2 months ago on YouTube. That got me thinking and I may have something to add to this discussion as a mobile developer.
There are a lot of commercial apps for desktop that I am stumbling upon and later find out that there were made with Qt. Unfortunately for mobile, the landscape is quite different. I could hardly name 10 commercial grade Qt apps.
In order for people to pay for a Qt subscription they need to make money with Qt, thus Qt commercial-grade apps for Google Play and the App Store. How many of those that download the LGPL version have any plans to make for profit apps, or how many know they can? How many view Qt as a great tool to make great commercial apps and how many view it solely as a open source tool to make solely open source products?
How many use Qt Widgets, and how many use Qt Quick? How many like building CLI and CLI-like apps with Qt Widgets and how many like building modern apps with a great UI with Qt Quick? I think Digia should run a survey to find out these things (unless they already have some internal studies).
People need to start seeing Qt as a tool for making great commercial apps for mobile that can earn them a living. For that they need Qt Quick. Digia should streamline their website to focus on that. They need useful navigable tutorials on QML, like this one: http://qmlbook.org/ , which is indeed superb.
There might be some die-hard open source fanatics, that are offended by the very thought that you can make money with Qt. Let them be! Digia is already providing a lot of value for the LGPL users, but they could do a lot more for the commercial users. There should be daily(or at least weekly) builds for commercial users, like it is already done for the open source community. Qt Purchasing API should be extended to cover other Android stores as well. An API to be able to generate money through AdMob ads or other ads provider should also be made available. In short, the mobile subscription should give you more and more tools to generate more revenues from your Qt apps.
I've been interviewed by digia more than one timebduring their user surveys and everytime i told that the commercial message wasn't clear. For example the missing price for a commercial license. This at least gas been fixed lately however the product offer it's still wrong imho: first the prices are too expensive for indy developers, i'm willing to pay 100 euros a year for Qt license. Second i don't get why the single products cannot be sold separately: for example buying the qml compiler only or the charts only. Third the creation of a store of components (libraries/tools and not apps) could be usefull. This storie can be the union of the commercial products of digia plus the libraries on the inqlude website
Just checked out the current price for a commercial licenze for the desktop...300/mo per dev. Let's just ignore the price (high for a indy dev or Qt supporter/enthusiast): i think that all agrees that this kind of offer doesn't fit for everyone. Give at least four/five commercial options ranging from supporter, enthusiast, indy, small enterprise, full enterprise.
I find the cost of the current commercial licenses are probably quite fine for a company that makes real money and have a real income. So feel free to continue with that model for these types of companies.
However the current commercial license model for independent developers, small startup companies and people with very low income simply does not work. For some of these users the cost of a commercial license is more than they have available for food each month!
So as others pointed out above a much cheaper model - something like 100 dollars or euros a year is a maximum for these types of users. But not to worry: you will sell thousands and thousands and thousands of these licenses.
The rules can be very simple: One gets a commercial license to the same contents as in the source code distribution, no support at all and none of the features available to the normal commercial customers.
And remember, this is not just community building but also CSR: Corporate social...
I think the "light" license is an interesting proposal but I don't really see it boosting sales to quite the same extent as you do because it is competing with the full license. I agree that, if it got lots more people to buy licenses than would otherwise do so, it would more than make up for lost revenue, but it is also competing with the open source license. So, one possible result is that some commercial users switch to the light license but very few open source developers switch, except perhaps for some mobile app developers who need to satisfy the licensing restrictions of certain app stores, but wouldn't they also want access to the Qt Purchasing add-on, too?
The other possible side effect of a light license might be to fragment the community even further since you would have a group of users who can't use the features of the full license and can't share code with open source developers.
Well David Boddie, I seriously doubt the license model suggested by me above would do any harm to the community nor the commercial Qt development at all. And in fact it can be marketed as a "support future Qt development fee" as well as the commercial license options available.
What it can do and what the current commercial license model simply cannot do is to make it affordable for individual developers on a (very) small budget to use Qt even for their closed source projects.
Such users simply have no chance at all to use Qt for development unless they want to go open source!
Some small budget users may very well generate income from their projects and hence be able to pay a more expensive license. They help Qt development and Qt development help them!
Also they can indeed share code with the open source developers as the only extra right they get is the permission to use Qt in their closed source projects.
Defining the exact license terms will of cause be a...
Well, if there's no restriction on starting projects as open source then switching to the light license, or on mixing licenses in commercial applications then maybe it wouldn't fragment the community further.
On the other hand, the open source license preferred by some developers (LGPL + exceptions) is already very friendly to closed source developers, so perhaps just selling additional tools and services on top of that would be a good plan.
It worries me a little that developers want to build any kind of commercial application with very small budgets. I've been reading about the economics of mobile app development and I suppose that doing it on a tiny budget is one way to make sure you earn something from it, but it doesn't sound like a sustainable business model to me. It also seems like the mobile tools market is going in the same direction.
I see lots of arguments from the business and economics point of view: "boosting sales", "lost revenue", "fragment the community" and "sustainable business model".
How about instead focusing on the users of such an affordable commercial Qt license for small budget developers?
These users may want to things such as publish applications on Apple App Store, not make the source code available for a published application or provide statically linked binaries for others to use. And perhaps make a little money on that hobby. Perhaps even in a startup company context.
All of these activities require a commercial license of which these type of developers simply cannot afford under current commercial license terms.
Its as simple as that!
There are other types of Qt developers of commercial applications than just rich companies. Please make an affordable and usable commercial license solution for these types of small budget developers!
I am still wondering, that people are using QML for their commercial projects.
I am still using QtWidget for Desktop Application, also 4.8 because it is stable and it's working great. And I am not the only one, who think like this, I know a lot of other companies, which also uses 4.8 and don't want to change (I also use their software). So, why changing to a slow interpreter languange, when you can use a fast compiled version?
PS: I can also create nice effects and graphics with 4.8. Maybe not as fast as with QML but fast enough.
Maybe QML is nice for mobile development and IVI, but still not necessary for desktop software.
I would just continue using Qt 4.x QtWidget if that works for you.
From what I have understood QtWidget is a pixel based rendering running on the main CPU which is just perfect for fast desktop machines. QML is designed for faster development via its more concise notation and to explore the OpenGL graphics engine as much as possible on small CPU power machines such as mobile phones and tablets.
So what one choses to use really depends on personal preference, current toolkit experience and target platform preferences.
Digia has developed a tool to translate QML files into C++ code which is really cool. Not sure if it ends up in the open source distribution one day. But its there!
You can change the render method of the beginning of every program, but that is not the point.
Qt4 is nearly using only the CPU (not QtOpenGL), but there is nearly nothing, which needs a lot of power. Even if, you can also do it in OpenGL. That is my experience.
QML only runs on smatphones, because it has a better integration for GPU (rendering as I know for QML is only GPU based). It's easy 2D painting in OpenGL (simplified said).
But what about Qt5 and QtWidget? I don't know, but most people don't use it, because it seems to be unstable (as I heard from others). As I know, it's also using GPU for rendering, but i am not sure.
QML 100% does not only run on smartphones. If you meant that that was where it was mainly used, that I will agree with, though I haven't found much of a reason (with my projects, some of which have been rather large) why it couldn't be used well in the desktop world.
Also, QML does not run as an interpreted language (except for javascript functions, which you don't have to use, or use much). It is interpreted into C++ objects, which means that the slowness of the interpreter is only a loadtime issue. Combine that with Qt's (currently Commercial-only) ability to pre-compile the QML such that the interpeting is done at compile-time, not load time, and they become very, very fast and responsive.
I'm not saying that Widgets are bad, or that you shouldn't use them - if they better fit your needs, awesome! I'm just correcting annoyingly common misconceptions about QML.
You are right, cosmam. I mean, it runs on smartphones pretty well because of the usage of the GPU.
Also, thank you for your comment. For me, it was always a interpreter language, now, I know, why everyone wants to have the QML compiler. But it is still not profitable for me because I am not using a commercial licence.
I hope that this will allow QMLWeb to become part of the Qt API as well. That's a seriously revolutionary concept in web development that needs to come to prominence.