Qt의 라이센스는 프로젝트 상황에 맞도록 크게 두가지 선택지를 제공한다. 각각의 특징들과 오픈소스 라이센스 Qt를 사용할 때 생기는 몇가지 오해를 소개한다.
오픈소스 라이센스 Qt를 사용하면 내가 개발한 소스코드를 공개해야한다?
위에 언급한 몇가지 GPL라이센스 도메인을 제외하고 LGPL라이센스 라이브러리를 응용프로그램에서 동적(dynamic) 또는 정적(static)으로 링크 시켜 사용하는 경우, 응용프로그램의 소스코드 공개 의무는 발생하지 않는다. (정적 링크에서는 응용프로그램의 오브젝트 코드를 사용자에게 제공의무가 발생한다.) 다만 어떤 링크방법이든 Qt 소스코드를 수정하면 수정한 Qt소스코드는 공개해야하고 Qt 소스코드와 응용프로그램 소스코드를 결합하여 컴파일하는 경우도 전체 소스코들 공개의무가 발생한다.
오픈소스 라이센스 Qt를 사용하면 상업용 프로그램을 개발할 수 없다?
GPL이든 LGPL라이센스든 상업적으로 이용할 수 있다. 그러나 GPL라이센스 오픈소스를 사용하면 무조건 소스코드 공개해야 하는 것과 까다로운 의무가 따르므로 상업용 소프트웨어 개발에서는 꺼리기 마련이다.
라이선스 비용을 지불하지 않고 상용 비공개 소스 제품에서 Qt를 사용하고 싶다면 LGPL 버전을 사용하면 쉽게 할 수 있습니다.
상용 코드를 commercial.o로 컴파일 한 다음 LGPL 코드를 lgpl.o로 컴파일하여 단일 바이너리로 링크합니다.
ld -o binary lgpl.o commercial.o -lc
소프트웨어를 제공 할 때 바이너리(오브젝트파일)를 함께 보내고, 링크 지침과 함께 commercial.o 및 LGPL 라이센스 소스 코드에 대한 액세스를 제공합니다. 사용자는 이제 Qt의 LGPL 버전을 조작하고 lgpl.o로 컴파일하고 소스 코드에 액세스하지 않고도 commercial.o에 링크 할 수 있습니다. (참고 : 물론 LGPL에서 Qt를 수정할 수도 있습니다. 하지만 포크를 직접 유지 관리해야하며 일반적으로 그렇게하고 싶지 않을 것입니다.)
https://news.ycombinator.com/item?id=23321448