A Brief History of Qt

A Brief History of Qt

This is our local copy of the original pages from www.civilnet.cn

The Qt framework first became publicly available in May 1995. It was initially developed by Haavard Nord (Trolltech’s CEO) and Eirik Chambe-Eng (Trolltech’s president). Haavard and Eirik met at the Norwegian Institute of Technology in Trondheim, where they both graduated with master’s degrees in computer science.

Haavard’s interest in C++ GUI development began in 1988 when he was commissioned by a Swedish company to develop a C++ GUI framework. A couple of years later, in the summer of 1990, Haavard and Eirik were working together on a C++ database application for ultrasound images. The system needed to be able to run with a GUI on Unix, Macintosh, and Windows. One day that summer, Haavard and Eirik went outside to enjoy the sunshine, and as they sat on a park bench, Haavard said, „We need an object-oriented display system.“ The resulting discussion laid the intellectual foundation for the object-oriented cross-platform GUI framework they would soon go on to build.

In 1991, Haavard started writing the classes that eventually became Qt, collaborating with Eirik on the design. The following year, Eirik came up with the idea for „signals and slots“, a simple but powerful GUI programming paradigm that has now been embraced by several other toolkits. Haavard took the idea and produced a hand-coded implementation. By 1993, Haavard and Eirik had developed Qt’s first graphics kernel and were able to implement their own widgets. At the end of the year, Haavard suggested that they go into business together to build „the world’s best C++ GUI framework“.

The year 1994 began inauspiciously with the two young programmers wanting to enter a well-established market, with no customers, an unfinished product, and no money. Fortunately, both their wives were employed and therefore able to support their husbands for the two years Eirik and Haavard expected to need to develop the product and start earning an income.

The letter ‘Q’ was chosen as the class prefix because the letter looked beautiful in Haavard’s Emacs font. The ‘t’ was added to stand for „toolkit“, inspired by Xt, the X Toolkit. The company was incorporated on March 4, 1994, originally as Quasar Technologies, then as Troll Tech, and today as Trolltech.

In April 1995, thanks to a contact made through one of Haavard’s university professors, the Norwegian company Metis gave them a contract to develop software based on Qt. Around this time, Trolltech hired Arnt Gulbrandsen, who during his six years at Trolltech devised and implemented an ingenious documentation system as well as contributing to Qt’s code.

On May 20, 1995, Qt 0.90 was uploaded to sunsite.unc.edu. Six days later, the release was announced on comp.os.linux.announce. This was Qt’s first public release. Qt could be used for both Windows and Unix development, offering the same API on both platforms. Qt was available under two licenses from day one: A commercial license was required for commercial development, and a free software edition was available for open source development. The Metis contract kept Trolltech afloat, while for ten long months no one bought a commercial Qt license.

In March 1996, the European Space Agency became the second Qt customer, with a purchase of ten commercial licenses. With unwavering faith, Eirik and Haavard hired another developer. Qt 0.97 was released at the end of May, and on September 24, 1996, Qt 1.0 came out. By the end of the year, Qt had reached version 1.1; eight customers, each in a different country, had bought 18 licenses between them. This year also saw the founding of the KDE project, led by Matthias Ettrich.

Qt 1.2 was released in April 1997. Matthias Ettrich’s decision to use Qt to build KDE helped Qt become the de facto standard for C++ GUI development on Linux. Qt 1.3 was released in September 1997.

Matthias joined Trolltech in 1998, and the last major Qt 1 release, 1.40, was made in September of that year. Qt 2.0 was released in June 1999. Qt 2 had a new open source license, the Q Public License (QPL), which complied with the Open Source Definition. In August 1999, Qt won the LinuxWorld award for best library/tool. Around this time, Trolltech Pty Ltd (Australia) was established.

Trolltech released Qtopia Core (then called Qt/Embedded) in 2000. It was designed to run on embedded Linux devices and provided its own window system as a lightweight replacement for X11. Both Qt/X11 and Qtopia Core were now offered under the widely used GNU General Public License (GPL) as well as under commercial licenses. By the end of 2000, Trolltech had established Trolltech Inc.(USA) and had released the first version of Qtopia, an application platform for mobile phones and PDAs. Qtopia Core won the LinuxWorld „Best Embedded Linux Solution“ award in both 2001 and 2002, and Qtopia Phone achieved the same distinction in 2004.

Qt 3.0 was released in 2001. Qt was now available on Windows, Mac OS X, Unix, and Linux (desktop and embedded). Qt 3 provided 42 new classes and its code exceeded 500,000 lines. Qt 3 was a major step forward from Qt 2, including considerably improved locale and Unicode support, a completely new text viewing and editing widget, and a Perl-like regular expression class. Qt 3 won the Software Development Times „Jolt Productivity Award“ in 2002.

In the summer of 2005, Qt 4.0 was released. With about 500 classes and more than 9000 functions, Qt 4 is larger and richer than any previous version, and it has been split into several libraries so that developers only need to link against the parts of Qt that they need. Qt 4 is a huge advance on previous versions with improvements that include a completely new set of efficient and easy-to-use template containers, advanced model/view functionality, a fast and flexible 2D painting framework, and powerful Unicode text viewing and editing classes, not to mention thousands of smaller enhancements across the complete range of Qt classes. Qt 4 is the first Qt edition to be available for both commercial and open source development on all the platforms it supports.

Also in 2005, Trolltech opened a representative office in Beijing to provide customers in China and the region with sales services, training, and technical support for Qtopia.

Since Trolltech’s birth, Qt’s popularity has grown unabated and continues to grow to this day. This success is a reflection both of the quality of Qt and of how enjoyable it is to use. In the last decade, Qt has gone from being a product used by a select few „in the know“ to one that is used daily by thousands of customers and tens of thousands of open source developers all around the world.