GTK vs Qt

지리즈의 이미지

재미있는 글이 있어서 링크합니다.

http://www.wikivs.com/wiki/GTK_vs_Qt

개인적인 관점에서 두 가지를 비교해 본다면,
Qt는 통합성, 일관성, 개발의 편리에 대해서 점수를
GTK는 상업적 개발 목표로 했을 때의 라이센스의 신뢰성을 주고 싶습니다.

추가로 C++에 친숙하다면, Qt에 더 점수를 주고 싶겠죠.

개인적으로는 ad hoc 식의 개발을 한다면, Qt는 비베에 준하는 생산성이 있다고 보입니다.
크로스 플랫폼을 목표로 하지 않는다고 하더라도,이는 Qt로 충분히 프로젝트를 진행할 만한 가치가 있다는 의미이기도 하지요.

물론 Qt라이브러리를 재배포할 때 부담은 생기지만요.

klara의 이미지

Gtk도 Qt도 LGPL로 오픈소스 라이센스는 같은데요...
더불어 Qt는 필요하다면 상업용 라이센스도 살수 있고, 더 엄격한 오픈소스라이센스인 GPL도 고를수 있으니,
Qt가 라이센스면에선 훨씬 유리한것 아닌가요?

지리즈의 이미지

향후에도 그럴 것이라는 보장이 없습니다.

이를테면, 다음이나 다다음 버전의 Qt4에는 LGPL 범주에 있는 몇몇 잘나가는 기능 중 일부를
GPL 혹은 상용 듀얼 라이센스에만 사용가능하도록 제한하는 경우가 생길 수도 있습니다.
아니면, Qt4 대박을 쳐서, Qt5로 시장을 평정하니까 Qt6부터는 다시 GPL+상용 듀얼 라이센스로 갈 수도 있죠.
물론 이런 경우는 포크가 되겠지만, 트롤텍(노키아)라는 기업의 주도로 일관성이 유지되었던 잇점은 사라지게 되는 거죠.

더불어 LGPL이면, Qt가 다른 라이센스로 제공되는 것이 그다지 의미가 없습니다.
물론 상용버전이 오픈소스 버전보다는 몇가지 기능이 더 많기는 하지만요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

danskesb의 이미지

http://www.kde.org/community/whatiskde/kdefreeqtfoundation.php

그렇다고 치기에는 이런 안전 장치가 있습니다.

Qt 상용 버전의 대표적인 '몇 가지' 기능은 ActiveQt로, ActiveX 컨트롤을 Qt 위젯처럼 쓸 수 있게 해 주는 프레임워크입니다. 이 외에도 오픈소스 에디션과는 달리 '기술 지원'(메일링 리스트나 버그 트래커 통한 거 말고요)을 받을 수 있으며, 일부 Qt 솔루션이나 비주얼 스튜디오 확장(옛날, 지금은 전부 다 제공됨) 등이 유료 기능이었습니다.

---- 절취선 ----
http://blog.peremen.name

지리즈의 이미지

ssh, openssh 생각을 했습니다.

4.6까지 LGPL(포함)로 나왔죠? 이미 나온 것은 언제나 LGPL입니다. 다시 소급이 안되죠.

문제는 차기 버전입니다. LGPL인 부분을 없애고, 이전 처럼 GPL/상용 듀얼로 가게될 경우
kdefreefoundation의 agreement도 커버할 수는 없습니다.
(노키아와 인수된 이후 새로운 합의가 도출되지 않아 보이기도 하구요)

물론 이러한 라이센스 잇슈가 생기자 마자, 커뮤니티에서 지원은 있겠죠.
그럼 지금의 GTK와 동일선상에 놓이게 되는 것입니다.

상업적인 프로그램을 개발하는 입장에서는 Qt의 표준화된 framework의 잇점이 흔들릴 수 있습니다.

지금 현시점에서는 Qt로만 개발된 것은 다른 플렛폼에서 컴파일만 다시 하면
대부분 그대로 사용할 수 있다는 것은 큰 매리트였으니까요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

cwryu의 이미지

저런 장치 없어도 릴리스했던 Qt부터 시작해서 LGPL로 fork해서 계속 개발하면 못 하는 건 아니죠. 어떤 프로그램이든 이미 릴리스한 프로그램의 라이선스는 낙장불입, 변하지 않습니다. 저 agreement가 체결되던 시절의 제한적인 (수정이 불가능했던) Qt 라이선스나 몇 년 후 QPL/GPL 시절이라면 저런 약속이 절실히 필요하겠지만 호환성이 높은 LGPL에 와서는 별로 필요성이 크지 않습니다.

문제는 과연 노키아가 공개 버전의 개발을 중단했을 때 커뮤니티가 Qt 개발을 떠맡아서 계속 할 수 있느냐인데요. 노키아로 넘어 온 이후는 모르겠지만 커뮤니티와 친하지 않게 몹시 폐쇄적으로 개발을 해 왔던 걸로 기억하는 트롤테크의 Qt 개발 행태를 생각해 보면 그런 일이 발생했을 때 충격은 작지 않을 겁니다.

지리즈의 이미지

트롤텍의 입장에서는 커뮤니티와 친해질래야 친해질 수가 없는게 한계일 겁니다.
라이센스상 커뮤니티 쪽의 소스 패치를 수용할 수가 없을 테니까요.

최대한 해봤자 bug report와 feed back 전부였겠죠.

차라리 Nokia가 개발자체를 포기한다 던가 아에 소스를 공개하지 않고 독점으로 간다면
커뮤니티가 잘 이어갈 것이라 봅니다만...

차기버전을 애매하게 GPL/상용으로 가게 될 경우,
지금 wine의 전처를 밟을 가능성도 높습니다.

이를테면, 공개된 소스를 보지 않고, 구현을 해야 하기 때문에
코드 참조 논란으로 시끄러워 질 소지가 매우 크거든요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

ifree의 이미지

지리즈 님이 와인의 전처에 감정이 많은 듯.

지리즈의 이미지

잘 아시겠지만 Qt/KDE 열혈 팬이랍니다.

지금 우리 회사에서도 Qt로 개발중이구요.

다만, 회사에 제가 제안을 하는 입장이 되면,
이런 저런 생각을 많이 하게 되더라구요.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

bellows의 이미지

저도 Qt에 반해서 Kubuntu로 전향하려고 했는데
한글이 영 불편하던데요... 스페이스가 마지막 글자에 들어가는 현상...
kde에서 어떻게 한글 쓰세요?

아직은 갈 길이 멀다

지리즈의 이미지

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

segfault의 이미지

노키아가 트롤텍을 인수한 이후 커뮤니티의 참여가 활발해졌습니다. Qt Jambi는 아예 관리권이 커뮤니티로 넘어갔고요. public git repository도 오픈되었습니다.

http://labs.trolltech.com/blogs/2009/05/11/qt-public-repository-launched/
http://qt.gitorious.org

JIRA 기반의 이슈 트래커도 오픈이 되었죠.

http://bugreports.qt.nokia.com/

예전에 Qt에 패치 한번 보내려고 트롤텍 본사에 우편까지 주고 받았던 경험이 있어서 저도 그 부분에 대해서는 좀 걱정하긴 했는데 이 정도면 전보다는 많이 개방된게 아닐까요?

----
http://www.planetmono.org

gurugio의 이미지

예전에 QT 라이센스 때문에 상용 개발을 포기한적이 있습니다.
노키아에서 적극적으로 QT를 오픈소스로 홍보하고
개발자 풀을 유지하지 않으면 많은 회사들이 라이센스 문제로 갈등할것 같습니다.

----
섬기며 사랑하면 더 행복해집니다.
나불나불 블로그 - http://gurugio.blogspot.com/
몸에 좋은 칼슘이 듬뿍담긴 OS 프로젝트 - 칼슘OS http://code.google.com/p/caoskernel/

지리즈의 이미지

단지 LGPL이 아니였을 뿐이죠. ^^

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

지리즈의 이미지

Qt의 LGPL 정책이 확대되면 확대되었지, 없어지는 않을 겁니다.

반면, GTK의 부족한 framework 기능을 제공하고 있는
많은 라이브러리 중에 일부도 라이센스가 변경되지 않을 것이라는 보장도 할 수 없겠죠.(LGPL이 GPL화 되는 것과 같은)

뭐 비슷하기는 한데, 아직까지는 노키아의 LGPL에 대한 의지가 얼마나 있는지가를 정확히 가늠하기에 어렵다는 점이 불안요소입니다.

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

kkb110의 이미지

wxWidget 같은 한단계 위 레이어도 논의에 낄 수 있을까요?

keedi의 이미지

반대로 C에 친숙하다면 GTK가 더 익숙한 것 같습니다.
또 다른 언어로 바인딩도 잘되있어서 선택의 폭도 넓구요.

다만 GTK는 부담스러운 것이 포팅때 수많은 라이브러리에 대한 의존성 때문에 좀 힘들더라구요.
리눅스 시스템에서 리눅스 시스템으로 가는것은 별 부담없겠지만.
일단 DirectFB 같은 경우에 딱히 진행사항도 없는 것 같고
임베디드 장비에 올릴때는 Qt에 비해 애로사항이 많은 것 같습니다.

물론 실력이 좋으신 중수 및 고수분들께는 해당사항이 없겠죠. ^^)a

---------------------------
Smashing Watermelons~!!
Whatever Nevermind~!!

Keedi Kim

----
use perl;

Keedi Kim

지리즈의 이미지

지지분진한가요?

There is no spoon. Neo from the Matrix 1999.

There is no spoon. Neo from the Matrix 1999.

Scarecrow의 이미지

gjs를 비롯한 ECMAScript바인딩을 기대합니다.

GtkBuilder와 ECMAScript바인딩을 조합한다면
무척 멋있는 개발환경이 될 듯합니다.

loias의 이미지

QT 라이센스가 LGPL로 계속 풀리지 않을까 합나다.

트롤에서 노키아로 넘어가면서의 행보를 보면, 노키아도 애플처럼 스마트 폰 사업 오비스토어를 크게 벌이고 싶은데

일관성있는 개발 환경도 없고 하니 QT를 바탕으로 OVI스토어를 확장시키지 않을까합니다.

현재 QT로드맵을 보면 일관성있게 핸드셋개발쪽으로 가고 있습니다.

스마트폰 열풍에 힘입어서 QT는 충분히 경쟁력있습니다.

MS의 VS시리즈
애플의 Cocoa?
노키아의 QT
구글의 자바?파이썬?Go?

Language전쟁이 아닐까 합니다.