GTK2-NG: GTK2를 부활시키고 현대화하기 위한 커뮤니티 노력

오픈소스 데스크톱 환경의 풍경은 끊임없이 진화하고 있으며, GTK와 같은 툴킷은 여러 번의 반복을 거쳐 발전하고 있습니다. 그러나 이러한 진보는 여전히 오래된 버전에 의존하는 애플리케이션들을 남겨두는 경우가 많습니다. 여기서 등장하는 것이 GTK2-NG이며, 커뮤니티가 주도하는 프로젝트로 GTK2를 부활시키고 현대화하는 것을 목표로 합니다. GTK2는 나이가 많음에도 불구하고 많은 애플리케이션에 여전히 중요한 역할을 하고 있습니다.

이 이니셔티브는 오픈소스 세계에서 반복되는 주제를 강조합니다: 공식 지원이 약화될 때 열정적인 커뮤니티가 빈틈을 메우기 위해 나서곤 합니다. GTK2-NG는 GTK2에 의존하는 애플리케이션이 현대 컴퓨팅 환경에서도 계속 작동하고 심지어 번창할 수 있도록 보장하려는 선제적 노력이며, 툴킷 폐기로 인해 버려지는 상황을 방지합니다.

폐기 현황

주요 Linux 배포판들은 공식 저장소에서 GTK2를 단계적으로 제거하기 시작했으며, 이는 주류 지원이 종료됨을 의미합니다. 이러한 추세가 GTK2-NG 프로젝트의 주요 동기가 되고 있습니다.

한 댓글자가 언급했듯이:

Devuan인 만큼 GTK2를 제거하는 성가신 Debian 개발자들에 의해 추진되고 있습니다 > Debian만이 이런 일을 하는 유일한 배포판은 아닙니다. 몇 달 전, Arch Linux > 공식 (non-AUR) 저장소에서 GTK 2를 제거했습니다 [1]. RHEL 10은 > 2025년 초에 GTK 2 없이 출시되었습니다.

이러한 광범위한 제거는 개발 관점에서 이해할 수 있습니다; GTK3 자체는 15년 전에 출시되었으며, 안정적인 3.24 시리즈는 7년 넘게 제공되고 있습니다. 이번 조치는 개발을 간소화하고 유지보수 부담을 줄이며, 더 새롭고 안전하며 기능이 풍부한 툴킷으로의 마이그레이션을 장려하기 위한 것입니다. 그러나 아직 전환하지 않은 애플리케이션에게는 큰 도전 과제를 안겨줍니다.

GTK2가 지속되는 이유

GTK3의 가용성과 성숙도, 그리고 진행 중인 GTK4 개발에도 불구하고, 여전히 많은 애플리케이션이 GTK2에 의존하고 있습니다. 예를 들어, Debian의 GTK2 제거 발표에는 "아직도 사용 중인 패키지 목록이 꽤 길다"는 내용이 포함되었습니다. 이는 왜 마이그레이션이 보편화되지 않았는지에 대한 질문을 제기합니다.

주요 툴킷 버전 간 마이그레이션은 종종 간단하지 않은 작업으로, API 변경, 새로운 패러다임, 시각적 재설계 등에 적응하기 위해 상당한 개발 노력이 필요합니다. 규모가 작거나 유지보수 인력이 제한된 프로젝트에게는 이러한 마이그레이션이 벅찬 과제가 되어 오래된 버전에 대한 의존이 지속될 수 있습니다.

주요 애플리케이션조차도 이러한 전환을 신중히 진행하고 있습니다. 한 댓글자가 지적했듯이:

그들이 단순히 “반대”하는 건가, 아니면 현재 Gtk3 또는 Gtk4로 마이그레이션할 수 없는 필수 애플리케이션 세트가 있는 건가? Gimp조차도 Gtk3를 사용하고 있으며 이미 Gtk4로 향하고 있습니다. 이미 웃으며 받아들이세요 ;)

이 관찰은 GIMP와 같은 애플리케이션이 실제로 최신 GTK 버전으로 나아가고 있지만, 그 과정이 점진적이며 모든 프로젝트가 동일한 자원이나 개발 속도를 가지고 있지는 않다는 점을 강조합니다.

오픈소스 대응: GTK2-NG

GTK2-NG의 등장은 오픈소스 모델에 내재된 회복력과 적응성을 완벽히 보여줍니다. 공식 채널이 떠나면, 커뮤니티가 종종 나서서 가치 있는 소프트웨어 구성 요소가 남겨지지 않도록 합니다.

한 Hacker News 사용자가 eloquently(우아하게) 표현했듯이:

이것은 흥미로운 현상이며 오픈소스의 아름다움을 보여줍니다: GTK2를 살아 있게 하고 싶다면, 이를 부활시키기 위한 노력을 기울일 수 있습니다.

GTK2-NG는 GTK2를 현대화하는 것을 목표로 하며, 이는 최신 시스템 구성 요소와의 호환성 문제 해결, 버그 수정, 그리고 현대 개발 관행에 맞는 향상 기능 도입 등을 포함할 가능성이 있습니다. 동시에 레거시 애플리케이션이 의존하는 기능은 그대로 유지합니다. 현재 프로젝트 웹사이트가 내부 서버 오류를 표시하고 있지만, GTK2-NG의 의도는 명확합니다: GTK2에 기반한 애플리케이션 생태계에 생명줄을 제공하는 것입니다.

앞으로의 방향

GTK2-NG 프로젝트는 기술 발전과 이전 버전 호환성 유지 사이의 지속적인 긴장을 강조합니다. 툴킷이 진화하는 것은 중요하지만, 방대한 소프트웨어 생태계의 현실은 오래된 구성 요소가 예상보다 오래 사용된다는 것을 의미합니다. GTK2-NG와 같은 커뮤니티 노력은 이 격차를 메우는 데 중요한 역할을 하며, 레거시 애플리케이션의 사용자와 개발자가 소외되지 않도록 합니다. 이 이니셔티브는 기능을 보존할 뿐만 아니라, 오픈소스 소프트웨어 풍경의 다양성과 견고함을 유지하는 집단 행동의 힘을 보여줍니다.

Sources