SDK 라이선스란
SDK(소프트웨어 개발 키트) 라이선스는 소프트웨어 개발자가 SDK를 합법적으로 구매하거나 사용하도록 합니다.
자사 제품이 다른 소프트웨어 제품에 쉽게 통합되기를 원하는 소프트웨어 공급기업은 좋은 방법을 이용해 개발자에게 제공하는 코드를 보호할 수 있어야 합니다. SDK 라이선싱은 다른 유형의 소프트웨어 제품 라이선스보다 비교적 더 복잡하므로 SDK에는 올바른 종류의 보안과 수익화 시스템을 제공하는 합리적인 종합 라이선싱 모델이 필요합니다.
그러나 다양한 유형의 SDK 라이선스에 관해 알아보기 전에 잠시 사전 정보를 짚어보겠습니다.
SDK는 무엇을 의미하는가
SDK는 소프트웨어 개발 키트(Software Development Kit)의 약자입니다. SDK는 기본적으로 미리 작성된 코드인데, 여기에는 개발자가 기존 소프트웨어를 사용하여 새 애플리케이션을 구축하는 데 필요한 모든 도구가 포함됩니다.
SDK에는 보통 컴파일러와 디버거, API(애플리케이션 프로그래밍 인터페이스)가 있습니다. 또한, 다음 요소를 포함할 수도 있습니다.
- 라이브러리
- 테스트 및 분석 도구
- 드라이버
- 기록
- 편집기
- 네트워크 프로토콜
- 개발 환경
SDK의 예시
부모와 보호자가 동네 놀이터를 평가할 수 있도록 놀이터 관련 소셜 앱을 만드는 소프트웨어 개발자가 있다고 가정해 보겠습니다. 앱 사용자는 앱에 놀이터를 추가하고 안전도, 청결, 접근성과 재미도에 따라 평가할 수 있으며, 놀이터별 특성(예: 시설에 적합한 연령대, 이용 가능한 시설 등)을 표시할 수 있습니다. 소프트웨어 개발자는 놀이터별 위치 표시 지도를 앱에 포함하고 싶지만, 자체 지도 기능을 개발하는 것은 매우 어렵고 시간이 많이 걸리며 비용이 많이 듭니다. 또한, 새로 지어지는 도로, 새로운 교통 시설과 같은 변경 사항을 반영하려면 계속 업데이트해야 합니다.
그렇다면 개발자가 해야 할 일은 무엇일까요?
한 가지 쉽고 명쾌한 솔루션은 Google의 지도 SDK를 사용하는 것입니다. Google은 자주 업데이트되는 강력한 지도 프로그램을 이미 만들어 두었습니다. 게다가 많은 사람은 처음 방문하는 장소를 찾거나 교통 체증을 피하기 위해 Google 지도의 내비게이션 기능을 사용하고 있습니다. Maps SDK를 사용하여 지도 기능을 앱에 구축하면 많은 시간을 절약하고 Google 지도의 모든 훌륭한 기능을 통합할 수 있습니다. 사용 후기를 보고 새로운 놀이터를 방문하기로 결정한 사용자가 해당 놀이터로 이동하는 데 도움이 필요하다면 앱과 Google 지도 간을 원활하게 오갈 수 있습니다.
SDK를 만들어야 하는 이유
오래된 격언을 들어 보셨을 겁니다. “사람에게 물고기 한 마리를 주면 하루 동안 먹을 수 있고, 물고기 잡는 법을 알려주면 평생 먹을 수 있다.” 그 사람에게 물고기 잡는 방법을 알려주고 미끼와 낚시줄, 그물에 기타 낚시 사업을 시작하는 데 필요한 기타 장비까지 모두 판매하여 평생 단골 고객을 만든다면 어떨까요? 그 사람 스스로 먹고 살 수 있고 그 사람의 사업은 여러분도 먹고 사는 데 도움이 될 겁니다.
이 새로운 어부는 소프트웨어 개발자 고객이고 낚시 장비는 바로 SDK입니다. GGV Capital의 경영 관리 파트너인 Glenn Solomon에 따르면 개발자 중심 소프트웨어는 수조 달러의 가치를 가진 차세대 소프트웨어의 물결을 주도할 것입니다. 기술과는 거리가 먼 기업들조차 훌륭한 앱을 만드는 것이 비즈니스 성장에 좋은 방법이라는 것을 깨닫고 있지만 시간을 낭비하는 것만큼은 피하고 싶어합니다. SDK를 이용하는 개발자는 시간과 노력, 자금을 최소한 투자해 훌륭한 앱을 만들 수 있습니다.
따라서 개발자의 업무를 간편하게 만들어 주는 훌륭한 제품을 가지고 있다면 SDK를 개발, 배포함으로써 빠르게 성장하는 산업에 동참할 수 있습니다.
SDK 보호
이제 Google보다 나은 내비게이션 소프트웨어를 개발한 기업이 있다고 가정해 보겠습니다. 이 기업이 자체 개발한 지도를 개발자의 앱에 추가하기를 원한다면 개발자에게 SDK를 제공해야 합니다.
그렇지만 이 소프트웨어를 그냥 무료로 제공하지는 않으려고 합니다. 개발한 소프트웨어를 수익성 있게 만들려면 SDK 사용 권한을 개발자에게 판매해야 합니다. 즉, SDK 라이선스를 발급하고 사용자에게 비용을 청구할 방법이 필요합니다.
SDK 라이선스 유형
SDK 라이선스 관리 시스템은 어떻게 작동하는가
기본적으로 다른 유형의 소프트웨어 라이선스를 발급하고 보호하는 데 사용되는 것과 유사한 기술을 사용하게 됩니다. SDK 라이선스는 개발자에게 SDK 액세스 권한을 부여하고, 합법적이고 인가된 방법으로 사용할 수 있게 하는 특정 코드입니다. 모든 소프트웨어 라이선스는 이렇게 작동합니다.
SDK 라이선싱과 대다수 다른 유형의 소프트웨어 라이선싱 간의 주요 차이는 SDK에는 실제로 두 유형의 사용자가 있다는 것입니다. 바로, 앱을 만드는 개발자와 앱을 다운로드하여 사용하는 최종 사용자입니다. 이 차이는 SDK를 어떻게 수익화할지 결정하는 데 영향을 줄 수 있습니다.
라이선스 코드는 기업과 고객의 요구에 맞춰 다양한 방법으로 사용자에게 전달될 수 있습니다.
하드웨어 기반 라이선스: USB 키 및 동글
일부 소프트웨어 공급기업은 USB 키, 동글과 같은 물리적 하드웨어로 SDK를 보호하는 방법을 선택합니다. 하드웨어는 개발자용 SDK를 활성화하는 코드를 포함하므로 개발자는 SDK를 사용할 때마다 하드웨어를 기기에 연결해야 합니다. 이 방법의 이점은 인터넷 연결에 의존할 필요가 없다는 점과 보안입니다. 단점은 물리적 장치를 소유한 사람만 사용할 수 있고, SDK에 액세스하는 데 사용할 수 있는 장치는 키가 연결된 장치 하나뿐이기 때문에 비교적 유연하지 않다는 점입니다.
또한, 최종 사용자의 사용 정보를 추적 관리하는 데 사용할 수도 없습니다. 이 모델은 SDK와 함께 개발된 제품을 다운로드하여 사용하는 최종 사용자 수와 연계시키지 않고, SDK를 사용하는 개발자에게 비용을 청구하려는 경우 사용하는 모델입니다.
클라우드 기반 라이선스
그외 소프트웨어 공급기업은 클라이언트 장치에 다운로드할 수 있는 온라인 라이선스로 SDK를 보호하는 것이 더 편리하다고 여깁니다. 이 모델의 주요 장점은 훨씬 더 유연하고 하드웨어 기반 라이선스로는 사용할 수 없는 다양한 옵션을 포함한다는 점입니다.
단독 SDK 라이선스
단독 라이선스는 한 명의 사용자만 사용할 수 있습니다. 라이선스를 특정 장치, 또는 특정 자격 증명으로 로그인한 특정 사용자와 엮거나, 또는 간단하게 사용 기준으로 즉, SDK를 설치할 때마다 고객에게 요금을 부과하는 방법으로 사용할 수 있습니다.
동시 사용 라이선스 또는 유동 라이선스
이 모델은 특히 유연합니다. 고객은 동시에 사용할 수 있는 라이선스를 일정 수량 구입할 수 있습니다. 예를 들어, 개발자 측에 SDK와 관련된 앱 부분에 작업하는 팀원 5명이 있고, 그 중 2명만 동시에 작업해야 한다면 2개의 동시 사용 라이선스를 구매할 수 있습니다. 팀원이 SDK를 사용할 때는 원격 라이선스 서버에서 라이선스를 다운로드하고 사용을 마치면 ‘반납’합니다. 구매한 라이선스 두 개가 모두 사용 중인데 세 번째 팀원이 라이선스를 요청한다면, 사용 중인 라이선스 중 하나가 서버로 반납될 때까지 기다려야 합니다.
최종 사용자당 청구
SDK를 사용하는 개발자에게 비용을 청구하는 대신, 개발자가 SDK를 이용해 개발한 코드를 얼마나 많은 최종 사용자가 사용하느냐에 따라 비용을 청구할 수 있습니다. 즉, 개발자가 지불해야 할 SDK 사용 비용은 개발자의 제품 성공 여부에 달려 있습니다. 이 모델은 예산이 적거나 위험을 피하고자 하는 개발자에게 더 매력적일 수 있습니다.
개발자별로, SDK별로 적합한 모델은 매우 다릅니다. 다양한 고객 요건에 가장 적합한 옵션을 다수 제공할 수도 있습니다.
SDK 라이선스의 예
내비게이션 소프트웨어 예시로 다시 돌아가면, 소프트웨어 개발자가 SDK에 라이선스를 부여할 수 있는 방법이 몇몇 있습니다.
예를 들어 Google의 지도 SDK는 최종 사용자당 청구 방법이 이용됩니다. Android용 지도 SDK는 용도에 상관없이 모두 무료이지만, 개발자가 동적 스트리트 뷰 기능을 사용하는 경우 차등제에 따라 개발자에게 요금이 부과됩니다. 인스턴스 생성 10만 건까지는 파노라마 객체 인스턴스 생성 1,000건당 14달러, 다음 40만 건의 인스턴스 생성은 1,000건당 11.20달러입니다. 대량 사용인 경우 개발자는 Google 영업팀에 문의해야 합니다.
SDK를 어떻게 수익화할 수 있을까요? 이는 고객 프로필이나 시장, 경쟁업체 등 기타 다양한 요인에 달려 있습니다. Google의 지도 SDK는 무료이지만 동적 스트리트 뷰가 인스턴스 생성 건별로 청구된다면 경쟁력 있는 SDK 라이선스 모델을 채택해야 합니다. 그 예는 다음과 같습니다.
- 동일한 모델을 사용하되 가격을 더 저렴하게 청구
- 특정 틈새 시장의 요건에 더 적합한 다른 모델 사용
- Google이 제공하지 않는 가치를 제공하고 고객에게 분명한 메시지 전달
완벽한 SDK 라이선스 모델을 개발하도록 지원하는 탈레스 Sentinel
SDK에 라이선스를 부여하고 판매 방법을 결정하는 것은 매우 어려운 문제일 수 있으며 라이선스 모델을 구축하는 것은 이보다 더 어려울 수 있습니다. Sentinel LDK(라이선스 개발 키트)는 포괄적이고 즉시 사용 가능한 소프트웨어 수익화 솔루션을 제공하여 SDK를 보호하고 수익을 극대화할 뿐만 아니라 운영 프로세스를 단순화하고, 사용자 경험을 향상하도록 지원합니다. 탈레스 Sentinel은 기업과 기업 고객의 요건에 가장 적합한 라이선스 모델을 파악하고 해당 모델을 원활하게 구현하여 수익을 높이며 기업이 투자 결실을 거둘 수 있도록 도와드립니다.
Simplify Internal Licensing Processes - Herta Case Study
Simplify Internal Licensing Processes While Embracing Flexible Licensing - HERTA Case Study HERTA Security Imagine a software technology that could automatically identify individuals that pose a threat to safety and security – by scanning crowds of people on the...