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.

Comments

For anyone interested in interviews alike; slashdot has an interview with Shawn Gordon from The Kompany. Check slashdot for some of the questions that were asked, and expect the answers there in about a week.

I actually don't have any questions to ask mr Eirik Eng, as I think Trolltech is doing a _great_ job and I honestly don't know what they should be doing better. Well, perhaps they could use a kdockwidget-like solution for their current MDI implementation in the Qt Designer. But that's not really a question either :)

I didn't realize my style of writing was so obvious that an imposter could so easily be found out. Yes, I did this interview, but it was done around 6 months ago which is why Craig wanted to publish it, it was starting to get stale and the actual publish date of the 'zine was no where in site.

I would think accusing someone of lieing would be a bit more "inflammatory" than someone expressing honest opinions like Shawn did. Plus I've seen Hmmm on this forum before and i don't think your him:)

You want REAL troll material? Look up Craig Black's posts on http://www.mandrakeforum.com! For one article he posts the EXACT SAME thing about TWENTY TIMES (set the view level to -1 to see the trolling)!!!

Do you have a corporate mission statement, even an unofficial one? And how do you choose which areas to keep commerical, and which to release more freely? The embedded aspects of Qt are particularly interesting.

Three questions really.. Thought i'd put a few in the same post, hope no one minds too much :)

1)
do you Trolls have plans for any "other" products other than Qt or are you content to stay in the toolkit business?

2)
How are things financially with the economy being in the state it is? Obviously i'm not looking for a detailed statement - just hoping things are good enough for you to stay and produce Qt (and give it away to us hobbyists!) indefinitely.

3)
What do your feelings towards the "linux community" after all the flak Trolltech has gotten over the Qt licensing issue? You were accused of everything from wanting to monopolize the linux desktop to being in bed with microsoft. Even with Qt GPLed, the licensing flames still pop up occationally.

Finally, i'd like to express my thanks to all att Trolltech for releasing what is easilt he worlds toolkit for writing GUI apps. I tried a bit a GTK+ and MFC before discovering Qt - needless to say, i was less than impressed with the first two when compared to Qt.

I like QT really. It's cool that there is a free edition for windows now. It is now possible to develop windows freeware with qt and port it to linux easily. What are the next genertion feature do you plan. An platform undependend object-model (like: kparts, bonobo, or OLE ;-)) a data-base access through all systems (MySQL run's under Windows too... and it would be great to access these database with the same applications from all platforms)
Hupps, i thin this is more a wishlist... ;-)

Well, not entirely. KParts is a set of well-defined C++ interfaces for graphical embedding, based on the Qt object model, combined with accessing components through shared libraries.

QCom provides a new set of clean C++ interfaces as object model, independent from QObject, moc and friends. With different goals and different semantics (memory management is different, not MOC (->no signals/slots) and different introspection (and basically optional for components) . It has nothing to do with graphical embedding nor with shared libraries as-is (although QCom components (or plugins, as they call it) are usually contained in shared objects) .

1. Why is Trolltech's QT libraries for commercial companies costs so much? ($1500 for a single license according to TT page), while Windows 2000 Pro + Visual Studio costs about $400 less? of course - the price goes down with more licenses are bought, but when a company needs 3-4 licenses - it's still much higher then the Windows Equivalent...

I find this pricing very problematic when I approach commercial companies to write/port applications from Windows to Linux. Most of them simply point me to those prices (and most of them have been looking at QT in Linux and they like it).

Good question Hetz! I would like Trolltech to explain their thoughts and strategy on pricing as well. Just last night, I had trouble getting a small company to consider Qt for Windows+future/cross-platform devel because of the price...

Well, personally, I have heard everybody else's theories on this but I have never heard Trolltech's official position.

I'm no business man, so I don't know if this really adds up or not, and at the same time I really would like to see more people using Qt commercially whether by small companies or shareware authors.

So I'd definitely like to hear Trolltech's take on this, and maybe what their actual customers think about the issue. If it's indeed working out for them (as it seems to be!), then great, I'm very happy! Qt's commercial survival is a very good thing for KDE.

Here I get a 400$ a month ( fulltime job ). This is also a problem when you want to buy development tools (Kylix, BlackAdder) and Qt itself you must pay for Qt license several times, a poblem when you writing simple administrative scripts or shareware programs etc. I think QT for Linux should be much cheaper than for Windows and commercial Unices. I know - there is a personal and enterprise version - but enterprise means that you have table and a few other widgets added ( ha, ha, ha !) and personal means 1000$ ! It is a great and cheap ( yes !) clossplatform development environment, but a very expensive GUI library for Linux. So there is my questions:

Are you plan to diverse your offer ? Will be cheap QT for Linux version released ( with tables, XML, and database access ) ?

Here I get a 400$ a month ( fulltime job ). This is also a problem when you want to buy development tools (Kylix, BlackAdder) and Qt itself you must pay for Qt license several times, a poblem when you writing simple administrative scripts or shareware programs etc. I think QT for Linux should be much cheaper than for Windows and commercial Unices. I know - there is a personal and enterprise version - but enterprise means that you have table and a few other widgets added ( ha, ha, ha !) and personal means 1000$ ! It is a great and cheap ( yes !) clossplatform development environment, but a very expensive GUI library for Linux. So there is my questions:

Are you plan to diverse your offer ? Will be cheap QT for Linux version released ( with tables, XML, and database access ) ?

I actually thought too that the price would be a big problem too. But my experience so far is that doesn't matter too much. However much companies would ask: "Since we are paying so much more for this than Visual C++ what do we get extra? What is the benefits?". Most GUI programmers can see the benefits but not Management. But if you manage to explain that it really gives great benefits I don't think the price matters much to them.

I personally think the price is high because they don't have the enourmouse volume that Visual C++ and Builder has. Still the price isn't that bad if your look at the Enterpise versions of Visual C++ and Borland Builder.

From working in a small software company my experience is that software that isn't sold in big volumes often cost far far more than Qt costs. And you can't argue that if you lower the price you will sell in larger volume because certain software doesn't have a large market. Most people don't need a professional CAD program, professional cross-platform GUI toolkit etc so no matter what the price is they can never sell in the volume that Office programs sell in.

what about a reduced license fee for students or shareware programmers. I think there are some people that would like to write software with QT, but they also want to sell the program. As they are new to the market, they don't have any money and they can't calculate if they will have success with their small program.

I would like to add to it: 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 you 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."

1. What is Trolltechs position on the full C++ standard? Eg 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?

2. 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?

3. What are your plans for language bindings?
ATM, we have PyQT, a perl binding I think, and C bindings in progress. Do you have any plans to adopt an "automatic" binding approach, ala COMs IDispatch or Corba DII? Also what is your response to the claim that it is hard to wrap C++ in other languages?

4. Is the KDE/Qt divide ever frustrating? When a good technology arrives in KDE, do you sometimes wish to deliver it to all your Qt customers, but find that you must reimplement it, due to licensing or technoloy issues? As an example, database access in Qt/KDE seems to be in a state of flux.

5. QTE has raised some hackles in the X camp. Could you explain why you think it is necessary, given that embedded machines are getting more powerful every day, and it is really no harder to re-engineer an X app, say a QT-x11 or GTK app, for a small display than moving a QT-x11 app to QTE?

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

7. X11 has proven to be a long lasting solution for the desktop window system. What possible extensions (if any) would be useful to you in creating QT? Or do you feel that a new desktop window system would be a better solution?

8. Given the plethora of toolkits for X11, what initiatives will Trolltech be taking in order to maintain a consistent desktop? Eg formulating a good common theme format, a common widget rendering layer or just trying to ignore other toolkits?

Phew! Anyway, some of these questions may not reflect my actual position - but I tried to think of as many issues as I could ;-)
Sorry if the questions were not meant to be technical ...

Regarding #6. I have beeen wondering if it would make sence or even be possible to have screen elements be defined as vector graphics rather then raster (i.e. bitmaped). Then icons and other elements could be scaled cleanly.

On 3: QObject already allows a certain degree of introspection through QMetaObject (you can call slots, signals and set/query properties dynamically without any dependency on the actual interface) . QCom's QUInterfaceDescription interface is even more powerful by providing not only access to methods and properties but also detailed info for the types being used (for arguments, etc.) .

On 4: That's already been sorted out. It has been decided to drop kdedb in kdelibs in favour of Qt3's database system.

On 5: Why waste additional memory if it's not necessary? And besides, there are still devices like the Cassiopeia out there which do not have enough resources to run a X-server, a toolkit and a application. Bundling everything in Qt/E, providing high performance and a nifty interclient messaging system sounds like a good competition to X :) . Moving a Qt/X11 app to Qt/E is just a matter of recompilation. However what needs to be done in either way is to re-design the GUI to fit for small resolutions. Here the Qt designer comes in where you just exchange the .ui file and there you are. It's a round packet you get. No need to re-write all the Xt calls to fit for 320x240 ;)

Well, signals/slots don't have to be used for widgets. That's the difference I pointed out above.

Take, for example, my project called Psi (it's a Jabber client. see: http://www.affinix.com/~justin/programs/psi/). The backend classes to handle the XML, networking, and communication to the main program all use signal/slots. There is no widget in sight. In fact, the first incarnations of Psi were all console based (requiring Qt of course, because of the signal/slots and QSocket/QXml/QString,etc). QEvents are window system notifications. Signals/slots are a really cool way for your classes to interact within your program.

Is it possible to have Trolltech produce a text file of all your classes, widgets of QT3 in such a form that when read from within ADA95 one could automatically make the relevant bindings and type definitions?

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?