Yesterday Michael Meeks posted slides of a recent presentation he made. When I saw these slides, I quickly realized that Michael does not sell software for a living. Here's why:
He claims that 10 developers working on a project will require $26,000 in Qt licenses, and so GTK is more cost effective than Qt. Let's investigate how much this factors in to a commercial project. Say the project takes two years to develop, with 10 developers. That's 20 developer-years of wages. Let's say we have "reasonable" programmers, working for $75,000/year. That's a total of $1,526,000 in wages and license fees. $26,000 is 1.7% of this cost. $26,000 is probably close to the amount of money spent on free t-shirts and stuffed monkeys distributed at trade shows by software companies. These costs do not take into account overhead such as rent, bandwidth and utilities, hardware, and other general expenses. However, the Qt licenses do not evaporate after the project is done. The developers might. So might an "open" project which is not financially controlled.
Let's consider the further benefits of Qt. Based on my experience porting GTK applications to Qt, the resulting code is typically 30%-60% smaller than the GTK equivalent (in terms of lines of code). Let's assume this cuts development time by... 10% (to be conservative). 10% of $1,526,000 is over $150,000! That's approximately 6 times the cost of the Qt licenses. Furthermore, there is commercial support available from Trolltech. Who provides free GTK support to offset this? Public forums? Businesses surely enjoy having to rely exclusively on public forums!
Now you have to look at your business plan. Are you writing opensource software or commercial software? If you're writing opensource software, you have the option of the GPL. If this is not acceptable to you, you need to really think deeply about why exactly this is the case. It is hard to imagine that such a vast amount of free software can be released under the GPL, yet your application cannot. If you cannot tolerate the GPL, then quite honestly, you should use other tools. Your application is not worth the time and effort of Trolltech (in my opinion).
Next, let's consider commercial software. You plan to write software to make a profit, and you claim that you cannot afford $3000 for the tools to do it. At this point I think every businessperson would be questioning the profitability of the project in question. However, let's assume you have no capital. This is quite possible, and there are plenty of solutions to this. Eazel and Ximian are two companies who were/are experts at this. You can acquire venture capital or take out a loan. Quite honestly, it is likely you have a credit card with a large enough limit to purchase a copy of Qt which will help you make your millions.
Needless to say, Qt does not have a hefty cost per developer in the grand scheme of things. While its development is open in the sense that you may obtain access to the source code and send patches back, it perhaps has an asset in development in that it is regulated by skilled developers. The source code for Qt is provided for all platforms to those licensed to use it (GPL or commercial), and code is regularily contributed back to Trolltech for future releases. Recently, Zack Rusin and Stephen Binner took the initiative to enhance the tab widget in Qt, and within days their code was already appearing in development snapshots for the upcoming Qt release. I submit that this is as good of a development model as the GTK "open" model.
There is certainly plenty of public discussion regarding Qt as well. The API is quite stable, and no-one forces you to upgrade every x years when Qt breaks ABI and releases a new major version in order to provide great new features that were not possible in the past. The API has remained remarkably stable.
Returning to these costs, let's have a look:
| GTK | Qt |
10 developers @ $75,000/year 2 years of development = $1,500,000 + incidentals |
10 developers @ $75,000/year 2 years of development 10 Qt licenses @ $26,000 = $1,526,000 + incidentals Time saved on support, better documentation, and fewer developer hours: PRICELESS |
The difference? 1.7% at most. I think this is a clear indication of why so many independent software developers (Adobe, IBM, Sharp, ...) have chosen Qt as their development platform of choice. It just makes sense. If 1.7% is enough to destroy a software project's profit margin, then I suspect that project is none too profitable to begin with. With the additional benefits of Qt, I believe the development costs could easily fall well below the costs of using GTK, to as low as $1,376,000 or less!
This editorial was not intended to be a comprehensive argument for the use of Qt over other toolkits, but to fully explore the issue of the cost of Qt. The technical benefits and advantages of Qt are seemingly endless. Combined with the effective cost savings in the software development cycle, Qt is, in my opinion, the most effective choice of development toolkit for commercial and opensource software projects.
Posted March 27, 2003.
George Staikos is a
custom software developer and computer
consultant based in Toronto, Canada, and a member of the
KDE team. More information regarding Qt may
be obtained on Trolltech's website.