GTK+ matures
GTK+ is an acronym for the GNU image manipulation project (GIMP) toolkit. Spencer Kimball and Peter Mattis began work on GIMP in the summer of 1995. The first versions of GIMP relied on Motif, which was the dominant commercial standard for Unix GUI development over the last decade, as we explained in an earlier report in this series on GUI toolkits.
However, Kimball and Mattis wanted GIMP to be entirely free, and Motif's license was quite restrictive at the time. They decided to recraft GIMP as a free, general-purpose GUI toolkit, the first version of which they released as GTK in July 1996.
So one of GTK+'s distinctions has always been its license. It's a solid member of the GNU project, available under the GNU Lesser General Public License (LGPL). This may be the feature that developers mention most often when explaining their choice of GTK+. Many programmers now actively seek out licenses such as LGPL, instead of Motif or other toolkits.
The force of the license argument has diminished since GTK+'s birth. Qt's license has been liberalized, and Motif's source code is now available in some situations. There are even a few situations -- mostly concerning Linux-based embedded systems -- where the GTK+ license is inconvenient for proprietary-software developers. It is more common, though, for an organization to prefer Motif or Qt because of their restrictive commercial licenses.
GTK+ speaks in many tongues
One of GTK+'s primary features is good support of different languages. While GTK+ and Qt share many technical characteristics, Qt is coded in C++, and well-maintained bindings are only available for C++ and Python. By contrast, "GTK+ is written in C, and has from the very beginning targeted bindings to other languages," said Owen Taylor, current co-maintainer of GTK+. Taylor is employed by Red Hat Advanced Development Labs.
Many programmers, especially those coming from Motif or Windows GUI environments, simply want to work in C, making GTK+ a natural choice. For those who prefer other languages, Taylor explains the situation:
Maintaining a GTK+ binding is not a completely trivial task. GTK+'s design makes it really easy to get a simple language binding up and running that covers 90 percent of everything that a programmer wants to do, but to get really thorough coverage of all 1,400 or so entry points to GTK+ takes a fair bit of effort, especially if you want to get a binding that really fits the language well.
Of the 20 or so language bindings out there for GTK+, perhaps half a dozen are really complete and heavily tested; in particular gtk (C++ binding), the Ada bindings, and the Perl and Python bindings come to mind.
... Even the less complete bindings can still be valuable. We're seeing quite a few people looking at using GTK+ with teaching languages as a way of introducing user interfaces. Before GTK+ became common, the standard way of doing this was either to write your own (usually primitive) toolkit, or write wrappers
Symantec Backup Exec 12 and Backup Exec System Recovery 8 deliver industry leading Windows data protection and system recovery. Download this whitepaper to find out the top reasons to upgrade and how to get continuous data protection and complete system recovery.
Data and system loss — from a hard drive failure, malicious attack, natural disaster, or simple human error — can happen anytime. Don’t leave your business vulnerable. Make sure you have a secure recovery strategy in place. Symantec's latest backup and system recovery technology can efficiently restore critical applications, individual emails and documents and even restore your entire system in minutes in the event of a loss.
Businesses face a growing challenge to ensure that the IT environment is properly protected. Backup Exec 12 integrates with other applications in the Symantec family of products, to complement your current data protection strategy, keep your data securely backed up and make it recoverable when you need it most.







