Philippe Fremy has conducted the
first part of his interview withTrolltech's President Eirik Eng.
Read about Trolltech's revenues, employees, partnerships, licensing, origins
and more below.

Trolltech Questions

Philippe Fremy (Q). We are very curious about Trolltech's business model.
Could you detail us your various sources of income: Qt/Embedded, Windows
and Unix licenses?

Eirik Eng (A). We typically generate 50% of our income from Duo
Packs -- these are licenses to develop on Windows and Unix. We also
generate around 20% of sales from Qt/Embedded, and the rest is from
single platform Qt licenses.

Q. How are things financially with the economy
being in the state it is?

A. Things are fine. We have continued to grow at more
or less the rate we had planned. We're more or less on budget, and we're
not too worried about making it through the downturn.

Q. Do you feel you are losing money because of
GPL Qt?

A. We had the same rate of growth before the change
in license. In the very
early years, we were afraid that if we GPLed Qt, someone with more
development muscle would create a hostile fork of Qt and, in a sense,
take over our only product. You just don't take any chances with your
only bread and butter.

So, as soon as we felt that we could outrun anyone trying to make a
hostile fork, we switched to using the GPL. The switch did not affect
our customers, and it had very little practical impact on the Open
Source community. But the symbolic effect was astronomical. My inbox was
flooded with "thank you" e-mails for quite some time.

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

A. We currently have around 65 employees (I think--I am losing track now).
There are 35 in engineering, 4 in product management, 4 in
Marketing/Communications, 6 in sales, and the rest in management and
administration. We currently have three offices: Our head office in
Oslo, Norway; our embedded development center in Brisbane, Australia; and
our sales and marketing office in Silicon Valley, California.

Q. Did the creation of the KDE project change
something for you? Do you get any revenue from KDE?

A. We don't generate income from KDE directly, but KDE has certainly been
instrumental in our success. Through KDE, many of our current customers
learned about us. Many engineers hack on KDE in the evening, and then
go into work in the morning and typically work as a developer. If they
like Qt, they ask their boss if they can buy it.

Q. Do you have any relations with
the distribution
companies? Does
theKompany and Trolltech have contacts with each other? What about the
financial issue (does theKompany pay for using Qt?) Does theKompany ask
for new features?

A. We don't have any formal relationships with the
desktop/server
distribution companies, but we have frequent contact with all the major
ones. In the past we have worked with Caldera (created their Lizard
installation package for them). And, as you might know, SuSE just
published an 1100+ book on Qt in German.

We do work closely with several key embedded Linux distributors, with
partnerships that include reselling Qt/Embedded and Qt Palmtop.

As for theKompany, we work with them, although we don't
have any formal
agreements, except on the distribution of BlackAdder.

Q. How many partnerships do you have?
What is their goal (redistributing Qt license under a special condition)?
Do they work?

A. We have several goals when it comes to partnering.
With Qt Desktop, our
goal is to help it ease into new markets, therefore a partnership in
this area would involve the integration of new features, via third
parties, to make Qt more attractive to certain markets.

With Qt/Embedded, we immediately found that in the embedded space,
manufacturers wanted reassurances that things will work well together.
So we work with embedded Linux distributors and various other suppliers
to make the decision of going with Linux as easy as possible.

Q. Do you have any big deals?
We all know about Opera and Kylix, but do
you have some big company using Qt massively?

A. We do have several big deals, many
of which we
don't publicize. Several
large Electronic Design Automation (EDA) companies have standardized on
Qt, such as Agilent and Synopsis. We have many customers in the 3D
graphics industry, where they use Qt to build design tools to be used by
artists. Aerospace, manufacturing, and medical imaging are all
industries where Qt is doing quite well. I think one of the coolest is
the fact that the European Space Agency is using a Qt-based program for
satellite simulations.

At the recent LinuxWorld in San Francisco, we were told
that several
companies have started using "Built with Qt technology" as a marketingpoint-without us asking them to!

Q. What inspired Trolltech to start building Qt,
or put another way, what led to the forming of Trolltech?
What feature had the toolkit at the beginning?

A. Haavard Nord, Trolltech's CEO,
and I had been working together with
various cross-platform GUI tools back in 1991. We were both very
disappointed in their quality and were sure we could do it much better.
Haavard went on to write his Masters thesis on GUI design, while I wrote
a C++ GUI toolkit for a Norwegian company. In 1993 he called me up and
suggested that we should join forces and use our experience in GUI
design to write the toolkit that would be the king of toolkits. We had
no customers, no funding and a lot of enthusiasm. Luckily we were both
married to wives who had full-time jobs. We used some savings to rent a
small office and hacked away for a year while our wives fed and cared
for us. It was a great period, we had the luxury of working undisturbed
with something that we were really passionate about. We had seen the
pain of traditional GUI programming, and our goal was to make it
pleasant to program GUIs. I think we have succeeded in that.

The features that Qt 1.0 came with were pretty limited.
E.g we did not
have a multiline text widget! We recently hired the guy who bought the
first Qt licenses--he occasionally jokes that one of our big selling
features was that Qt could rotate text.

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

A. Haavard and I were thinking about what to call
the company for a while. One night, Haavard had a dream where the company
was called "Trolltech". In the dream his wife hated the name,
so he asked her what she thought when he woke up. She liked it.
The rest is history.

As to being referred to as "Trolls", we don't
mind. Trolls are
something very Scandinavian, and in a way provides a title for all of us
to share. It's kind of a bonding thing.

Q. Who owns Trolltech AS?

A. We do. That is to say, the employees own 70%
of Trolltech. We have
created a charitable foundation that owns 5% of the company. We have
also received some investments from Borland, The Canopy Group (Lineo,
Caldera, etc), Northzone Ventures, Teknoinvest, and Orkla.

Q. Is Trolltech planning to go public,
with their stock, anytime soon?

A. While we don't have a specific timeline,
going public is certainly an objective of Trolltech.

Q. How does one go about getting a job at TT?
What are the qualifications that you desire for programmers and do they
need degrees in computer science/engineering? Do you hire based on reviewing
contributions to KDE?

A. We hire based on one thing--how well you can code.
We briefly skim a CV, and then dig deep into the code to see what the
applicant can do. If we like what we see, we usually fly
the applicant in to Oslo so that they can meet the rest of the team.

We only hire the best, and I mean the best. Our engineers do
brilliant things. I am constantly amazed at what they do, and I like to
consider myself to be a pretty good hacker (at least I used to be,
before my hair got too pointy).

When it comes to hiring non-technical people, we usually make them do a
test. When we hire PR people, for instance, we tell them about an
upcoming press release we have in the works, and then make them write
it. The hiring process is a rigorous one.

Technical questions

Q. What makes Qt so good?

A. Three things:

An excellent team of engineers;

A solid base with which to work from (we could have pushed Qt 1.0 out
in a quarter of the time, but we took our time to build a base that we
could continue to expand); and

Snapshot releases every 24 hours coupled with a committed and
enthusiastic user base that gives us constant feedback.

Q. What OS/distro/desktop do the Qt developers use?

A. There are a variety of environments in the office.
The developers
typically use Linux, although several use Windows. There are several
different Linux distros kicking around the office, but only one
desktop--KDE.

Q. There are many Qt advocates here, but, when
pushing it in our companies, we are often confronted with Java, MFC.
Do you have any very sensible argument to help us convince management
to use Qt instead of any other toolkit? Do you have also sensible
arguments for Gtk?

A. We do have several arguments for each.

Java: Given the nature of Java, it can't run natively on any given
platform. There are speed and memory issues associated with Java that
Qt does not have.

MFC: Two main advantages. Qt is cross-platform, and, given our
customers/users feedback, much more intuitive and easy to code with.

Gtk: Although Gtk is on Windows as well as X, Qt has a far better cross
platform implementation. Qt is written in C++, instead of C, has a
company standing behind it, and needs much less code to write the same
app.

Q. What is Trolltech's position on the full C++
standard? E.g., do you advocate the use of all aspects of the STL,
and if so, are future versions of QT going to be based around the STL?

A. There are still some compiler and memory
usage issues with STL. Many of our users use STL together with Qt
without any problems, there really aren't that many parts of the Qt
API that require conversions to be done.

Q. Further to this, are there plans to get the
signal/slot mechanism of moc into the C++ standard, or do you feel
a preprocessor is a fully satisfactory solution?

A. We are not working actively to make this happen,
although one of our developers has talked to Bjarne Stroustrup about
this possibility.

Q. Displays are getting bigger, and screen elements
are getting lost - e.g., icons must now be produced in multiple sizes.
People also want to use things on smaller screens - e.g., the ipaq.
Are there any plans to make Qt pixel independent, like Fresco or Berlin?

A. No, we currently do not have plans
for this.

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

A. No, they will not be able to. Apple is very
protective of the Aqua design, so we will not be implementing it on
other platforms. Apple has offered their help to promote Qt/Mac, and
we don't feel that going against their wishes will help them or us.

Q. What will be in Qt4?

A. We don't know yet. We have a few really cool
things we're working on
right now, but we don't know if they are going into later versions of
the 3.x series, or if we'll wait until 4.0. You will have to just wait
and see.

Though I don't know anything about porting QT for X Windows to Mac, there are some planning to do this for Windows. Check out:http://kde-cygwin.sourceforge.net/faq.html
Apparently there is not a whole lot to port - QT obviously does not want to have a lot of platform specific stuff.

Currently kde-cygwin requires X Windows, but as you can see from the FAQ they are planning to port to native windows.

2) See the Non-commercial Qt FAQ: http://www.trolltech.com/developer/faq/noncomm.html
It states: "We released Qt/X11 under those licenses, because it runs as major component on totally Free operating systems..." and "Once Microsoft Windows is completely open source, we will reconsider." Since MacOS X is not fully open source, it will be treated like Windows.

3) The Aqua look is heavily guarded by Apple. If Qt/Mac was GPL, then the Aqua QStyle would be too. This would go against Apple policy.

There you have it.

We might see a "non-commercial" version, like they did with Qt/Windows.

New, poor developers like me are stuck with mfc or java on windows. It is pure torture. I want out, but I want my windows friends to be able to use my programs. I hate this economy.
By the way, more open source developers for windows should let Qt know they exist. Go on, start protesting! Don't make me steal $2490 from my place of work!

Why can't we just assume that a developer under Windows already paid a lot for the Windows license and the license for whatever IDE he uses, and why should he then still be too "poor" to do just the same with Qt?

I didn't pay for a Windows licence and I didn't pay for a MS Visual Studio Licence - they are free for me as I have access to MSDN Academic Alliance. I want to develop free Windows software and share it with other students of my university, but I can't afford to pay thousands of dollars to Trolltech. Why don't the rules of GPL make sense for Trolltech in the Windows environment?

And even if I had to pay for the licences, WindowsXP costs me about $100, VC++ is about $150 - how does Trolltech justify ten times this amount just for a GUI?

Microsoft let users pay per system, Trolltech let developers pay per supported platform. If you want a development platform without paying any license costs you can easily settle with an all GPL'ed system. MSDN Academic Alliance with its annual cost of US$799 per faculty/department per year isn't that cheap, even more so considering that their EULA excludes any use except educational course offered by the participating institute and related non-commercial research projects.

If your concern is all the academic area anyway why don't you just use the GPL'ed Qt? Efforts to port it to Windows are there, you could just support them if you think that's what you really need. You could also ask directly at Trolltech if they would be willing to just carbon copy that MSDN Academic Alliance thing including their EULA if that's what is needed to make you happy.

This is exactly what we do: non-commercial research in our institute, but based on a Windows platform.

Trolltech does not provide a GPL'ed Qt for Windows if I see this correctly. And we don't have the time and the money to invest in another platform or port it ourselves.
But I found a Qt/Win V2.3 on the Trolltech pages, so I think we just will work with this version, as it is free for Windows and not just an evaluation version.
But I think anyhow, that this is off-topic on a KDE forum. I just got here looking in Google for GUI development tools. Another GPL GUI Toolkit I found is Fox, and if Qt 2.3 does not satisfy us, we'll give them a chance.

Trolltech has a "Qt Educational License Request Form" at http://www.trolltech.com/forms/eduprogram.html stating "The educational license is to be used on school hardware and premises for educational purposes. If you are a professor/teacher and want to let your students use Qt/Windows in your class or course, just fill in the application form below." I guess this is what you were looking for?

4.0 will break binary compatibility with 3.x. Many things can be done in a binary-compatible way, but over time the pressure builds and we really have to break binary compatibility. This is a non-issue with major releases since the linker ensures the right libraries are used (like libc5 and libc6 on your Linux machine).

Source compatibility is something else. The 1.x to 2.0 change broken a lot of code (but in easy-to-fix ways). The 2.x to 3.0 change will break very little code. So you can expect that between 3.x and 4.0, source compatibility will be even higher.

I would like to know: Why does the Microsoft Windows version of Qt state that it requires Microsoft Visual C++ 6? Is this a technological reason or a market driven reason? Perhaps am I missing something here?

Do the trolls have any plans to move toward other compilers for the windows platform? What about gcc and cygwin? I could convince my employer to pay $400 more for Qt instead of VC++/ATL/MFC but not on top of the price of Visual Studio. They say, "If we have to buy VC anyways, just write it in MFC or ATL."

I am a trainee in indian institute of remote sensing, dehradun.I have completed my B.Tech in computer science and PGDiploma in Remote Sensing and GIS.
I have done a project using VC++ and MATLAB named "Automated image segmentation and feature extraction "I have a good knowledge in VC++(Com/ATL/MFC)and SQL Server.Please inform me whether there is any opportunity there for me?Iam eagerly waiting for your reply.