Debian discusses removing GTK 2 for forky
The Debian GNOME team would like to remove the GTK 2 graphics toolkit, which has been unmaintained upstream for more than five years, and ship Debian 14 ("forky") without it. As one might expect, however, there are those who would like to find a way to keep it. Despite its age and declared obsolescence, quite a few Debian packages still depend on GTK 2. Many of those applications are unlikely to be updated, and users are not eager to give them up. Discussion about how to handle this is ongoing; it seems likely that Debian developers will find some way to continue supporting applications that require GTK 2, but users may have to look outside official Debian repositories.
GTK 2 was released in 2002 and was declared end of life with the release of GTK 4 on December 16, 2020; the final release, 2.24.33, was published a few days later. The GTK project currently maintains two stable branches—GTK 3.x ("oldstable") and GTK 4.x ("stable"). The GTK 3.x branch will be maintained until the project releases GTK 5, and the project has not yet announced any firm plans for such a release.
On January 7, Matthias Geiger announced that Debian's GNOME team has a goal of removing GTK 2 from forky before it is released in 2027; in addition to being unmaintained, he said, it lacks native Wayland support and features needed for HiDPI displays.
Geiger pointed out that Debian would not be alone in dropping GTK 2, as Arch Linux and Red Hat Enterprise Linux (RHEL) have already done so. Arch moved the gtk2 package and those that depend on it out of the official repositories and into the Arch User Repository (AUR) in October 2025, and RHEL dropped support for GTK 2 with the release of RHEL 10 in May 2025. It might be worth noting, however, that Red Hat will still be on the hook to support GTK 2 in RHEL 9 through 2032, and it is still packaged for current Fedora releases as well as EPEL 10.
Developers maintaining packages with GTK 2 dependencies have
had ample time to consider options and alternatives; Simon McVittie
reported bugs against packages that still depended on GTK 2 in
April 2020, about eight months before it went end of life. At that
time more than 640 packages still relied on it, so he also
started a discussion
about "minimizing the amount of GTK 2 in the archive
", though
he acknowledged the difficulty in getting rid of it
entirely:
GTK 2 is used by some important productivity applications like GIMP, and has also historically been a popular UI toolkit for proprietary software that we can't change, so perhaps removing GTK 2 from Debian will never be feasible. However, it has definitely reached the point where a dependency on it is a bug - not a release-critical bug, and not a bug that can necessarily be fixed quickly, but a piece of technical debt that maintainers should be aware of.
Now, almost six years later, there are just slightly more than 150 packages that carry a dependency on GTK 2; far fewer than in 2020, but still a significant number. GIMP, for example, updated to GTK 3 with its 3.0 release in March 2025. And, as Geiger noted, one of the blockers to ridding Debian of GTK 2 entirely is the fact that Debian's graphical installer still depends on it.
Jonathan Dowland said that the Debian GNOME team should not have to maintain GTK 2 if it does not want to. But, he argued, the correct thing for the team to do is to orphan the package to see if others are willing to maintain it.
I respect your opinion that Debian would be better off without GTK2 in the archive. However, I don't agree with it. The two pillars of my position are: removing this forces the removal of useful dependent programs in the archive which have active users; it also makes it more difficult for users to run dependent programs *outside* the archive, including software of historical significance. IMHO this falls foul of [Debian Social Contract section 4].
The section in Debian's Social Contract that
Dowland refers to is "our priorities are our users and free
software
". It states that Debian will place the needs of users first,
and not object to non-free works intended to be used on Debian
systems. Since there are non-free works that depend on GTK 2, and
are unlikely to be ported to later versions, one could argue maintaining
the toolkit is in users' best interest.
Some would disagree with that, though. Emilio Pozuelo Monfort said
"with my Release Team hat on
" that it would be a disservice to
keep shipping GTK 2 in new releases, since it has been dead
upstream so long:
We don't ship every old library just because someone could make use of it. There is a maintenance cost to that. See e.g. QT4, libsdl1.2 and so many others that could been have kept for similar reasons. Perhaps those old packages also need us to ship GCC 5 or an old cmake. That's a slippery slope.
He suggested that there was still time to port useful packages to
GTK 3 or GTK 4. Dowland shot that idea down, though;
some of the applications, such as Hexchat, were not likely to be
ported to a new version, ever. He also noted that later versions of
GTK were "simply not equivalent
" and would require fundamental
design changes. Some applications are still using GTK 2, he
suspected, because the developers would rather not use later versions.
Dowland also said that it was important to recognize that Debian
does not "have a cast-iron rule that we apply even-handedly to
every library
". There is no Debian policy that developers can
simply point to as guidance for GTK 2 or other libraries that
have reached the end of life. Gioele Barabucci put
out some ideas about conditions for keeping legacy libraries,
which sparked a brief discussion about the security concerns related
to forks of unmaintained software.
Outside Debian
One possibility that Geiger raised
would be to move GTK 2 packages to Debian's Debusine instance,
which is open to all Debian developers and maintainers. Debusine is a
project developed by Freexian; it
provides tools for developing Debian derivatives, including package
building and hosting APT repositories. In December, Colin Watson announced
that Debian's instance would allow Debian developers and maintainers
to create "APT-compatible add-on package repositories
" similar
to Ubuntu's personal
package archives (PPAs). Geiger suggested that GTK 2 and any
dependent packages could be moved to Debusine rather than keeping them
in Debian's official archives.
Another option would be to create an upstream fork of GTK 2 and package it in Debian. Adam Sampson observed that the Ardour digital-audio-workstation project has created its own fork of the toolkit. However, it is unclear that the project has any interest in maintaining a generic fork of GTK 2 suitable for use beyond its needs for Ardour's user interface.
McVittie discouraged
the idea of maintaining a fork of the toolkit. He argued that software
that no longer had an active upstream "seems to have a tendency to
soak up a disproportionate amount of time outside the immediate
package
". He also raised the option of Debusine as a way out
of keeping GTK 2 in Debian and noted that would be similar to
Arch moving it to the AUR.
Time marches on (and on)
The discussion is still ongoing. Dowland expressed optimism that the issue would be resolved in due course. What the solution looks like is still to be determined, but it seems likely forky users will have some way to obtain GTK 2 if necessary.
A broader solution that applies beyond GTK 2 might be in order, though. The scenario of "such-and-such is obsolete, unmaintained, and at the end of its life" has been popping up often over the past few years; and it will continue to do so with increasing frequency. As time goes on, the pile of "old" software (and hardware) that is still in use will continue to grow—and it will grow faster than the number of people interested in doing the work of porting to new libraries just because older libraries have been abandoned upstream.
