Qt 라이선스 가이드

– Qt 제품 구조 및 라이선스 안내

 

Qt는 크로스 플랫폼 어플리케이션 과 사용자 인터페이스 프레임워크 입니다. Qt는 전세계 70여개 다양한 산업 군에서 데스크탑, 모바일 그리고 임베디드 플랫폼에서 동작하는 소프트웨어 제품을 제작하는데 사용되고 있습니다. Qt프레임워크와 도구를 사용하는 여러 개발자 분들과 기업 고객들의 요구사항에 맞는 다양한 Qt 라이선스 정책 옵션이 존재합니다. 본 문서는 다양한 제품과 라이선스 타입에 대한 설명을 드리고 고객의 다양한 Use Case 에 알맞은 라이선스 타입을 제안드리기 위해서 제작되었습니다.

 

certified partner

 

목 차

 

1

Qt 제품 구조 및 개발자 제공 사항

1.1 Qt 애플리케이션 개발 (Qt for Application Development)

1.2 Qt 임베디드 디바이스 개발 (Qt for Device Creation)

 

2

Qt 상용 라이선스 모델

2.1 Qt 애플리케이션 개발 라이선스

2.2 Qt임베디드 디바이스 개발 라이선스

2.3 SDK 라이선스

2.4라이선스 타입 선택 안내

2.5개발자 라이선스 안내

 

3

Qt오픈소스 라이선스

3.1 Qt 상용/오픈 소스 이중 라이선스 철학

3.2 라이선스 타입 선택 안내

3.3 GPL, LGPL, 상용 Qt 라이선스 차이

3.4 LPGL 제반 쟁점 사안

 

4

Qt 상용 라이선스 구매에 따른 The Qt company / Ocube 기술 지원 안내

5.1 사업 관계

5.2 The Qt Company 기술 지원 안내

5.3 Ocube 기술 지원 안내

 

6

 

1. Qt 제품 구조 및 개발자 제공 사항

Qt는 20 년이 넘는 역사를 가진 제품입니다. 최초의 버전은 1995년으로 거슬러 올라갑니다. 본래 Qt는 다양한 데스크탑 운영체제(Desktop OS) 상의 C++ 크로스-플랫폼 개발 도구를 의도로 탄생하였습니다. 동일한 소스코드를 이용하여 개발자는 Windows, Linux 그리고 Mac OS X 시스템에서 각기 동작할 수 있는 애플리케이션을 제작할 수 있습니다. 특히 GUI(Graphical User Interface)제작에 매우 유용하게 활용되고 있습니다. Qt의 이러한 크로스-플랫폼 지원 기능은 여러 소프트웨어 프로젝트에 Qt가 선택되고 있는 가장 큰 이유이자 Qt의 장점입니다.. 그러나 Qt는 애플리케이션 개발 프레임워크 만을 목적으로 하고 있지는 않습니다. 모바일과임베디드 플랫폼에서도 개발자는 다양한 목적으로Qt을 이용해 빠르고 편리하며 경쟁적인 제품 개발에 집중할 수 있습니다.

Qt가 세상에 소개되고 얼마 지나지 않은 시점에 Qt는 임베디드 플랫폼으로도 포팅 되었으며, Qt가 UI Screen 을 지닌 모든 종류의 임베디드 제품의 GUI 제작에 있어서 매우 생산적인 프레임워크라는 사실이 명백해 졌습니다. 임베디드 제품 개발 시에 뛰어난 성능을 유지하는 동시에 현대적이고 세련된 터치 방식의 GUI를 제작할 수 있는 개발환경을 구축해주는 Qt의 강력한 GUI 기능을 이용하기 위해임베디드 개발자들은 일반적으로 Qt프레임워크 기술을 선택하고 있습니다.

Qt가 제공하는 두 종류의 개발자 제공사항 –Qt 애플리케이션 개발/ Qt임베디드 디바이스 개발 – 은 Qt Core Library와 도구들을 기반으로 하며 추가적으로 각각의 개발 목적에 부합하는 각기 다른 구성으로 이루어져 있습니다.

 

1.1 Qt 애플리케이션 개발 (Qt for Application Development)

Qt for Application Development 는 다수의 데스크탑 과 모바일 운영 체제에서 동작하는 애플리케이션을 제작하기 위한 제품 입니다. 현재 Qt 5.7 버전에서 Application Development 는 Windows(Win7 에서 Win10까지 모든 플랫폼을 포함하는 다양한 버전), Linux, OSX, Android 그리고 iOS를 지원하고 있습니다.

Qt for Application Development 에서 지원하는 모든 플랫폼을 기반으로 개발자는 공통된 애플리케이션을 제작하고 전개할 수 있습니다. 개발자가 데스크탑과모바일 플랫폼을 위한 애플리케이션 제작을 기획하고 있으며, OS 마켓 – 예) Apple 의 AppStore, Google Play 혹은 Microsoft Store 등 – 이나 독자적인 배포 채널을 통해 제품을 배포하려고 한다면 Qt for Application Development 가 적절한 라이선스 입니다.

Qt for Application Development 의 개발자 제공 사항은 약 40개 가량의 크로스-플랫폼 코드 모듈들과 Qt Creator IDE 에 통합되어 제공되는 다양한 개발 도구들로 구성되어 있습니다.

 

Qt Licensing Guide 그림 1그림 1. Qt for Application Development 개발자 제공 사항

 

1.2 Qt임베디드 디바이스 개발 (Qt for Device Creation)

임베디드 하드웨어와 소프트웨어가 결합된 제품* 개발에 Qt을 고려하고 있다면, Qt for Device Creation 이 알맞은 제품입니다. Qt 의 크로스-플랫폼 라이브러리 이외에도, Qt for Device Creation 은 다양한 임베디드 특화된 개발 도구들과 임베디드 제품 개발을 마치 데스크탑 애플리케이션 개발처럼 개발 workflow를 간결하게 만들어 주어서 개발 일정을 극적으로 단축시켜줄 수 있는 솔루션들을 포함하고 있습니다.

그림 2. 에서 보여지듯이 Qt for Device Creation 을 이용하면 개발자는 다음의 라이브러리들과 개발도구 와 솔루션을 사용할 수 있습니다.


* “임베디드 하드웨어와 소프트웨어가 결합된 제품“ 에 대한 보다 자세한 정보는 목차2.4를 참고하십시오.

 

Qt Licensing Guide 그림 2
그림2. Qt for Device Creation 개발자 제공 사항
<Add-ons, Essentials, Development Tools 는 그림1을 참조>

 

  • 그림 Qt for Application Development 에서 확인할 수 있는 크로스-플랫폼 Qt API들(Essential 과 Add-on Libraries). 이 라이브러리들은 임베디드 제품의 User Interface를 제작하는데 주로 사용되며, networking 이나 sensor communication 처럼 기반이 되는 Program Logic 을 제작하는 곳에도 유용하게 사용됩니다. 상위 레벨의 프로그래밍 API들은 개발자가 플랫폼 세부사항들을 신경 쓰지 않아도 될 수 있도록 해주기 때문에 생산성을 높여줍니다. 또한 Qt API를 이용하면 장치와 시스템 레벨의 세부적인 사항 에 접근하고, 하드웨어 주변장치와 백앤드 시스템과 직접 통합하는 작업도 쉽게 진행할 수 있습니다. 네이티브 API들과 Qt Graphics Stack을 통해서는 장치의 최대한의 성능을 이끌어 낼 수 있습니다.
  • Qt Creator IDE 는 크로스-플랫폼 개발 환경 도구 입니다. Qt Creator를 이용하면 데스크탑모바일개발은 물론 임베디드 개발 과정을 직접적으로 지원해줍니다. 개발자는 UI디자인을 시각적으로 진행할 수도 있고, 소스코드를 작성하고 편집할 수 있으며, 임베디드타겟 환경을 설정하고, 장치나 혹은 장치 에뮬레이터에 곧바로 전개시켜 볼 수 있습니다. 또한 임베디드타겟에 직접 연결한 채로 디버깅과 프로파일링을 실행할 수 도 있습니다. 이런 모든 기능들이 Qt Creator IDE 안에서 종합적으로 지원 됩니다.
  • Qt Virtual Keyboard 나 Over the Air Solution 과 같은 부가적인 임베디드 솔루션들이 제공하는 막강한 기능을 편리하게 이용하여 개발자는 이미 개발되어 있는 기능들을 임베디드 상황에 맞추어 추가 개발할 필요없이 제품의 가장 핵심적인 가치를 개발하는데 집중할 수 있습니다.
  • Boot to Qt 소프트웨어 스택은 장치에 대한 소프트웨어 스택을 환경설정하고 일일이 세팅을 할 필요 없이 즉시 타겟임베디드 하드웨어에서 개발을 시작할 수 있도록 해줍니다. Boot to Qt 은 완전한 YoctoLinux 기반 호환성을 갖추고 있기 때문에, 개발자는 제공되는 Yocto 프로젝트 레시피를 사용하여 생산에 알맞은 형태로 스택의 환경설정이 가능합니다.

 

2. Qt 상용 라이선스 모델

Qt 상용 라이선스 의 목적은 개발자 혹은 고객사가Qt을 가장 효율적이며 최선의 방법으로 사용할 수 있도록 도움을 주어Qt와 함께 제품 개발 성공과 사업 성장을 이룰 수 있도록 돕는 것 입니다. Qt 상용 라이선스는 라이선스 받은 소프트웨어* 를 수정하고, 사용하고 전개하며 배포할 수 있는 온전한 권한을 최종 사용자에게 제공하는 등록 면허 입니다.

본 단락을 통해 Qt for Application Development 와 Qt for Device Creation 라이선스 모델과 어떤 라이선스 타입이 상황에 맞게 필요한 지 알아 보도록 하겠습니다.

 

2.1 Qt애플리케이션 개발 라이선스

Qt for Application Development 제품에 대해서 라이선스 모델은 개발 라이선스 계약(Qt for Application DevelopmentLicense Agreement)에 의거합니다. Qt 라이브러리 또는 Qt 개발 도구를 직접 사용하는 개발자는 개인당 라이선스 넘버를 부여 받아 사용하여야 합니다. Qt 애플리케이션 개발 라이선스는 Qt for Application Development 가 지원하는 모든 데스크탑과모바일 플랫폼에서 개발, 전개, 그리고 배포할 수 있는 권리를 포함합니다.

Qt 애플리케이션 개발 라이선스는 영구(perpetual) 라이선스로 Qt 개발자는 사용 만료의 기한 없이 Qt 라이브러리와 도구를 이용할 수 있습니다. Qt 애플리케이션 개발 라이선스를 구매할 경우 최초 1년 동안 공식적인 Qt 기술 지원을 받을 수 있으며(목차 5 참조), 해당 기간 동안 Qt 소프트웨어 업데이트가 가능합니다. 이후 매년 동안 라이선스 소유자는 라이선스를 갱신(renew) 하면 Qt 기술지원과 소프트웨어 업데이트를 1년 동안 받을 수 있는 자격이 주어집니다.


*3rd Party 소프트웨어를 포함하는 라이선스를 부여받은 소프트웨어에 대한 보다 자세한 정보는 목차4를 참고하십시오.

 

2.2 Qt임베디드 디바이스 개발 라이선스

Qt for Device Creation 제품에 대한 라이선스 모델은 두 부분으로 이루어져 있습니다. 하나는 Qt 라이브러리 또는 개발 도구를 사용하는 각각의 개발자용 개발 라이선스와 하드웨어와 소프트웨어가 결합된 형태의 제품 배포를 위한 라이선스 입니다. 만약에 완성된 소프트웨어 제품을 하드웨어와 함께 배포할 경우, 각각의 배포되는 소프트웨어에 개별적으로 라이선스를 보유해야 합니다. 이러한 사항은 Qt for Device Creation 을 최초 사용할 때 동의하는 계약(Qt for Device Creation License Agreement)에 의거 합니다.

The Qt Company는 배포 라이선스(Distribution License) 구매에 대한 Standard 패키지를 제공하고 있습니다. 배포 라이선스의 Unit 별 가격은 다음과 같은 요인들에 의해 결정됩니다.

  • 배포 수량(Distribution Volume) – 초기 구매 수량(initial purchase), 양산 예측 수량(estimate), 확정 구매 수량(commitment level) 등
  • 배포 계약 기간(Term Length for Distribution)
  • 배포 수량 통보(Distribution Volume Reporting)
  • 지불 계약 기간(Payment Terms) – 선 구매(pre-buy), 예정 구매(scheduled payments), 체납(in arrears) 등

Qt for Device Creation 의 개발 및 배포 라이선스 소유 고객은 희망할 경우 배포라이선스 가 확보된 임베디드 제품에 “Built With Qt” 라는 로고를 삽입할 수 있습니다.

 

2.3 SDK 라이선스

개별적인 애플리케이션 프로그램이나 임베디드 장치 제품을 개발하는 것 이외에, 통합 소프트웨어 플랫폼을 제작 하기 위해서 Qt을 사용할 수 있습니다. 배포가 가능한 일반 SDK 는Qt 개발자 제공 사항에 포함되어 제공될 수 있습니다.

  • 고유의 룩-엔-필(Look-and-Feel) 을 Custom Qt Creator 통합 개발 환경(IDE)와 통합하기 위한 Qt 라이브러리가 포함된 SDK + Custom UX 라이브러리
  • Qt 라이브러리가 포함된 SDK + Custom 하드웨어 최적화 &빌드 도구들 + Qt Creator 통합 개발 환경(IDE)
  • Qt Creator 의 최적화 및 확장 버전으로 구성된 SDK

이러한 모든 경우에 Qt 라이선스를 소유한 개발자는 스스로의 소프트웨어/임베디드 장치 제작을 위한 Qt 라이브러리와 개발도구를 사용하기 위한 용도 이외에 Qt 기반의 SDK를 다수의 소프트웨어 개발자들에게 배포하기 위한 용도로 사용하게 됩니다. Qt 기반의 SDK를 사용하게 되는 대상 개발자들은 스스로가 Qt 라이브러리와 도구들을 사용하게 됩니다. 이러한 경우는 특정한 SDK 배포 권한과 별도의 라이선스 계약을 필요로 합니다.

SDK 배포 모델은 기간 한정적이며, 계약된 기간 내에 배포 가능한 SDK 수량에 의해서 결정 되는 과금 모델을 취하고 있습니다.

Custom SDK 제작에 도움을 드릴 수 있는 서비스 패키지 또한 존재합니다.

 

2.4 라이선스 타입 선택 안내 

“어떤 제품과 라이선스를 선택해야 하는가?” 특히 Qt for Application Development 와 Qt for Device Creation 간의 선택은 가장 빈번히 접수되고 있는 문의 사항입니다. 이에 대한 답변은 일반적으로 최종 판매되어 배포되는 제품이 임베디드장치(hardware + software) 인지 혹은 단지 애플리케이션(software)인지에 따라서 달라집니다. 보통 이와 같은 정의를 통해 명확히 해결되지 않는 경우를 위해 추가적인 정의를 공유합니다.

Qt for Device Creation 라이선스 계약*에서는 ‘하드웨어와 소프트웨어 결합 배포’(a joint hardware and software distribution) 를 다음과 같이 정의합니다.


*http://www.qt.io/terms-conditions/

 

  1. 하드웨어 장치를 배포하되, 최종 사용자 환경 설정상,임베디드 제품의 main user interface또는 임베디드 제품기능의 상당 부분(substantial functionality)이 라이선스 된 소프트웨어나 라이선스 된 소프트웨어를 기반으로 하는 소프트웨어를 사용하는 개발자 혹은 ‚라이선스 소유권자에 의해서 만들어진 애플리케이션에 의해서 제공되며, 임베디드 제품의 main user interface 또는 임베디드 제품 기능의 상당 부분(substantial functionality)이 라이선스 된 소프트웨어 혹은 ‚Qt의 오픈소스 버전 혹은 ƒ다른 어떤 Qt를 기반하는 소프트웨어의존(depends on)하는 경우; 또는

distribution of a hardware device where, in its final end userconfiguration, the main user interface or substantial functionality ofthe device is provided by Application(s) created by Licensee or others,using Licensed Software or Licensed Software based softwareproduct, and depends on the Licensed Software or an open sourceversion of Qt or any Qt based software product; or

  1. 임베디드 제품의 main user interface 또는 임베디드 제품 기능의 상당부분(substantial functionality)이 라이선스 된 소프트웨어를 기반으로 하는 소프트웨어를 사용하는 개발자 혹은 ‚라이선스 소유권자에 의해서 만들어진 애플리케이션에 의해서 제공되며 임베디드 제품의 main user interface 또는 임베디드 제품 기능의 상당 부분(substantial functionality)이 라이선스된 소프트웨어에 의존(depends on) 하는임베디드 장치에 라이선스된 소프트웨어의 설치를 가능하게 하도록 디자인된 임베디드장치와 함께라이선스된 소프트웨어를 배포하는 경우.

distribution of the Licensed Software with a device designed tofacilitate the installation of the Licensed Software onto the same device where the main user interface or substantial functionality ofsuch device is provided by Application(s) created by Licensee or others,using the Licensed Software, and depends on the Licensed Software.

 

이러한 차이를 구분 지어주는 요소들을 살펴보도록 하겠습니다.

 

타겟 플랫폼 Target Platforms

타겟 플랫폼 자체나 타겟 플랫폼의 운영 체제 자체는 알맞은 라이선스 타입을 결정하는 요소가 아닙니다. “데스크탑 윈도우 혹은 리눅스 운영 체제에 제품을 전개할 때는 항상 Qt for Application Development 제품을 이용해서 작업을 할 수 있다” 라고 할 수 없습니다. 예를 들어 셀프 서비스 키오스크(self-service kiosk)를 일반적인 데스크탑 운영 체제를 기반으로 작동시킬 수 있지만, 임베디드 제품의 main user interface 또는 임베디드 제품 기능의 상당부분(substantial functionality) 이 Qt로 제작된 애플리케이션에 의해서 제공된다면, 명시된 I. 부분의 정의에 따라서, 닫혀진 임베디드 제품(closed device)으로 간주됩니다.

 

GUI가 없는 임베디드 장치의 경우

Qt가 주로 GUI 제작을 위해서 이용되더라도, Qt로 제작되었으나 GUI가 없는임베디드 장치들 역시 많이 존재합니다. 예를 들어 Qt의 네트워크와 데이터베이스 모듈들을 이용해서 서버장치를 개발할 수 있는데, 명시된 I. 부분의 정의에 따르면 Qt 의 임베디드 배포 라이선스는 유저 인터페이스의 유무에 의해서 결정되는 것이 아닌 제품 기능의 상당 부분(substantial functionality)이 Qt 애플리케이션에 의해서 제공 되는지 여부에 달려있기 때문에, 유효한 배포 라이선스가 여전히 필요합니다.

 

Qt Application 의 동적 사후 배포(Dynamic post-distribution)

명시된 II. 부분 의 설명은 다소 혼란스러울 수 있습니다. 그러나 이는 단순히 라이선스를 적용 받아야 하는 사용자가임베디드 장치에 Qt 어플리케이션을 탑재하지 않은 채로 장치를 배포한 이후 Qt와 관련이 없는 애플리케이션이 장치에 설치되면서 동적으로 main Qt Application 을 설치하게 되는 경우로 I. 에서 명시된 조항들을 피해갈 수는 없음을 의미합니다. 이에 대해 “최종 사용자의 사용 환경 final end user form” 에서의 장치 환경 설정이 가장 결정적인 언급이 됩니다.

 

가상 환경과 하이퍼바이저(Virtual environments and hypervisors)

가상 환경이나, 컨테이너, 그리고 하이퍼바이저의 경우의 라이선스 발급은 Qt가 일반적인 하드웨어에서 동작되는 것과 동일한 경우로 라이선스 정책을 따르게 됩니다.

 

2.5 개발자 라이선스 안내

Qt 라이브러리를 이용하는 개발자 혹은 Qt 개발 도구를 이용해서 개발을 진행하는 각각의 개발자들은 개발자 각각의 개별 라이선스를 취득해야 합니다.

 

개발자의 경우

만약 개발자가 Qt API를 이용해서 소스 코드를 작성하고 있다면, 명백히 해당 개발자는 스스로의 계정으로 만들어진 라이선스를 가지고 있어야 합니다. 만약 동일한 프로젝트에서 다른 개발자가 시스템의 완전히 다른 부분을 개발하고 있을 때, 예를 들어 디바이스 드라이버라던가 리눅스 이미지 최적화를 어떠한 Qt 코드도 이용하지 않은 채로 작성하고 있으며 Qt Creator IDE 또한 이용하고 있지 않은 경우에는 해당 개발자는 Qt 라이선스 계정을 갖고 있어야 할 필요가 없습니다.

 

디자이너 와 번역가의 경우

만약 Interaction 디자이너가 Qt Creator IDE 를 사용하여 QML 코드와 직접적으로 Interfacing 하고 있는 경우에, 디자이너는 Qt 개발 라이선스를 확보하고 있어야 합니다. 별도로 분리되어 배포되는 Qt Designer Drag & Drop 도구를 사용하는 경우에는 Qt 개발 라이선스를 확보하고 있을 필요가 없습니다. Qt 의 일반적인 라이선스 정책의 예외로 Qt Designer, Qt Linguist 그리고 Qt Assistant 는 독립적인 애플리케이션으로 재 배포될 수 있으며, 이는 예를 들어 번역가들이 별도로 Qt Linguist와 작업할 수 있도록 하기 위함입니다.

 

테스터의 경우

만약 소프트웨어 프로그램 테스터가 완성된 애플리케이션의 최종 사용자 검사를 목적으로 바이너리 형태로 실행하는 경우에 테스터는 라이선스를 필요로 하지 않습니다. 그러나 만약 테스터가 Qt Creator 내부의 디버깅 도구를 이용하는 경우에는 다른 경우로 간주되며, 테스터에게도 라이선스가 필요합니다.

 

빌드 팜 혹은 개별 빌드머신들의 경우 Build Farms or Separate Build Machines 

애플리케이션을 개발하기 위한 빌드팜 Build Farms 내부의 Qt 혹은 Qt 개발 도구를 사용하는 모든 임직원들은 모두가 개별적인 Qt 라이선스를 발급받아야 합니다. 만약 동일한 빌드팜 내에서 Qt를 사용하지 않은 직원의 경우에는 라이선스는 필요치 않습니다. 이외 불 명확한 모든 경우에 대해서는 Ocube*로 문의를 해주시기 바랍니다.


*https://qtocube.co.kr  

 

3. Qt 오픈 소스 라이선스

Qt는 최초 버전 출시 이후로 줄곧 상용과 오픈 소스 라이선스의 이중 라이선스 정책하에 제공되어 왔습니다. 현재Qt가 오픈 소스로 제공되는 경우의 라이선스는 Free Software Foundation(FSF)*의 GPL(GNU General Public License) Version 2.0** 과 GPL Version 3.0*** 그리고 LGPL(GNU Lesser General Public License) Version3**** 를 따르고 있습니다.

<주의> LGPLv3 agreement를 읽을 때, LGPLv3 는 GPLv3 agreement 의 확장이라는 점을 유의 하십시오. 따라서 LGPLv3 내용의 온전한 이해를 위해서는 GPLv3 agreement를 선행하여 살펴보아야 하며, LGPLv3 에서 추가로 확장된 내용들을 이해하여야 합니다.

크로스 플랫폼 API와 개발 도구로 구성된 Qt 메인 프레임워크는 이중 라이선스 정책하에 제공되고 있지만 개발자 제공 사항이 모든 다양한 라이선스 타입에 따라 정확히 일치하지는 않습니다. FSF 라이선스들도 해당 라이선스를 통해 사용할 때 각 사용자들이 준수해야 하는 의무사항들이 존재합니다.

오픈 소스 라이선스 정책은 Qt의 전체적인 발전에 있어서 중요한 역할을 하고 있습니다. 대부분의 Qt과 관련된 연구 개발은 오픈 소스 아래 지휘되는 Qt 프로젝트 하에 이루어지고 있습니다. 개인 이나 단체가 The Qt Company와 함께 Qt 프레임워크의 개발에 참여하는 방법은 Qt Contributor*****가 되어 모든 Qt 생태계 에 혜택을 제공하기 위해서 제품을 향상 시키는 작업에 동참하는 것입니다. 등록된 Qt 기반의 Qt 프로젝트에 직접적으로 기여하는 방식으로, 개인이나 단체는 스스로의 코드베이스의 유지 부담을 덜고 추가적인 개선을 도모할 수 있습니다.


*http://www.fsf.org/

**http://www.gnu.org/licenses/old-licenses/gpl-2.0.html

***http://www.gnu.org/licenses/gpl-3.0.html

****http://www.gnu.org/licenses/lgpl.html

*****http://wiki.qt.io/Qt-Contribution-Guidelines

 

이번 단락에서는 Qt의 상용/오픈 이중 라이선스 정책에 담겨 있는 철학을 소개하여 오픈 소스 사용에 따르는 의무사항들이 어떤 기원을 가지고 만들어 졌는지 알아봅니다. 다양한 라이선스 타입에 따라 달라지는 개발자 제공사항에 대해서도 알아보도록 하겠습니다. 부가적으로 Qt 오픈 소스 라이선스를 사용할 때 지켜야 하는 의무사항들에 대해서도 알아보도록 하겠습니다.

 

3.1 Qt 상용/오픈 소스 이중 라이선스 철학

Free Software 운동* 에 따라 소프트웨어를 사용하는 특정한 권리에는 상응하는 의무사항이 있습니다. 오픈 소스 라이선스를 사용하는 개발자는 Qt 애플리케이션이나 장치를 사용하는 것에 있어서 네 가지 주요한 단계의 자유로운 권리를 가집니다.

  • 어떠한 목적으로도 프로그램을 구동시킬 수 있는 자유
  • 프로그램의 동작 방식을 연구하고 특정한 목적에 부합하도록 적용할 수 있는 자유
  • 개발 생태계를 위해 복사본을 재 배포 할 수 있는 자유
  • 프로그램을 개선하고 스스로의 개선 사항을 모든 관련된 공동체의 혜택을 위해서 개선 사항을 공적으로 배포할 수 있는 자유
  • The freedom to run the program for any purpose
  • The freedom to study how the program works and adapt it to specific needs
  • The freedom to redistribute copies so you can help your neighbor
  • The freedom to improve the program and release your improvements to thepublic, so that the whole community benefits

기본적으로, 오픈 소스 라이선스를 이용해 개발하는 개발자는 스스로의 사용자들에게 새롭게 만들어진 소프트웨어를 배포할 때 Qt 가 오픈 소스라이선스로 제공하는 수준의 자유로운 권리를 최종 사용자에게 동일하게 제공해야 한다는 개념을 준수해야 합니다. 이러한 철학은 또한 GPLv3/LGPLv3 서문**에 명확히 명시되어 있습니다.


*https://en.wikipedia.org/wiki/Free_software

**GNU GENERAL PUBLIC LICENSE, Version 3 의 서문 http://www.gnu.org/licenses/gpl-3.0.html

 

오픈소스 라이선스 사용자의 권리가 보호 받기 위해서, 다른 이들도 오픈 소스 라이선스 사용자가 이러한 권리를 가지는 것을 부정할 수 없으며, 오픈 소스 라이선스 사용자에게 이러한 권리를 포기하도록 종용할 수 없습니다. 그러므로, 오픈 소스 라이선스 사용자는 소프트웨어를 배포하거나 수정할 때 다른 이들의 자유를 존중해야 하는 특정한 책임을 지니게 됩니다.

예를 들어, 만약 오픈 소스 라이선스 사용자가 그러한 프로그램의 복사본을 무상으로 혹은 유상으로 배포할 때, 오픈 소스 라이선스 사용자는 복사본을 배포 받게 되는 사용자에게 스스로 부여 받은 동일한 권리를 전달하여야 합니다. 따라서 복사본을 배포 받게 되는 사용자도 소스코드를 받아야 하며 그들이 이러한 권리를 인지할 수 있도록 하기 위해서 이러한 조건들을 명시하여야 합니다.

이러한 규약 아래 Qt를 제공하는 것에 있어서 The Qt Company는 Free Software 커뮤니티를 적극적으로 지지하고 부응합니다. 물론 명시된 오픈 소스 라이선스 철학이 Qt를 사용하려는 개발자나 단체의 의도와 부합하지 않을 때에는 Qt 상용 버전 라이선스를 대신 선택하면 됩니다. The Qt Company는 오픈 소스 라이선스와 상용 라이선스의 양쪽 집단을 모두 지원하기 위해서 존재하고 있으며, 이중 라이선스 정책을 가지고 있습니다. 이러한 이중 라이선스 정책은Qt 프레임워크를 세상에 널리 전파하는데 매우 중요한 역할을 할 뿐 아니라 상업적인 용도로 Qt을 사용하는 경우에 있어서도 제한이 없는 이용을 가능하게 합니다.

 

3.2 라이선스 타입 선택 안내

오픈 소스 라이선스 사용자에게 특정한 Qt 라이브러리들은오직 엄격한 GPL 라이선스 만으로 이용 가능하며 LGPL로는 이용 가능하지 않다는 점을 인지하는 것이 중요합니다. 그림3,4 에서 각기 다른 라이선스 에 따라 달라지는 개발자 제공 사항에 대한 개요를 확인할 수 있습니다.

이에 따라 Qt LGPLv3 라이선스 사용자가 얻을 수 있는 개발자 제공 사항은 다음과 같습니다.

  • Core Qt Essentials 와 Basic Qt Add-on Code Modules
  • 개발을 위해서 기본적인 Qt 도구들의 사용

Qt GPL 라이선스의 개발자 제공 사항은 다음과 같습니다.

  • 기본Qt 도구들을 수정하고 확장할 수 있는 가능성(GPL 라이선스)
  • Qt Charts 와 Qt Data Visualization 라이브러리 등의 Qt for Application Development 에 해당하는 모든 Qt Add-On Module 들.

오픈 소스 라이선스를통해제공되는 사항 이외, 상용 Qt 라이선스로는 다음 개발자 제공사항을 부여 받습니다.

  • 상용 Qt 라이선스를 통해 라이선스가 부여된 모든 Qt 라이브러리와 개발 도구
  • 직접 타겟 전개나 디바이스에 직접 연결된 디버깅과 프로파일링 등 보호된 임베디드 장치 개발(Closed-device development)을 위한 부가적인 개발 도구들
  • 임베디드Qt 개발을 위해 선행 빌드된 맞춤 제작이 가능한 소프트웨어 스택(Boot to Qt)
  • 공식적인 The Qt Company 와 Ocube의 기술 지원

 

Qt Licensing Guide 그림3
그림3. 다양한 라이선스 타입에 따른 Qt for Application Development 개발자 제공사항

 

Qt Licensing Guide 그림4
그림4. 다양한 라이선스 타입에 따른 Qt for Device Creation 개발자 제공사항

 

3.3 GPL, LGPL, 상용 Qt 라이선스 차이

<주의> 본 문서는 법률적인 효력을 가지는 문서가 아니며, LGPL Agreement 의Ocube㈜에 의한 공식적인 법률 해석문서가 아닙니다. 오픈 소스 라이선스가 사용 용도에 맞는지 결정하는 사안에 대해서는 항상 Agreement의 원문을 참조하여야 하며 법률적인 효력을 가지는 상담처에 문의하시기 바랍니다.

라이선스 사이의 가장 커다란 차이는 소스코드를 공유하거나, Qt Code에 대한 수정사항 그리고 소프트웨어의 배포와 관련하여 각각의 라이선스가 부여하는 권리가 각기 다르다는 것입니다.

Qt Licensing Guide 그림5
그림5. 오픈소스(GPL,LPGL)와 상용(Commercial) 라이선스 정책에 따른 Qt 사용 차이

 

GPL 라이선스는 그 자체로 매우 순수한 오픈 소스 라이선스 입니다. 따라서 해당 라이선스로 개발된 결과물이 동일한 라이선스로 배포 되어 공유 되는 모든 종류의 오픈 소스 프로젝트에서 가장 이상적인 라이선스 타입입니다. GPL 라이선스로 되어 있는 Qt 라이브러리들을 사용할 때, 개발자는 고유의 소스코드와 GPL 라이선스 되어 있는 Qt 라이브러리의 모든 소스코드를 공개해야 할 의무를 가집니다.

Qt LPGL 라이브러리를 사용할 때는 고유의 소스코드는 비공개로 유지할 수 있습니다. 그러나 목차 3.1 에서 설명된 것처럼 Qt 오픈 소스 라이선스 사용에 따라 부여 받은 모든 권리는 동일하게 최종 사용자에게 전달해야 합니다. 실제로 이것은 Qt 라이브러리에 대한 모든 수정 사항을 공개해야 하며, Qt 라이브러리는 고유의 소프트웨어와 링크 되어 있어야 함을 의미합니다. 제3자는 고유 프로그램의 LGPL 라이선스를 부여 받은 Qt 라이브러리를 검사하고, 수정하며, 업데이트 하여 고유 프로그램에 전개할 수 있어야 합니다. 이러한 과정은 실제로 Dynamic Linking 방식의 애플리케이션 구동을 요구하고 임베디드 디바이스의 경우에는 최종 사용자가 해당 하드웨어 내에서 Qt로 작성된 부분의 소프트웨어를 수정하고 다시 기기에 업로드 하여 사용할 수 있도록 장치를 모두 개방해야 함을 의미합니다.

상용 라이선스 버전의 Qt를 이용할 때도 여전히 모든 Qt의 원본 소스코드를 제공받게 되지만, 고유의 사용 용도에 맞도록 Qt 소스코도를 개선하고, 수정하고 최적화 할 수 있는 완전한 권리를 부여 받게 되며, 그러한 모든 변경 사항을 비공개로 할 수 있는 경쟁적인 장점이 있습니다. 게다가 사용된 Qt 라이브러리들은 Free Software 가 아니기 때문에, GPL/LGPL 의무사항을 따를 필요가 없습니다. 결과적으로 최종 배포되는 소프트웨어 패키지 안에 Qt 애플리케이션은 Static Linking을 이용해 비공개로 포함할 수 있습니다. 간결화된 배포 방식 이외에도, Static Linking을 이용하면 상대적으로 성능을 향상시킬 수 있고, 보안을 철저하게 유지할 수 있습니다. *

 

3.4 LGPL 제반 쟁점 사항

GPL 로 라이선스 된 Qt를 사용할 때 준수해야 하는 정책은 간결하고 명확합니다. GPL 은 본래가 오픈 소스 프로젝트에서 보통 사용되고 배포와 관련된 GPL 라이선스의 의무 사항들은 준수하기 위한 절차는 간단한 것들이기 때문입니다. GPL 라이선스의 특성상 해당 소스코드를 모두 공개한다는 점에서 GPL은 특별히 상용 제품의 개발에 적용하기에는 적당하지 않은 라이선스 타입입니다. LGPL의 경우에는 GPL보다 덜 엄격한 정책을 제공하고 있기 때문에 상용 버전에서 간혹 채택되어 사용되고 있습니다만, 개발 및 배포와 관련된 LGPL의 의무 사항들은 상대적으로 복잡하여 주의 깊게 반영을 해야합니다. 본 단락에서는 LGPL Agreement 에 의해 명시된 주요한 의무 사항들을 살펴 보도록 하겠습니다.

<주의> 본 문서는 법률적인 효력을 가지는 문서가 아니며, LGPL Agreement 의 Ocube㈜에 의한 공식적인 법률 해석문서가 아닙니다. 오픈 소스 라이선스가 사용 용도에 맞는지 결정하는 사안에 대해서는 항상 Agreement의 원문을 참조하여야 하며 법률적인 효력을 가지는 상담처에 문의하시기 바랍니다.


* 제 3자에 의해 제공된 소프트웨어를 동반하는 라이선스 소프트웨어에 대해서는 목차 4에서 자세히 다룹니다.

 

오픈 라이선스 권리 사항 

LGPL Agreement 는 The Qt Company 가 아닌 Free Software Foundation 에 의해서 제정된 License Agreement 입니다. The Qt Company는 해당 문구나 조항의 제정과 편집에 대해서 어떠한 권한도 가지고 있지 않습니다. License 계약의 주요 사안은 다음과 같습니다

LGPL은 copyleft 라이선스 입니다. 따라서, LPGL 소프트웨어를 이용해 만들어진 제품에는 LGPL 라이선스가 적용이 됩니다. 해당 제품의 모든 최종 사용자는 해당 제품을 사용하는 것에 있어 동일한 License 계약 조건에 동의해야 합니다. Free Software를 배포하는 것에 있어 개발할 때 받았던 모든 오픈 소스 라이선스에 대한 혜택은 최종사용자에게도 동일하게 제공되어야 합니다.

 

기본 규칙

각각의 애플리케이션의 복사본 마다, 배포자는 LGPL Agreement 전문과 함께 해당 제품이 LGPL 라이선스를 따르고 있음을 제품내에 명시해야 합니다. LGPL 이외 다른 어떠한 저작권(copyright)에 대해서 사용하고 있는 것이 있다면 사용된 모든 저작권과 등록 상표(Trademark)는 오픈 소스 소프트웨어 와 함께 명시되어야 합니다.

 

수정 사항 공유

3.3 단락에서 언급된 바와 같이, LGPL 오픈 소스 라이선스 배포자는 LGPL 라이선스된 Qt 라이브러리에 대한 모든 수정 사항을 공유해야 합니다. 공유 자체는 최종목적이 아니며, Qt 라이브러리는 고유의 소프트웨어와 링크 되어 있어야 함을 의미합니다. 제3자인 어떤 최종 사용자라도 고유 프로그램의 LGPL 라이선스를 부여 받은 Qt 라이브러리를 검사하고, 수정하며, 업데이트 하여 고유 프로그램과 결합하여 실행시켜볼 수 있어야 합니다.

 

Dynamic Linking 과 Static Linking

3.1 단락에서 언급된 바와 같이, 최종 사용자가 배포된 고유 프로그램 내에서 사용되는 LGPL 라이브러리들을 검사하고, 수정하며 업데이트하여 고유 프로그램과 결합하여 실행해 볼 수 있기 위해서는 고유 프로그램 패키지 외부에 LGPL Qt 라이브러리들을 독립하여 위치 시켜야 하며, 일반적으로 이를 위해서 해당 라이브러리들의 Dynamic Linking을 이용해야 합니다.

 

Tivoization, Locked-down 된 임베디드 장치와 Hardware 암호화

티보이제이션(Tivoization)* 이란 용어는 GPL이나 LPGL같은 copyleft 라이선스를 사용하여 소프트웨어가 동작하는 임베디드 시스템을 만들었으나, 최종 사용자가 해당 소프트웨어를 수정하여 하드웨어에 구동시키는 것이 하드웨어적인 방식으로 불가능하게 막혀져 있는 – 예)Locked-Down되어 있는 장비- 제품을 언급할 때 사용되는 용어 입니다.

Tivoization 이 최종 사용자의 오픈 소스 사용 권리를 제한하는 것으로 간주되기 때문에 Qt이적용받고 있는 LGPL, LGPLv3 버전에서는 Qt오픈소스 라이브러리가 탑재된 소프트웨어를 내장한 Locked-down된 하드웨어 제품을 제작하는 것을 명시적으로 금지하고 있습니다.

임베디드제품 제작에 LGPLv3 라이선스를 이용해 Qt를 사용하는 경우에 개발자는 최종 사용자가해당 임베디드 제품 상에 사용된 Qt라이브러리를 검사하고, 수정하고 제품에 탑재하여 제품을 실행시켜 볼 수 있는 방법을 제공해야 합니다. 이러한 의무사항은 상용 제품의 보안과 신뢰성에 중요한 영향을 끼치기 때문에 많은 제조사들이 상업적인 제품에 LGPLv3 라이선스를 이용한 소프트웨어를 탑재하지 않는 주요한 원인으로 작용합니다. 이러한 경우에는 Qt의 상용 라이선스 버전을 채택하는 것이 적절합니다. Qt 상용 라이선스 버전을 이용하면 Locked-Down 된 임베디드 제품을 제작하는 것에 대한 제한 사항을 적용 받지 않습니다.

하드웨어 암호화(Hardware Encryption)와 전자서명(Digital Signatures)은 보안의 목적으로 사용될 수는 있지만, 임베디드 제품에서 사용된 오픈 소스 라이브러리가 수정된 소프트웨어를 실행시켜볼 수 있는 권한을 제한할 수는 없습니다.

 

DRM

LPGLv3 가 DRM 기술 구현을 명시적으로 반대하지는 않습니다. 다만 누군가가 해당 DRM을 Break 할 경우에 라이선스는 DRM이 Break된 제품을 자유롭게 배포할 수 있도록 허용하고 있습니다. 세부적인 사항은 (L)GPLv3 라이선스 FAQ**를 참고하십시오.


* TiVo라는 디지털 비디오 레코더 제품의 사례에서 유래 합니다. https://en.wikipedia.org/wiki/Tivoization 를 확인하세요.

**http://www.gnu.org/licenses/gpl-faq.html#DRMProhibited

 

특허 보복(Patent Retaliation)

LGPLv3 는 오픈소스 라이선스 사용자들 에게 특허권에 막혀 오픈 소스 소프트웨어를 사용할 수 없도록 하는 일을 방지 하기 위해서 특허 관련 조항을 명시적으로 포함하고 있습니다. 해당 구절들은 다소 복잡하지만 소프트웨어 특허와 관련된 커다란 기업이나 기관들과 극도로 연관되어 있습니다. 따라서 항상 LGPLv3를 사용할 때는 특허와 관련된 이슈로 인한 분쟁의 소지가 없도록 법률적인 효력을 가지는 상담처를 통해 확인하여야 합니다. 더 많은 정보들은 (L)GPLv3 FAQ*나 링크된 온라인 기사**를 확인하십시오.

 

4. Qt 라이브러리에 포함되는 외부 오픈 소스 라이선스 컴포넌트

Qt 프레임워크는 다양한 오픈 소스 라이선스 정책하에 라이선스된 3rd Party 라이브러리들의 기여를 통해 제작되었습니다. 이러한 3rd Party 구성 요소들은 Qt Code 모듈 내부에서(within) 사용됩니다. 이러한 것들은 Qt 문서***에 안내되어 있습니다. 일반적으로 Qt 라이브러리내의 이러한 3rd Party 구성 요소들 각각의 라이선스들은 Qt의 상용 버전 사용과 호환되고 있습니다. 대부분은 BSD 혹은 MIT 스타일의 라이선스를 통하여 제공되고 있습니다.

QtWebEngine 모듈에 대해서는 특별히 주의 깊게 살펴볼 필요가 있습니다. QtWebengine 모듈은 Qt 웹브라우저의 엔진으로 Chromium이라는 오픈 소스 프로젝트에 기반하고 있습니다. 또한 이는 Qt 오픈 소스 라이브러리들과 마찬가지로LGPLv2.1 하에 라이선스 되었습니다. 따라서 The Qt Company는 Chromium 프로젝트 라이선스를 사용하는데 있어서 스스로 부여 받은 어떠한 권리도 배포시에 제한할 수 없으며, 누구라도 동일한 라이선스 정책에 의거하여 배포하여야 합니다. 오픈 소스 라이선스 된 웹브라우저 엔진은 산업계에서 일반적인 모습이며, QtWebEngine이 특별한 경우를 가지는 것은 아닙니다. QtWebEngine은 항상 고유의 애플리케이션에 Dynamic linking 되어야 합니다.


*http://www.gnu.org/licenses/gpl-faq.html#v3PatentRetaliation

**http://www.internationallawoffice.com/Newsletters/IT-Internet/International/Osborne-Clarke/Open-source-software-and-patents-how-the-GPLv3-affects-patent-portfolios

***http://doc.qt.io/qt-5/licensing.html#licenses-used-in-qt

 

해당 웹엔진 모듈은 Qt 상용 버전아래에서 LGPLv3.0이 아닌 LGPLv2.1로 라이선스 되었기 때문에, 단락 3.4에서 언급된 Tivoization 관련된 사항은 적용 대상이 아닙니다. 따라서 상용버전의Qt와 QtWebEngine을 이용해 Closed Device 를 제작하는 것은 얼마든지 가능합니다.

Qt 오픈 소스 버전을 이용할 경우QtWebEngine은 LGPLv3 로 라이선스 됩니다. 따라서 오픈 소스 버전을 이용하면Tivoization 관련된 적용 대상이 되며, Qt와 QtWebEngine 을 이용하여 Closed Device를 제작할 수가 없습니다.

Qt 프레임워크 안에는 Qtcode 모듈 내부(within)에서 사용되는 것이 아닌 Qt라이브러리와나란히(alongside) 제공되는 부가적인 3rd Party 라이브러리들이있으며, 별도의 페이지*에서 확인해 볼 수 있습니다. 이렇게 Qt 라이브러리와 나란히 제공되는 3rd Party 라이브러리를 직접적으로 사용할 경우에는 개별 라이브러리에 해당하는 라이선스가 적용되며, 해당 사실이 명시되어야 합니다. Qt는 이러한 나란히 제공되는 3rd Party 라이브러리를 포함하거나 제외할 수 있도록 환경 설정이 가능합니다.

 

5. Qt 상용 라이선스구매에 따른 The Qt Company/Ocube 기술 지원 안내

라이선스 발급에 따른 관련된 법률적인 권리와 의무사항과 개발자 제공 사항의 차이 이외에, 많은 개발자들과 기업고객이 Qt 상용 버전을 구매할 때 얻을 수 있는 핵심적인 혜택은 바로 The Qt Company와 파트너인 Ocube 의 기술 지원 입니다.

 

5.1 사업 관계

The Qt Company 와 파트너인 Ocube 는 고객들이 Qt를 기반으로 성공적으로 프로젝트를 완성하고 함께 협력할 수 있기를 희망합니다. 상업용 Qt 라이선스를 구매한 개발자나 고객사의 성공은 The Qt Company와 Ocube 에게도 중요한 사업 목표입니다. 이러한 사업 관계 속에서 상용 라이선스 구매 고객 에게는 계정 관리와 함께 제품의 품질에 대한 책임과 의무를 제공해 드립니다.

Qt가 Qt 프로젝트*오픈 관리 정책 모델(open governance model)을 따르고 있지만, The Qt Company는 Qt 프로젝트의 인프라와 운영과 가장 많은 개발에 기여하는 최대 이해 당사자입니다.


*http://wiki.qt.io/Qt-Contribution-Guidelines

 

또한 The Qt Company는 Qt를 사용하는 고객의 피드백을 반영하여 고객을 위한 Qt roadmap 을 제정합니다. 버그의 수정과 관련하여서도 고객으로부터 보고된 버그들에 대해서 The Qt Company는 특별한 주의를 기울여 버그를 수정하고 개선합니다. Qt 상용 라이선스 구매 고객이 되는 것은 Qt가 나아가고 있는 방향에 함께 참여할 수 있는 기회에 동참하는 것이며, Qt를 이용한 프로젝트를 진행함에 있어서 발생 가능한 문제에 대한 든든한 지원 받을 수 있음을 의미합니다.

 

5.2 The Qt Company 기술 지원 안내

Qt 상용 라이선스 구매의 아주 중요한 제공 사항은 공식적인 Qt 기술 지원 입니다. Qt 상용 라이선스를 구매하면 즉각적으로 Qt Account Portal에 접근하여, e-mail을 기반으로 기술 문의를 올리고 답변을 받을 수 있는 권한이 주어집니다.

제품 설치와 사용에 관한 가이드 이외에도, Qt 기술 지원 팀은 버그 리포트를 접수 받고 검수하며, 가능할 경우에는 제품 개발에 즉각적으로 활용할 수 있는 work-around 솔루션도 제공합니다. 또한 상용 구매 고객으로부터 접수된 버그에 관해서는 특별한 주의를 기울여 문제 해결을 진행합니다.

 

5.3 Ocube 기술 지원 안내

The Qt Company의 국내 파트너사인 Ocube는 50여명 이상의 Qt 전문 개발 인력을 보유하고 있으며, 10년 이상 Qt를 활용해온 높은 수준의 기술을 가진 전문 인력도 다수 보유 하고 있습니다. The Qt Company의 공식 기술 지원과 발 맞추어 Ocube에서도 email과 전화 응대를 통한 상용 라이선스 구매 고객에 대한 기술 지원을 무료로 제공하고 있으며, 필요할 경우 개발 용역과 현장 방문 기술 지원 패키지(유료)를 이용하면 보다 전문 적인 기술 지원을 제공 받아 성공적으로 프로젝트를 완성할 수 있습니다.

 

6. 라이선스 요약

Qt는 종합적인 크로스-플랫폼 프레임워크이자 개발 툴킷 입니다.  Qt를 이용해 native application을 만들어 내고 빌드 할 수 있으며, 최종 사용자의 모든 스크린 화면에 맞는 user interface를 제작할 수 있습니다. 혹은 사물 인터넷 시대의 강력한 장치들의 개발에도 유용하게 사용됩니다. Qt를 이용하면, 개발자는 하나의 기술과 코드베이스를 이용해 오늘날 상업적으로 이용 가능한 거의 모든 타겟 플랫폼에 제품을 전개할 수 있기 때문에 개발에서 출시로 이어지는 제품 준비를 위한 시간을 최소화할 수 있으며, 빠르게 변화하는 OS를 포함한 개발 환경의 변화에도 유지 부담을 위한 자원을 최소한으로 절약할 수 있습니다. 또한 데스크탑, 모바일 그리고 임베디드 소프트웨어 개발에 공통되는 빠르고 현대적인 소프트웨어 개발 프로세스를 구축할 수 있습니다.

 

Qt는 다양한 산업과, 개발자들과 개발 프로세스들을 다양한 제품과 라이선스 제공 사항으로 지원하고 있습니다. Qt for Application Development 를 이용해 개발자는 모바일과태블릿, 데스크탑의 다양한 스크린에서 활용될 수 있는 애플리케이션 프로그램을 하나의 코드베이스를 기반으로 작성할 수 있습니다. Qt for Device Creation 을 이용해 고유의 임베디드 장치와 IOT 시스템을 개발하기 위한 모든 API들과 임베디드 개발 도구를 지원받을 수 있으며, 최대한 빠른 제품 출시가 가능합니다.

 

Qt 의 이중 라이선스 정책 철학은 Free Software Movement 에서 유래합니다. 오픈 소스 라이선스사용에 따른 모두의 권리를 지켜나가며, 오픈 소스 사용에 따른 의무사항들을 기꺼이 준수할 준비가 되어 있는 개발자들에게 Qt가 널리 유용하게 활용될 수 있도록 하는 목적을 위해 Qt는 이중 라이선스 정책을 고수 합니다.

 

Qt 상용 라이선스는 오픈 소스 사용에 따른 의무사항들에 얽매이지 않고 상업적인 용도의 제품을 개발하고 보안과 특허가 보호 받는 제품을 배포할 수 있는 모든 권리를 제공합니다. Qt 상용 라이선스를 구매하면Qt Account Portal 에 접근하여 공식적인 기술 지원을 받을 수 있으며, 국내 파트너인 Ocube의 email과 전화 응대를 통한 기술 지원도 함께 지원 받을 수 있습니다. 마지막으로 Qt 상용 라이선스를 구매한 고객은 the Qt Company와 전략적으로 긴밀한 관계를 맺게 되며 The Qt Company 와  Ocube는 고객사의 개발 목표가 성공적으로 완수될 수 있도록 최선의 지원을 제공해 드리고 있습니다.