KDE & Companies: Ask Trolltech Anything

I am starting a new monthly feature, tentatively dubbed KDE & Companies, which will consist of a series of interviews with KDE-related or KDE-friendly companies. We will start with the company that, through Qt, is arguably at the root and foundation of KDE; Trolltech's CEO Eirik Eng has agreed to answer our questions. Please submit any queries you may have for Trolltech in the comments below. I leave you one week for this, after which I will choose the best questions and compile an interview for Eirik. All considered, I expect that it will take a month at the most before we publish the answers.

Dot Categories: 

Comments

I'm really curious to know if Trolltech has struck any big deals. I mean with big companies planning to release handhelds, PDAs or "multimedia terminals". I heard Nokia were using QT and Opera, is that right? Any other major deals? I'd like to know because I think that's where the real money is, and not from selling commercial licenses to the occasional programmer. Actually I think Trolltech needs the "big deals" pretty soon, or 3.x is the last we hear from them. But I'd gladly be proven wrong.

by claes (not verified)

I think you are confusing Nokia with Ericsson. Ericsson will use Opera for their surfboard/cordless phone. Nokia is using a Mozilla platform for their media terminal.

I have a few questions. I've been using Qt since the 0.9X days, so it's been fun to see it mature and still manage to keep that original "Qt" spirit.

1. what inspired TrollTech to start building Qt, or put another way, what led to the forming of TrollTech?

2. what are the ultimate goals for Qt? What do you want to achieve with Qt?

Do the Kompany and Trolltech have contacts with each other?
What about the financial issue (does the Kompany pay for using Qt?)
Does the Kompany ask for new features?

annma

by SW (not verified)

Hello Eirik,

I'm really glad that you put QCOM (a COM
workalike) in Qt3. I think this will help
Qt and KDE developers a lot. Howewer, I have
some questions on this:

1. By making QCOM part of Qt and putting it under
GPL/QPL, don't you think that QCOM will be
just one of several component systems, which
are all derived from COM and all incompatible?
Could you LGPL it and make it independent
from Qt such that QCOM can be used
by everybody, removing the need for other
component models?

2. To make QCOM even more useful, it would be
great to have
- an IDL and an IDL compiler
- type libraries
- a scripting host a la WSH
Are there any plans in this direction?

Thanks

by Erik Engheim (not verified)

Qt is the best C++ GUI toolkit I have ever used. I am not sure it actually exist anything better. Apart from a number of lesser known I have tried MFC and Borland C++ Builder. Builder was okay but not nearly as good as Qt I think. MFC I really hated.

Being a very strong Qt advocate I have always suggested Qt to people wanting to do GUI programs and always suggested it in projects I have joined. However dispite Qt's excenlence it is often not choosen. In the last project we did MFC was choosen dispite most of my group said we hated MFC and loved Qt. Our employer dispite not knowing either toolkit very well choose MFC because they saw it as a industry standard and that not enough people knew Qt.

With this background here is my questions:
1.What would you say to companies who choose MFC over Qt because most GUI programmer know MFC? Further the company does not care about portability.

(I really like to know because I want to know what I should argue to persvuade them to don't be so stupid).

2.Are you activly trying to make universities and colleges teach Qt GUI programming?

3.When Qt comes to Mac will Linux and Windows users be able to use the Aqua theme?

4.Will there be a non comercial version of Qt for Mac?

5.Does Trolltech have any thoughts on Microsofts .NET and what it will do to Qt?

For number 3, I noticed in the build process of Qt3.0 Beta2 the command line option to g++ "-DQT_NO_AQUA" or something to that extent. I thought about maybe removing the flag, but when I checked the styles folder in the package there was no sign of the Aqua style source code. So it probably would have ended up a broken compile.

My guess is Apple would have a fit if Aqua worked on X11 and Windows too.

by anonymous (not verified)

I wouldn't be surprised if the aqua style is deliberately only available on Qt/Mac for licensing reasons ;)

by Karl Garrison (not verified)

Just curious, how did your company arrive at the name "Trolltech"? Do you mind the resulting nickname of "the trolls" at all?

-Karl

by John (not verified)

I thought of asking this earlier too, so I'll add a vote to this question :)

by David O'Connell (not verified)

First of all I think QT is a very classy toolkit, and that the KDE desktop is a clean stylish desktop that is considerably ahead of anything out there so far. However ...

1) I believe QT and KDE will come in to conflict at some future point. As a commercial enterprise you may want to include stuff in QT, that is better suited at the KDE layer. You seem to wrapping up an awful lot of functionality within QT. A Component model, XML, Database access. Functionality that I would rather see develop within KDE. Do you see any potential conflicts?

2) If KDE becomes the defacto desktop of Linux and Linux becomes mainstream (as I think both will come to pass), you will effectively become a toll booth to a developers wishing to develop commerical KDE apps. Your terms are "fairly" reasonable now but whats to stop you asking for unreasonable commercial licensing terms in the future?

If KDE becomes the default you will be able to extract quite punitive terms before development shops will develop with other toolkits. This isn't a problem right now but could it become one?

3) You have several key KDE developers working for you. If KDE becomes the main source of future income for Trolltech will there not be conflicts of interest? Will Trolltech will be able to effectively steer KDE open source developers. Before you mention key kernel developers working for Red hat as a rebut, the development those developers do is not under a dual license that allow Red hat to extract licensing fees for their work. I understand that the dual KDE/QT developers develop stuff for TrollTech for QT but will they also not be keener to influence application frameworks within KDE that favour functionality appearing under QT (and hence the dual license) rather than within KDE.

4) If KDE forked QT to keep the bare minimum of functionality KDE requires from it, what would your reaction be? Could you ask for different license terms from commercial developers who favoured using the KDE version of QT. If you could ask for different terms, would they be more severe to discourage commercial developers from using this branch?

I find myself in a difficult position of admiring the quality of work Trolltech is doing and wishing you could be renumerated for it but also wishing it wasn't at such a key platform chokehold point. Could TrollTech become the effective Microsoft of Linux/KDE? Or is that overblown? If somebody said the same in the early 80's about Microsoft they would have laughed at you if you said Microsoft could unseat IBM. However a developer lock at the toolkit level today may just be as effective now as Microsoft lock on applications at the OS level in the 80's.

actually, is was not the lock on the OS that is important, but the control of the API. These are actually very good questions

In regards to your number 4 question: KDE would not be able to charge commercial developers to use a forked Qt because it would be GPL. The only reason Trolltech can charge is because it's their product.

by David O'Connell (not verified)

Justin, does this mean KDE can just copy the current version of QT, and claim it is as their fork? Maybe making minor changes at most?

Using this KDE fork of QT, would this mean that commercial developers could then build KDE/QT applications without paying Trolltech anything? I am not so sure that this is correct.

I guess that although I believe TrollTech are fairly reasonable now, if KDE becomes as big as I think it might, Trolltech will grow with KDE and will probably become a very different organisation with very different goals. Will a free desktop KDE interests always be congruent with QT.

No matter how reasonable Trolltech is now, Does the dual licencing protect KDE from future conflicts of interest. It protects open source software but with a large body of commercial developers entering KDE, TrollTech will make decisions for QT which have an impact on KDE. Will these impacts always be favourable to KDE?

If KDE and QT interests diverge can KDE satisfy commercial developers without TrollTech always demanding a cut. If KDE wants to succeed it needs to be attactive to both commercial and open source software.

For commercial organisations to commit to a new platform, after the experiences of Microsoft, there need to be assurances that the platform can't be controlled by any one organization in the future.

KDE is my default Linux desktop. I like KDE. I want it to succeed. Trolltech has been exemplary so far. But what if it isn't always so, what will KDEs options be then?

No one can fork Qt and suddenly be the owner of it. Even if modifications are made, it would still be 99% Trolltech's code. The whole point of the GPL is to prevent people/companies from "stealing" code like this. There's nothing wrong with someone forking the code or taking a chunk, but it must stay GPL. This means no closed-source development whatsoever. If the GPL worked like the way you speak, it would be worthless.

I can't say what the future holds. Trolltech has good intentions, and they do respect the community (consider the Qt GPL move). Also, some key KDE developers work for Trolltech, so KDE's interests will be present as long as they're around.

Fortunately, when KDE/Qt takes the Unix desktop completely over (and I'm sure it will), it will still be a good development platform. For us open source developers, you can't beat the GPL. Qt, arguably the world's best GUI toolkit, is just handed out like candy. And, if you don't like the GPL (ie, you're a commercial developer), Trolltech provides an "out" : Buy a commercial license. Ask the GNU folks for a commercial license to any of their code and they'd laugh at you. So Trolltech is open-source and commercial friendly.

There are only 2 things they could do to harm either side:

1) New Qt versions not GPL
2) Raise price of commercial license

For #1, see Section 3 of this KDE Free Qt Foundation document:
http://www.trolltech.com/image/kdefreeqt1.png

If there is no release of the Qt Free edition for a year, the latest Free edition becomes BSD licensed. If this ever happened, the KDE team could fork, improve, and even sell commercial licenses of Qt (or LGPL it like the kdelibs).

#2 is a matter of marketing. If they make the price too high or restrict the license somehow, they'll lose customers. This is nothing new.

Everybody's in good shape.

-Justin

by David O'Connell (not verified)

I think there are some subtleties. In an ideal free market if somebody asks for too high a price they lose sales. However software of this nature does not operate in a pure classical free market. Software that forms a platorm has a what economists call a "networking effect", similar to the one the Microsoft has gained from in the past. The more people use your software, the more difficult it is for people to choose an alternative. Once that effect kicks in, in TrollTechs favour, they can extact extract quite punitive terms and people still won't change, as the cost of switching becomes high. The effect hasn't quite kicked in yet for KDE/QT yet, so TrollTech are reasonable for now.

Also having KDE people work for Trolltech cuts both ways. Yes, they represent KDEs interests to Trolltech, then again, they can also influence KDE to favour Trolltech. For the moment I think these opposing tensions are well balanced. However when Trolltech derive a serious amount of revenue as a result of KDEs success, money might become an pressure that distorts these developers choices. Functionality that might be better placed within the LGPL'd kdelibs ends up in QT and under the dual license where they can charge for it.

I like Trolltech, I like QT but my real loyalty is with KDE. I don't have a problem with companies earning a buck, but TrollTech are in a similar position to Microsoft in the 80s, they are in a controlling postion to influence key developers APIs.

Does the dual licensing really protect KDEs interests once commercial developers use KDE as a platform? The fact is, I don't know for sure. I want to believe Trolltech will always be benign but
does KDE really have the safeguards in place. Does the QT free edition guarantees work when commercial KDE development becomes the main influence for QT?

TrollTech, Are my fears overblown?

Which revenue does Trolltech get from KDE?
There are about 10 licenses for theKompany, then there is a Korean closed source office suite which uses KDE.
But else ?
Trolltech doesnt say who its customers are, but currently they are probably not developing for KDE but for Windows, in the future also for OSX, and of course Unix, but not for KDE.

KDE brings them a huge PR, more than a small Norwegian company could afford.

Your questions depends on many uncertainties, the main one being the end of Microsofts domination on the desktop, which currently is simply wishfull thinking.

Which of a QT decision are you thinking about that could hurt KDE and why should they do this?

by David O'Connell (not verified)

I don't believe any TrollTech decision so far has been harmful to KDE. That is not my point. I wonder about a future when Linux becomes mainstream and KDE becomes Linux default desktop. I think KDE should plan for success. I think the dependency of KDE on Trolltech may then become a problem.

You are right, KDE for the moment is publicity for Trolltech. However, it is a future jackpot if Linux/KDE become mainstream. That could be one very big pile of money for TrollTech as hordes of commercial developers port to the new platform.

I wonder is the first inklings of a problem starting to emerge. How will KDE-DB develop along with the DB functionality in QT? How will the future QT component model and KParts develop. Will they be mutually exclusive or will they fit somehow together.

If KDE starts to alway choose QT functionality over their own, That would indicate the start of a problem.

All healthy open source projects (should?) have conflicts. If KDE and QT never seem to have a conflict I would worry. I guess the ultimate test would be for KDE to fork QT. I wonder what TrollTechs reaction would be then?

If KDE forked Qt it would have to stay GPL. This would mean no closed-source development on KDE whatsoever. Definitely not a road KDE wants to take. The only way KDE could "take over" Qt would be if Trolltech stops producing the GPL version for 1 year. Didn't you read my post above?

by David O'Connell (not verified)

Justin, Yes I did read it. Its just suddenly clicked! I have only now realized why KDE cannot or won't fork QT. One of the strengths of open source is the right to fork and although KDE could do it, I can see now why it never would. KDE would have no commercial developers and its fork would wither. In effect the the right to fork is useless in this case. KDE could never break from Trolltech even if they wanted to. A fundamental requirement of open source has been subverted by its own GPL. I find that worrying.

KDE forking QT was one of several points I made though. I don't think the other points have been effectively addressed by anyone.

All anybody seems to say is that Trolltech has been fine so far, so why worry. I am just saying I would feel more comfortable with guarantees.

I know Trolltech have probably gone further than many a company to accomadate open source, but I don't think the guarantees will be effective if KDE takes off.

A booming KDE will mean revenue for the Trolltech, which will mean constant development for QT (sounds good, I know) but will probably mean the BSD clause in their guarantee will never happen. A rapidly developing and well funded QT will start to encroach into KDE eventually controlling it. My prediction is that it will, but that this is currently sometime off. Maybe up to 5 years away. KDE could face a very different Trolltech then and it would be too late to do anything about it. TrollTech will at some point become a toll gate for commercial developers and be able to dictate their terms. Just like Microsoft! I know its not obvious now, but neither was the extent of Microsoft hold on software back in the 1980s. I am not sure MS even realized at that time, and I don't think people can see the strength of Trolltech hand now.

If it really became necessary (which probably won't happen, I trust TT not to become M$ 2.0), we could still write a mostly compatible replacement for Qt - it's actually been done before (remember Harmony?).

Lots of work, but possible.

by David O'Connell (not verified)

I am not so sure. Eirik Eng comment in his just released interview today mentioned they could "outrun" any fork or replacement. It would take the best part of a year (probably more) to rewrite a clone and a willingnes for KDE developers to refuse to use the latest extensions to TT version of QT in the meantime. As core KDE architects work for TT, I am not so sure that would happen anymore. Not now and certainly not a year or two from now when KDE becomes the defacto desktop of linux and maybe even the defacto desktop fullstop.

I would never trust TT to not become MS version 2.0. They are for sure nice guys now but what happens when they are large concern or bought over by a large concern and have armies of business "analysts " and product managers making decisions. Those people won't give a damn about how QT came to prominance via KDE. They won't feel they own KDE anything. They will see KDE as an opportunity to "leverage" QT.

QT may indeed be GPL but it will be subject to a TT commercial interests rather than open source communities interests. TT will take QT to where they need to go and may damage KDE or even end up controlling KDE as a side effect.

They may be nice now, indeed Microsoft looked nice guys and a way out from IBM back in the 80s.

by Loranga (not verified)

Hi,

Who owns TrollTech A/S?

Mats, a.k.a Loranga

by Michael Gengenbach (not verified)

Hi,

will there be a Qt-style pluggable look and feel for Swing/Java?

We are programming Java applications for use under Linux and since KDE/Qt seems to become the standard look and feel for the user (at least in our part of the world :-), it would be great to have the same look and feel with our Java applications.

I don't mean a Java binding for Qt. I'd like to continue to use normal Swing applications and just change their look and feel which is possible with Swing.

Best wishes

Michael

by KI (not verified)

That question should probably be asked to Sun

by Wynn Wilkes (not verified)

Actually, this is a good question since TrollTech recently announced a Qt port of the AWT for use in embedded devices with Qt/Embedded.

Doing a Swing Look and Feel for Java is very tricky with the theming abilities of Qt. I tried this(writing a qt look and feel for swing) once and without a Qt port of the awt, it isn't really feasible (at least I didn't find any good solutions to the problems I hit).

With this Qt AWT port, it should be very doable though. It would be very interesting to know if Trolltech had any further plans for it on the desktop. I doubt Sun would be interested in it, but something could be worked out with the Blackdown group though. This would be great news for those that use Java applications with KDE if that ever got worked out.

by GenericProdigy (not verified)

Try looking at http://javootoo.l2fprod.com/plaf/liquid/index.php. It will not skin with KDE - you will need to use some other toolkit such as SWT for that to happen, but it is a look in parallel with at least one KDE style (Liquid).

by Amir E. Aharoni (not verified)

Hi there

Is there any chance of porting Qt to VMS?

I'm a happy user of GNU/Linux/KDE at home, but i work as a VMS sysadmin, and i love VMS's amazing stability and ease of use - at least from a sysadmin's perspective. Now - VMS uses pretty much the same X-Windows/Motif/CDE combo that most commercial Unices do; if it was possible to port Qt to Mac and Windows, why can't it be done with VMS? Technically it seems even easier, and the OS licensing is not any worse than these two.

This port should be even more exciting considering the latest Compaq announcements of their further commitment to the VMS platform and the planned Itanium port. VMS's superior technical features are well-known but it lacks a broad appeal and marketing and exposure that Windows and Linux have; i'm not talking about it becoming a desktop platform, but i haven't ever seen a better server, and i've seen a lot of them (sorry, Unixoids :). Go figure, maybe Compaq will even get into a "strategic partnership" with you or something :)

by metalman (not verified)

Why aren't yo planning to port noncommercial version of QT to gcc compiler.

I think , that most pepole who program in Visual Studio uses MFC, and those who not are left to use either Borland/Inprise classes or some GTK+ bindings, and they lack of QT

by farid elyahyaoui (not verified)

my question:
in what way do you think .Net (and winXP) are going to affect KDE/Qt/Linux?
Does it offer new chances or new threats?

by Anand Rangarajan (not verified)

> in what way do you think .Net (and winXP) are >going to affect KDE/Qt/Linux?

Especially in light of Ximian's announcement today, are there any plans at TT to target Qt in a .Net CLR framework (C# compiler, etc.)? Ximian's effort seems to be focused on gtk and gnome. Since their libraries will be LGPL and the compiler will most likely be GPL, I think a lot of their work could be reused. Can you briefly summarize the technical challenges involved in targeting Qt instead of Gtk for the cross platform CLR.

Anand

I would moderate this question up if I could...

When will typesafe signal/slot connections be implemented ?

Now, I only get runtime errors, when I type something wrong.

In which piece of software do you get run-time errors? What do you type wrong?

If you type bugs you'll get buggy programs. Qt won't help you with that...

Could you explain what you mean by "typesafe signal/slot connections"? Actually they are typesafe.

But of course they are not. Write something like that:
connect( this, SIGNAL(blablabla), this, SLOT(blebleble) );
The moc and gcc will not return any warnings or errors ! You will get only runtime error when this instruction is about to be executed:

QObject::connect: Parentheses expected, signal MyObject::blablabla
QObject::connect: (sender name: 'mainwindow')
QObject::connect: (receiver name: 'mainwindow')

That _is_ typesafety. Qt does a runtime check to make sure signal / slot functions have matching argument types. If it didn't perform such checks, the program would spiral into horrible flaming death. Think about what you're saying.

It sounds like you want the check to be done at compile time. Unfortunately, "signals/slots" is a concept not known by the compiler, so I'm not sure how it could do a check. Currently the system uses the functions as strings, so that the Qt library can perform the check.

Was there a lot of in-company controversy over the switch to unmodified GPL, or was it mostly unanimous?

Do you have any relations with the distribution companies?

What OS/distro/desktop do the QT developers use?

How many employees do you have at the moment, and how many in each department?

by Richard Moonick (not verified)

Hello,

I'm an undergraduate computer science student who will graduate in a year and start looking for work. I'm very interested in KDE and open source software in general, but am uncertain of the job market for writing open source code.

As a member a company that has been successful in creating high quality, high profile open source software and staying in business, what do you think about the current and future prospects for software developers who want to making a career of writing open source code?

Maybe it would be also from interest to speak with KDE-non-friendly companies to hear why the are not using KDE.

Sure, but what does this have to do with Trolltech? Trolltech's product is Qt - *not* KDE.

by sebastien boyart (not verified)

Why are you trying to make KDE a Ms window like desktop manager ???

a desktop manager? what is a desktop manager?
Is Ms window a desktop manager? Here nobody
cares about wind blows, so why do you?

no, not like Windows, better, _much_ better :)

actually, the default desktop has more of a BeOS-ish feel than a Windows feel... but it's really a great mix of BeOS, MacOS <= 9.x, NeXTSTEP and Windows...

and like one of the other posts mentioned, TT does Qt, not KDE...

Mmmmh... Trolltech's product is Qt - *not* KDE.

Hi....
will be available port of qt-emb for AgendaVR3 PDAs ?? (as target) an what about QPE ??
thnx a lot

by Chucky / Outmax! (not verified)

How is it possible for TrollTech to survive while giving freely Qt to the GPL community ?

by Johan (not verified)

(When) Are you going to make a complete, integrated visual RAD development environment out of the QT Designer?

by Erik Engheim (not verified)

I believe they are allready on their way doing that. In Qt Designer for Qt 3.0 I believe you can both edit source code and compile.