드론 데이터링크 시스템을 위한 오픈소스 운영체제 선정 전략
1. 서론
1.1 연구의 배경 및 목적
현대 상업용 드론 시스템, 특히 그 신경망이라 할 수 있는 데이터링크는 기술적 고도화의 중심에 있다. 과거의 단순 원격 조종 기능을 넘어, 오늘날의 데이터링크는 고대역폭의 실시간 영상 전송, 정밀한 원격측정(Telemetry) 데이터 교환, 자율 비행 명령 수신, 그리고 클라우드 플랫폼과의 연동에 이르기까지 복합적인 임무를 수행한다. 이러한 복잡하고 미션 크리티컬한 요구사항을 충족시키기 위해서는 하부 시스템을 총괄하는 임베디드 운영체제(OS)의 역할이 절대적으로 중요하다. OS는 하드웨어 자원의 효율적 관리, 실시간 처리 능력 보장, 네트워크 스택의 안정성, 그리고 전체 시스템의 보안을 책임지는 기반 기술이기 때문이다 [1], [2], [3].
1.2 문제 제기
현재 임베디드 네트워크 장비 시장에서 사실상의 표준으로 널리 사용되는 OpenWRT는 강력한 기능과 방대한 커뮤니티 지원을 자랑한다. 그러나 OpenWRT의 핵심 구성 요소가 GNU General Public License (GPL) 버전 2를 채택하고 있어, 상업적 활용에 있어 잠재적인 제약이 존재한다는 우려가 꾸준히 제기된다. 특히 GPL의 ‘카피레프트(Copyleft)’ 조항에 따른 소스 코드 공개 의무는 기업의 지적 재산권(IP) 보호 전략과 상충될 수 있으며, 이는 상업용 드론과 같이 경쟁이 치열한 시장에서 민감한 문제로 작용할 수 있다 [4], [5]. 본 안내서는 이러한 문제의식에서 출발한다. “OpenWRT는 GPL 라이선스라 상업용으로 사용하기 어렵다“는 통념의 실체를 법률적, 기술적 관점에서 면밀히 검토하고, 이를 바탕으로 드론 데이터링크 시스템에 적용 가능한 비-GPL 라이선스 기반의 대안들을 종합적으로 분석하여 최적의 OS 선정 전략을 제시하는 것을 궁극적인 목표로 삼는다.
1.3 안내서의 구성
본 안내서는 총 3부로 구성된다. 제1부에서는 GPL 라이선스의 본질을 파헤치고, OpenWRT의 상업적 활용 가능성과 그에 따르는 의무사항을 심층적으로 분석한다. 제2부에서는 MIT, Apache 2.0 등 허용적 라이선스(Permissive License)를 채택한 주요 대안 프로젝트들을 기술적 특성과 함께 다각도로 고찰한다. 마지막으로 제3부에서는 각 대안을 드론 데이터링크 적용 관점에서 라이선스, 기술 성숙도, 성능, 생태계 측면에서 종합적으로 비교 분석하고, 이를 바탕으로 기업의 전략적 목표에 부합하는 최종 권고안을 제시한다.
2. GPL 라이선스의 상업적 활용에 대한 심층 분석
2.1 GPL의 오해와 진실: 상업적 판매는 금지되지 않았다
GPL 라이선스를 둘러싼 가장 큰 오해 중 하나는 상업적 이용을 원천적으로 금지한다는 인식이다. 그러나 이는 사실과 다르다. 자유 소프트웨어 재단(Free Software Foundation, FSF)이 명시하는 GPL의 핵심 철학은 금전적 의미의 ’무료(Free of charge)’가 아니라, 사용, 수정, 배포의 자유를 보장하는 ’자유(Freedom)’에 있다. GPL 라이선스 조항 자체는 GPL 기반 소프트웨어의 복사본을 유료로 판매하거나, 해당 소프트웨어에 대한 기술 지원 및 보증 서비스를 유료로 제공하는 행위를 명백히 허용한다 [6], [7], [8].
상업적 활용의 핵심 전제 조건은 ’자유의 계승’이다. 즉, GPL 소프트웨어를 수정하거나 포함한 제품을 제3자에게 ’배포(distribute)’하는 경우, 그 제품을 받은 사람(end user) 역시 원 저작자가 부여한 것과 동일한 자유-소스 코드에 접근하고, 수정하며, 재배포할 수 있는 자유-를 누릴 수 있도록 보장해야 할 법적 책임이 발생한다 [6], [8].
결론적으로, “GPL이라 상업용으로 사용하기 어렵다“는 명제는 ’불가능’이 아니라 ’조건부 가능’으로 재정의되어야 한다. 진정한 장벽은 기술적 또는 법적 불가능성이 아니라, 소스 코드 공개라는 조건이 기업의 비즈니스 모델 및 지적 재산권(IP) 보호 전략과 상충될 수 있다는 점이다. 따라서 GPL 기반 소프트웨어의 상업적 활용 여부는 기술적 과제를 넘어, 소스 코드 공개라는 전략적 트레이드오프(trade-off)를 감수할 것인지에 대한 경영적 결단의 영역에 속한다.
2.2 OpenWRT와 GPLv2: 상업용 제품에서의 의무사항 및 파생 저작물의 범위
OpenWRT는 복합적인 라이선스 구조를 가진다. 프로젝트의 핵심인 빌드 환경과 다수의 기본 패키지는 GPLv2에 따라 라이선스되지만, 전체 배포판에는 MIT, BSD, Apache 등 다양한 라이선스를 가진 수많은 제3자 애플리케이션과 라이브러리가 포함되어 있다 [9]. 따라서 상업용 제품 개발 시, GPL의 의무사항은 제품에 포함된 구성 요소 중 GPLv2가 적용된 부분을 수정하거나 링크하는 경우에 한정하여 발생한다.
2.2.1 소스 코드 공개 의무 (Source Code Disclosure Obligation)
GPLv2의 의무사항은 ‘배포’ 행위를 기점으로 발효된다. 내부적으로만 사용하고 외부에 배포하지 않는 경우에는 소스 코드를 공개할 의무가 없다 [8], [10]. 그러나 드론과 같이 최종 사용자에게 판매되는 제품에 펌웨어를 탑재하여 전달하는 것은 명백한 ‘배포’ 행위에 해당한다.
- 공개 범위: GPLv2 프로그램을 수정하거나, 프로그램의 일부를 포함하거나, 프로그램으로부터 파생된 저작물(derivative work)을 배포 또는 게시할 경우, 해당 저작물 전체를 GPLv2 라이선스 하에 제3자에게 무상으로 라이선스해야 하며, 완전하고 상응하는 기계 판독 가능한 소스 코드를 제공해야 한다
[11],[12],[11]. - 공개 방식: GPLv2 섹션 3은 소스 코드 제공 방식으로 세 가지를 제시한다. (a) 실행 파일과 함께 완전한 소스 코드를 동봉하여 배포하는 방법, (b) 실행 파일 배포 시, 향후 3년간 물리적 매체(예: CD-ROM) 제공에 드는 실비를 받고 소스 코드를 제공하겠다는 서면 약정(written offer)을 함께 제공하는 방법, (c) 비상업적 배포에 한해, 소스 코드를 제공하겠다는 약정을 전달받은 경우 이를 그대로 전달하는 방법이다
[6],[10]. 현대의 임베디드 시스템에서는 통상적으로 제품 매뉴얼이나 웹사이트에 소스 코드 다운로드 링크나 요청 연락처를 기재하는 방식으로 (b)의 의무를 이행한다[12].
2.2.2 ’파생 저작물(Derivative Work)’의 범위와 해석
GPL 의무사항의 적용 범위를 결정하는 가장 중요한 개념은 ’파생 저작물’이다. GPLv2는 이 용어를 저작권법의 정의에 따른다고 명시하고 있으며, 이는 프로그램을 직접 수정, 번역하거나 일부를 포함하는 작업을 명확히 포괄한다 [11], [11].
-
링크(Linking)의 문제: 가장 큰 법적 논쟁 지점은 ‘링크’ 행위가 파생 저작물을 생성하는지 여부다. FSF와 다수의 법률 전문가들은 정적 링크(static linking)와 동적 링크(dynamic linking) 모두 운영체제 커널과 애플리케이션을 단일한 저작물로 결합시키는 행위로 간주하여, 파생 저작물을 생성한다고 해석한다
[12],[13]. 이 해석에 따르면, 기업이 독자적으로 개발한 비공개 소스 애플리케이션을 OpenWRT의 GPL 라이브러리와 링크하여 배포할 경우, 해당 애플리케이션의 소스 코드까지 공개해야 할 의무가 발생할 수 있다. -
파생 저작물로 간주되지 않는 경우: GPL의 영향력은 무한하지 않다.
-
단순 집합(Mere Aggregation): 독립적으로 작동하는 여러 프로그램을 단순히 동일한 저장 매체(예: 펌웨어 이미지 내의 별도 파티션)에 함께 저장하여 배포하는 것은 각 프로그램의 라이선스에 영향을 주지 않는다. 이 경우 GPL 프로그램과 비-GPL 프로그램은 서로 독립적인 저작물로 취급된다
[11]. -
프로세스 간 통신(IPC): 두 프로그램이 커널이 제공하는 통신 메커니즘인 파이프(Pipes), 소켓(Sockets), 또는 명령행 인자(Command-line arguments)를 통해 데이터를 교환하고, 복잡한 내부 데이터 구조를 공유하지 않는다면, 이들은 독립적인 프로그램으로 간주될 가능성이 높다
[14],[12]. 이는 드론 데이터링크 시스템 설계에서 매우 중요한 아키텍처적 고려사항이다. 예를 들어, OpenWRT의 GPL 네트워크 스택과 독자 개발한 비공개 애플리케이션을 유닉스 도메인 소켓으로 통신하도록 설계하면 GPL의 ’감염성’을 피할 수 있다. -
수식적 표현:
\text{Work} = A_{proprietary} + B_{GPL}\\ \text{if } \text{Link}(A, B) \implies \text{License}(\text{Work}) = \text{GPL}\\ \text{if } \text{IPC}(A, B) \land \text{IsIndependent}(A, B) \implies \text{License}(A) \neq \text{GPL}
2.2.3 임베디드 시스템에서의 특수성: 설치 정보 제공 의무
상업용 제품 개발 시 간과하기 쉬운 또 다른 중대한 의무는 ’설치 정보 제공’이다. GPLv2는 소스 코드와 함께 “실행 파일의 컴파일 및 설치를 제어하는 데 사용되는 스크립트(the scripts used to control compilation and installation of the executable)“를 제공할 것을 요구한다 [6], [15].
이 조항의 근본적인 취지는 사용자가 제공된 소스 코드를 수정하고, 그 수정된 버전을 원래의 하드웨어 장치에 다시 설치하여 실행할 수 있는 실질적인 권리를 보장하는 데 있다. 이는 단순히 컴파일 방법을 안내하는 것을 넘어, 펌웨어 바이너리 생성, 서명, 그리고 장치에 플래싱하는 데 필요한 모든 정보(예: 서명 키, 암호, 특수 도구)를 포함할 수 있다. 이 조항은 제조사가 하드웨어적인 제약(예: 보안 부팅, 암호화된 펌웨어)을 통해 소프트웨어의 자유를 무력화시키는 행위, 이른바 ’티보이제이션(Tivoization)’을 방지하려는 의도를 담고 있다 [16], [17].
드론과 같은 상업용 임베디드 제품은 보안, 안정성, 규제 인증 등의 이유로 펌웨어 수정을 제한하려는 경향이 강하다. 부트로더를 잠그거나(secure boot), 독점적인 서명 키로 펌웨어를 암호화하는 것이 일반적이다. 바로 이 지점에서 기업의 정책이 GPLv2의 ‘설치 정보 제공’ 의무와 정면으로 충돌할 수 있다. Software Freedom Conservancy(SFC)와 같은 단체는 이러한 GPL 위반 사례를 적극적으로 추적하고 법적 조치를 취하므로, 이는 단순한 소스 코드 미공개보다 더 심각한 법적 리스크를 초래할 수 있다 [9], [15]. 따라서 OpenWRT를 상업적으로 사용하려는 기업은 소스 코드 공개 계획뿐만 아니라, ’사용자의 펌웨어 교체 권리’를 어떻게 보장할 것인지에 대한 명확한 기술적, 법적 정책을 반드시 수립해야 한다.
3. 드론 데이터링크를 위한 비-GPL 대안 프로젝트 고찰
GPL의 의무사항이 비즈니스 모델과 부합하지 않는다고 판단될 경우, 허용적 라이선스(Permissive License)를 기반으로 한 대안을 검토해야 한다. 허용적 라이선스(MIT, BSD, Apache 2.0 등)는 소스 코드 공개 의무 없이 자유로운 수정과 상업적 재배포를 허용하며, 저작권 고지 등 최소한의 요구사항만을 부과한다 [18]. 본 장에서는 드론 데이터링크에 적용 가능한 주요 비-GPL 대안들을 세 가지 범주로 나누어 심층 분석한다.
3.1 대안 1: 허용적 라이선스 기반의 완전한 운영체제 - BSD 계열
BSD(Berkeley Software Distribution) 계열 OS는 안정성과 강력한 네트워크 성능으로 오랜 기간 서버 및 네트워크 장비 시장에서 신뢰를 받아왔다. 이들은 Linux와는 다른 독립적인 커널과 코드베이스를 가지고 있으며, 대표적인 BSD 라이선스는 상업적 활용에 매우 유리하다.
3.1.1 BSDRP (BSD Router Project)
- 개요 및 아키텍처: BSDRP는 고성능 라우터 구축을 목표로 하는 FreeBSD 기반의 특화된 오픈소스 배포판이다. 핵심 기능은 패킷 포워딩에 있으며, 이를 위해 FRRouting, Bird와 같은 현대적인 라우팅 프로토콜 스위트를 기본으로 통합하고 있다
[19],[20],[21]. OpenWRT가 다목적 임베디드 리눅스 플랫폼을 지향하는 것과 달리, BSDRP는 고급 방화벽이나 웹 UI 같은 부가 기능보다는 순수한 라우팅 성능과 안정성에 집중한다[22]. - 라이선스: 프로젝트의 기반이 되는 FreeBSD와 핵심 구성 요소들은 2-clause 또는 3-clause BSD 라이선스를 따른다. 이는 소스 코드 공개 의무 없이 자유롭게 수정하여 상업용 제품에 통합하고, 독점적인 파생 제품을 만들 수 있음을 의미한다. 저작권 고지 및 라이선스 전문을 포함해야 하는 최소한의 의무만 존재한다.
- 드론 데이터링크 적용 가능성: 드론 데이터링크의 핵심 기능이 안정적인 데이터 패킷 전송이라는 점에서, 강력한 네트워크 스택으로 정평이 나 있는 FreeBSD 기반의 BSDRP는 이론적으로 매우 매력적인 대안이다. 특히 수십 킬로미터에 달하는 장거리 통신에서 지연과 손실을 최소화해야 하는 데이터링크의 요구사항에 부합할 수 있다. 그러나 현실적인 적용에는 몇 가지 장벽이 존재한다. 첫째, 드론에 사용되는 다양한 ARM 기반 SoC(System on Chip) 및 주변 장치(예: 특정 Wi-Fi/LTE 모뎀, 센서)에 대한 드라이버 지원이 Linux 생태계에 비해 현저히 부족할 수 있다
[23],[24]. Raspberry Pi와 같은 범용 SBC에서는 FreeBSD 구동이 가능하지만[25],[26], BSDRP 프로젝트 자체가 특정 드론용 하드웨어에 대한 공식적인 지원을 제공하는지는 별도로 검증해야 할 문제다. 데이터링크가 단순한 네트워크 중계를 넘어 비행 제어 보조, 센서 데이터 집약 등 복합적인 역할을 수행하게 될수록 드라이버 생태계의 한계는 더욱 큰 제약으로 작용할 것이다. BSDRP는 ’네트워크 장비’로서의 데이터링크를 개발할 때는 강력한 선택지이지만, 데이터링크가 복잡한 ’임베디드 시스템’으로 진화할수록 Linux 기반 대안에 비해 경쟁력이 약화될 수 있다.
3.2 대안 2: 맞춤형 임베디드 리눅스 빌드 시스템 - Yocto와 Buildroot
이 범주는 완전한 OS 배포판이 아니라, 특정 하드웨어와 요구사항에 맞춰 최적화된 커스텀 임베디드 리눅스 시스템을 ’만드는 도구’이다. 개발자는 필요한 패키지만을 선택하고 커널을 미세 조정하여, 불필요한 기능이 제거된 가볍고 안정적인 시스템 이미지를 생성할 수 있다.
3.2.1 Yocto Project
- 개요 및 아키텍처: Yocto는 운영체제가 아니라, 커스텀 임베디드 리눅스 배포판을 만들기 위한 오픈소스 협업 ’프레임워크’이다
[27],[27]. Yocto의 핵심 철학은 ‘레이어(Layer)’ 모델에 있다. 하드웨어 종속적인 코드(BSP, Board Support Package), 핵심 OS, 미들웨어, 그래픽 스택, 애플리케이션 등을 각각의 독립된 레이어로 분리하여 관리한다[27]. 이 구조는 코드의 재사용성을 극대화하고, 여러 제품 라인업이나 다양한 하드웨어 플랫폼을 동시에 지원해야 하는 대규모 상업용 프로젝트 관리에 매우 강력한 이점을 제공한다. - 라이선스: Yocto Project 자체의 도구들(예: 빌드 엔진인 BitBake)은 대부분 MIT나 Apache 2.0과 같은 허용적 라이선스를 따른다
[28]. Yocto의 가장 큰 장점 중 하나는 강력한 라이선스 규정 준수(compliance) 기능이다. 빌드 과정에서 사용되는 모든 소프트웨어 패키지의 라이선스를 자동으로 추적하고, 최종 생성된 이미지에 포함된 모든 오픈소스의 라이선스 목록(manifest)과 해당 소스 코드 아카이브를 생성해준다[28],[29]. 이를 통해 개발사는 GPL을 포함한 모든 라이선스의 의무사항을 체계적으로 관리하고 법적 리스크를 최소화할 수 있다. - 드론 데이터링크 적용 사례: 자동차 인포테인먼트 시스템, 산업용 제어 장비, 네트워크 스위치 등 고신뢰성 임베디드 시스템에서 사실상의 산업 표준으로 자리 잡고 있다
[30],[27]. 드론 생태계에서도 Dronecode 프로젝트와 같은 주요 오픈소스 플랫폼이 Linux Foundation의 협력 프로젝트로서 Yocto의 중요성을 강조하고 있다[31],[32]. 데이터링크 시스템에 필요한 특정 네트워크 스택, VPN, 보안 기능, MAVLink 라이브러리 등을 각각의 레이어로 구성하여, 유지보수가 용이하고 확장 가능한 맞춤형 OS를 구축하는 데 이상적이다[33].
3.2.2 Buildroot
- 개요 및 아키텍처: Buildroot는 Yocto에 비해 훨씬 간단하고 직관적인 빌드 시스템이다. 복잡한 레이어 구조 대신,
make menuconfig와 같은 친숙한 인터페이스를 통해 단일 설정 파일에서 시스템 전체를 구성한다[34],[35]. Buildroot의 주된 목표는 필요한 모든 구성 요소(툴체인, 커널, 부트로더, 루트 파일시스템)를 소스 코드로부터 빌드하여 최종적으로 하나의 완전한 펌웨어 이미지를 생성하는 것이다[36]. - 라이선스: Buildroot 자체는 GPLv2 라이선스를 따르지만, 이는 빌드 ’도구’에만 적용되는 것이다. Buildroot를 사용하여 생성된 최종 결과물(펌웨어 이미지)의 라이선스는 그 안에 포함된 개별 패키지들의 라이선스에 의해 결정된다. 즉, Buildroot를 사용해 GPL 구성 요소가 없는 순수 MIT/BSD/Apache 라이선스 기반의 시스템을 만드는 것이 가능하다. Buildroot 역시 Yocto와 마찬가지로 최종 이미지에 포함된 패키지들의 라이선스 정보를 수집하여
manifest.csv파일로 제공하는 기능을 지원한다[28]. - 드론 데이터링크 적용 사례: 상대적으로 시스템 요구사항이 복잡하지 않고, 단일 제품을 위한 펌웨어를 빠르게 개발해야 하는 경우 매우 효과적이다. 빠른 빌드 속도와 낮은 학습 곡선은 신속한 프로토타이핑과 시장 출시에 유리하다. 실제 군사 기술(MilTech) 분야의 드론 스타트업 채용 공고에서 Buildroot 전문 지식을 핵심 역량으로 요구하는 사례는, Buildroot가 단순한 취미용 도구를 넘어 실제 상업용 고신뢰성 드론 시스템 개발에 활발히 사용되고 있음을 명확히 보여준다
[37].
3.2.3 Yocto와 Buildroot의 선택 기준
두 도구의 선택은 프로젝트의 규모, 복잡성, 그리고 장기적인 유지보수 전략에 따라 결정되어야 한다. 개발자 커뮤니티의 피드백은 이러한 선택에 중요한 시사점을 제공한다.
- Buildroot가 적합한 경우: “하나의 특정 제품을 위한 맞춤형 펌웨어를 빠르고 간단하게 만들고 싶다.” Buildroot는 단순성, 빠른 빌드 속도, 낮은 학습 곡선에서 압도적인 장점을 가진다. 개발자들은 Buildroot를 “일을 끝내기 위한(get things done)” 실용적인 도구로 평가한다
[38]. - Yocto가 적합한 경우: “다양한 하드웨어 플랫폼과 여러 제품 라인업을 지원하는, 확장 가능하고 재사용 가능한 ’우리 회사만의 배포판’을 만들고 관리하고 싶다.” Yocto는 유연성, 확장성, 재사용성, 그리고 거대한 산업 생태계의 지원이라는 측면에서 장점을 가진다. 그러나 이는 매우 높은 복잡성, 긴 빌드 시간, 가파른 학습 곡선이라는 대가를 치른다
[38],[39],[40].
Yocto의 악명 높은 복잡성은 그 강력한 유연성과 확장성을 구현하기 위한 필연적인 결과물이다. 레이어 시스템은 뛰어난 모듈화를 가능하게 하지만, 동시에 레이어 간의 복잡한 의존성 문제를 야기하여 “도대체 어떤 패키지가 어디서 왜 포함되는지” 추적하기 어려운 디버깅 지옥을 초래하기도 한다 [38]. 이 본질적인 트레이드오프를 이해하는 것이 두 도구 중 하나를 전략적으로 선택하는 핵심이다.
3.3 대안 3: 실시간 운영체제(RTOS) - FreeRTOS, Zephyr, NuttX
임베디드 리눅스가 풍부한 기능과 유연성을 제공한다면, RTOS는 예측 가능성(determinism)과 낮은 지연 시간(low latency)이라는 실시간성에 집중한다. 드론 데이터링크에서 무선 모뎀을 직접 제어하거나, 수신된 제어 패킷을 마이크로초 단위로 처리해야 하는 작업에는 RTOS가 더 적합할 수 있다.
3.3.1 FreeRTOS (MIT License)
- 개요 및 아키텍처: FreeRTOS는 시장을 선도하는 경량 RTOS 커널로, 매우 작은 메모리 풋프린트와 단순함을 특징으로 한다
[41],[42]. 핵심 기능은 우선순위 기반의 선점형 스케줄러이며, 태스크 관리, 세마포어, 뮤텍스와 같은 기본적인 동기화 기능만을 제공한다. AWS에 인수된 이후 라이선스가 GPL에서 MIT로 변경되어 상업적 사용에 아무런 법적 제약이 없다[43],[41]. - 드론 데이터링크 적용: 저수준의 하드웨어 제어와 빠른 응답이 요구되는 부분에 이상적이다. 예를 들어, 데이터링크 모뎀 칩의 레지스터를 직접 제어하여 RF 파라미터를 동적으로 변경하거나, 들어오는 제어 패킷을 실시간으로 파싱하여 비행 제어기로 전달하는 태스크에 사용될 수 있다
[44],[45]. 그러나 FreeRTOS 자체는 복잡한 TCP/IP 네트워크 스택, 파일 시스템, 장치 드라이버 모델 등을 기본적으로 제공하지 않는다. 따라서 고기능 데이터링크를 구현하려면 lwIP(lightweight IP)와 같은 외부 네트워크 라이브러리나 벤더가 제공하는 SDK를 직접 통합해야 하는 상당한 개발 부담이 따른다[46]. 이는 데이터링크의 기능이 고도화될수록 FreeRTOS의 단순함이 오히려 단점으로 작용할 수 있음을 시사한다[3].
3.3.2 Zephyr (Apache 2.0 License)
- 개요 및 아키텍처: Zephyr는 Linux Foundation이 주도하는 차세대 RTOS 프로젝트로, 단순한 커널을 넘어 완전한 운영체제에 가까운 모습을 보인다
[47]. 가장 큰 특징은 풍부한 내장 기능이다. IPv4/IPv6를 모두 지원하는 네트워크 스택, Bluetooth Low Energy(BLE) 스택, 파일 시스템, 그리고 표준화된 장치 드라이버 모델을 기본적으로 포함하고 있다[48],[49],[48]. 또한 메모리 보호, 스레드 격리, Trusted Execution Environment(TEE) 지원 등 강력한 보안 기능을 제공하여 IoT 시대의 요구에 부응한다. 개발 방식은 Linux와 유사하게 Devicetree로 하드웨어를 기술하고 Kconfig로 커널 기능을 설정하는 방식을 채택하여 체계적인 관리가 가능하다[50],[51]. - 드론 데이터링크 적용: 내장된 고기능 네트워크 스택과 다중 네트워크 인터페이스(예: Wi-Fi와 LTE 동시 사용) 지원은 복잡한 데이터링크 시나리오를 구현하는 데 매우 유리하다
[49],[49]. 예를 들어, 주 통신 링크가 끊어졌을 때 백업 링크로 자동 전환하는 로직을 OS 수준에서 안정적으로 구현할 수 있다. 강화된 보안 기능은 드론 하이재킹이나 데이터 탈취와 같은 심각한 위협에 대응하는 데 필수적이다. 그러나 이러한 풍부한 기능은 대가를 요구한다. FreeRTOS에 비해 메모리 사용량이 크고, 일부 벤치마크 결과에 따르면 컨텍스트 스위칭과 같은 기본적인 커널 연산에서 더 높은 지연 시간을 보일 수 있다[52],[52].
3.3.3 NuttX (Apache License 2.0 / BSD)
- 개요 및 아키텍처: NuttX의 핵심 철학은 POSIX(Portable Operating System Interface) 표준 준수에 있다
[53],[54]. 이는open(),read(),write(),socket()등 Linux/Unix 개발자에게 친숙한 표준 API를 제공함을 의미한다. 이러한 특성 덕분에 기존 Linux 환경에서 개발된 애플리케이션을 거의 수정 없이 NuttX로 이식할 수 있어 개발 생산성을 크게 향상시킨다[51]. - 드론 데이터링크 적용: NuttX의 가장 강력한 이점은 세계에서 가장 널리 사용되는 오픈소스 오토파일럿 프로젝트인 PX4의 공식 지원 RTOS라는 점이다
[55],[56],[57]. PX4는 uORB(micro Object Request Broker)라는 정교한 publish-subscribe 메시징 버스를 중심으로 설계되었다. 센서 데이터, 제어 명령, 상태 정보 등 시스템의 모든 데이터는 uORB 토픽을 통해 비동기적으로 교환된다[57],[58],[59]. 데이터링크 통신의 핵심인 MAVLink 프로토콜 역시 uORB 토픽을 통해 다른 모듈들과 데이터를 주고받는 ‘mavlink’ 애플리케이션으로 구현되어 있다[58]. NuttX를 사용하면 이 검증된 PX4 생태계에 완벽하게 통합되어, 안정적이고 효율적인 MAVLink 기반 데이터링크를 구현하는 것이 매우 용이하다.
3.3.4 RTOS 선택의 철학
세 RTOS는 단순한 기능의 우열을 넘어, 근본적인 개발 철학의 차이를 보여준다.
- FreeRTOS: “최소한의 도구(스케줄러)만 제공할 테니, 나머지는 당신이 원하는 대로 조립해서 만들어라.” (Lego-brick approach) 이는 최고의 유연성을 보장하지만, 시스템이 복잡해질수록 개발 및 통합 비용이 기하급수적으로 증가한다.
- Zephyr: “데이터링크에 필요한 모든 것(네트워크, 보안, 드라이버)을 갖춘 통합 플랫폼을 제공할 테니, 우리 프레임워크의 방식대로 개발해라.” (All-in-one platform approach) 이는 빠른 기능 구현을 가능하게 하지만, 높은 학습 곡선과 프레임워크에 대한 강한 종속성을 감수해야 한다.
- NuttX: “우리는 표준(POSIX)을 따를 테니, 당신의 기존 지식과 외부 자산(Linux 앱, PX4)을 최대한 활용해라.” (Standards-based approach) 이는 높은 이식성과 생산성을 제공하며, 특히 PX4라는 특정 ’킬러 애플리케이션’과의 강력한 시너지를 창출한다.
Zephyr의 상대적으로 높은 지연 시간[52], [52]은 풍부한 기능과 추상화 계층(드라이버 모델, 메모리 보호 등)에서 비롯된 필연적인 오버헤드이다. 반면 FreeRTOS의 빠른 속도는 이러한 추상화가 거의 없는 ’bare-metal’에 가까운 단순한 구조 덕분이다. NuttX의 진정한 강점은 단독으로 사용될 때보다 PX4라는 거대한 생태계와 결합될 때 극대화된다. 이 본질적인 인과관계를 이해하면, 단순한 성능 수치를 넘어 자신의 프로젝트 철학과 요구사항에 가장 부합하는 RTOS를 전략적으로 선택할 수 있다.
4. 드론 데이터링크 적용을 위한 프로젝트별 기술 및 라이선스 비교 분석
앞서 고찰한 대안들을 드론 데이터링크라는 특정 응용 분야에 적용하기 위해, 본 장에서는 라이선스, 기술 성숙도, 성능, 그리고 특화 기능이라는 네 가지 핵심 기준으로 심층 비교 분석을 수행한다.
4.1 라이선스 의무사항 비교
상업용 제품 개발에 있어 라이선스 의무사항을 명확히 이해하는 것은 법적 리스크를 관리하고 지적 재산권 전략을 수립하는 첫걸음이다. 아래 표는 각 라이선스의 핵심 의무사항을 비교하여 의사결정자가 법적 함의를 한눈에 파악할 수 있도록 돕는다.
표 1: 주요 라이선스별 상업적 활용 시 의무사항 비교
| 라이선스 | 소스 코드 공개 의무 (수정 시) | 파생 저작물 범위 | 특허권 라이선스 | 상표 사용 | 보증 부인 및 책임 제한 |
|---|---|---|---|---|---|
| GPLv2 | 의무 (강력한 카피레프트): 수정한 부분뿐만 아니라 링크된 전체 저작물의 소스 코드 공개 요구 [11]] | 광범위함: 정적/동적 링크 포함, 전체 저작물에 GPL 적용 [8]] | 묵시적 허여: GPL 조건 하에서 사용 시 특허료 청구 불가 [12]] | 제한 없음 | 명시적 포함 |
| Apache 2.0 | 의무 없음 (파일 단위 카피레프트): 수정한 파일에 대한 고지 의무는 있으나, 전체 소스 코드 공개 의무는 없음 [28]] | 제한적: 수정한 파일에만 적용, 파생 저작물을 다른 라이선스로 배포 가능 [29]] | 명시적 허여: 기여자의 특허에 대한 명시적인 라이선스를 사용자에게 부여 [60]] | 원 저작자 상표 사용 금지 | 명시적 포함 |
| MIT | 의무 없음: 아무런 제약 없이 수정 및 비공개 가능 [18]] | 없음: 파생 저작물에 대한 라이선스 제약 없음 | 없음: 특허에 대한 언급 없음 | 제한 없음 | 명시적 포함 |
| 2-Clause BSD | 의무 없음: 아무런 제약 없이 수정 및 비공개 가능 | 없음: 파생 저작물에 대한 라이선스 제약 없음 | 없음: 특허에 대한 언급 없음 | 제한 없음 | 명시적 포함 |
이 표는 복잡한 법률 용어를 실용적인 관점에서 재해석한다. GPLv2의 강력한 카피레프트는 소스 코드 공개라는 명확한 ’비용’을 요구하는 반면, MIT와 BSD는 거의 아무런 제약이 없는 ’자유’를 제공한다. Apache 2.0은 그 중간 지점에 위치하며, 소스 코드 공개 의무는 없지만 기여받은 코드에 포함된 특허 기술을 안전하게 사용할 수 있도록 명시적인 특허 라이선스를 부여하는 중요한 장점을 가진다 [60]]. 이는 특허 분쟁의 위험이 상존하는 기술 집약적 산업에서 매우 중요한 고려사항이 될 수 있다.
4.2 기술적 성숙도 및 생태계 비교
소프트웨어 프로젝트의 장기적인 성공은 기술적 우수성뿐만 아니라, 그를 둘러싼 생태계의 건강성에 크게 좌우된다.
- 커뮤니티 및 기업 지원: 각 프로젝트의 배후에 있는 지원 세력은 프로젝트의 미래와 안정성을 가늠하는 중요한 척도이다.
- Yocto Project & Zephyr: 두 프로젝트 모두 Linux Foundation의 지원을 받으며, Intel, NXP, AMD, TI 등 주요 반도체 및 임베디드 기업들이 핵심 멤버로 참여하고 있다
[27],[48],[27]. 이는 이들 프로젝트가 산업 표준으로 자리매김하고 있으며, 장기적인 지원과 유지보수가 보장됨을 의미한다. - FreeRTOS: 세계 최대 클라우드 기업인 Amazon Web Services(AWS)가 직접 개발하고 유지보수한다
[41]. 이는 AWS IoT 서비스와의 강력한 통합과 안정적인 지원을 보장하지만, 특정 벤더에 대한 종속성이 발생할 수 있음을 시사한다. - NuttX: Apache Software Foundation(ASF)이 관리하는 프로젝트로, 벤더 중립적인 거버넌스를 가지고 있다
[53]. PX4 커뮤니티와의 긴밀한 관계가 가장 큰 자산이다. - Buildroot & BSDRP: 상대적으로 소규모의 개발자 커뮤니티에 의해 주도되지만, 각자의 영역에서 오랜 기간 안정적으로 유지되어 온 성숙한 프로젝트들이다.
- 드라이버 및 미들웨어 지원: 드론 데이터링크에 필수적인 하드웨어 지원은 OS 선택에 결정적인 영향을 미친다.
- Linux 기반 (Yocto, Buildroot): Linux 커널이 지원하는 방대한 하드웨어 드라이버 생태계를 그대로 활용할 수 있다는 것이 가장 큰 장점이다. 최신 Wi-Fi 6/6E, 5G NR, LoRaWAN 모뎀 등 다양한 무선 통신 칩셋에 대한 지원을 비교적 쉽게 확보할 수 있다.
- RTOS (FreeRTOS, Zephyr, NuttX): 드라이버 지원이 상대적으로 제한적이며, 특정 칩셋 제조사(Silicon Vendor)가 제공하는 SDK나 HAL(Hardware Abstraction Layer)에 의존하는 경향이 강하다
[51]. Zephyr는 표준화된 드라이버 모델을 통해 이 문제를 해결하려 노력하고 있으나, 여전히 Linux만큼 광범위하지는 않다. NuttX는 PX4가 지원하는 하드웨어에 대한 드라이버가 잘 갖추어져 있다. FreeRTOS는 가장 기본적인 형태이므로 대부분의 드라이버를 개발자가 직접 구현하거나 포팅해야 한다. - 개발 도구 및 디버깅: 개발 생산성은 OS가 제공하는 도구와 개발 환경에 크게 좌우된다. Yocto의
bitbake와 레이어 시스템, Buildroot의make menuconfig, Zephyr의west와 Devicetree 등은 각기 다른 개발 철학과 워크플로우를 대표한다. Yocto와 Zephyr는 복잡하지만 체계적인 관리가 가능한 반면, Buildroot는 단순하고 빠르다. 디버깅 관점에서는, 문제가 발생했을 때 Yocto의 복잡한 레이어 구조는 원인 파악을 어렵게 만들 수 있으며[38]], Zephyr의 Devicetree 역시 초심자에게는 큰 장벽이 될 수 있다[51].
4.3 성능 비교 분석: 지연 시간(Latency)과 처리량(Throughput)
’성능’은 단일한 척도가 아니며, 드론 데이터링크의 다양한 요구사항에 따라 다르게 평가되어야 한다. 제어 명령 전송에는 낮은 ’지연 시간’이, 고화질 영상 스트리밍에는 높은 ’처리량’이 중요하다.
- RTOS 실시간 성능:
- 지연 시간 (Latency): 실시간 시스템의 응답성을 결정하는 핵심 지표는 인터럽트 지연 시간(Interrupt Latency)과 컨텍스트 스위칭 시간(Context Switch Time)이다. 공개된 벤치마크 결과에 따르면, FreeRTOS는 이 두 지표에서 Zephyr보다 평균적으로 더 빠른 성능을 보인다. 예를 들어, 한 테스트에서 협력적 컨텍스트 스위칭에 FreeRTOS는 223 사이클이 소요된 반면, Zephyr는 524 사이클이 걸렸다
[52],[52]. 이는 FreeRTOS의 극도로 단순한 커널 구조와 Zephyr의 풍부한 기능(스케줄러, 메모리 보호 등)에 따른 오버헤드 차이에서 기인한다. 반면, 뮤텍스(Mutex)와 같은 태스크 동기화 메커니즘에서는 Zephyr가 더 효율적인 모습을 보이는데, 이는 Zephyr가 최적화된 별도의 뮤텍스 구현을 사용하는 반면 FreeRTOS는 메시지 큐 코드를 재사용하기 때문일 수 있다[52]. - 결정론 (Determinism): 실시간 시스템에서는 평균 성능보다 최악 실행 시간(WCET, Worst-Case Execution Time)을 예측하고 보장하는 능력이 더 중요하다. Zephyr의 복잡한 스케줄러와 다양한 커널 기능은 예측하기 어려운 지터(jitter)를 유발할 가능성이 있으며, 이는 정밀한 제어가 필요한 작업에 부정적인 영향을 줄 수 있다
[49],[61]. 반면, FreeRTOS의 단순한 구조는 시스템의 동작을 분석하고 예측하기에 더 용이할 수 있다. - 임베디드 리눅스 네트워크 성능:
- 처리량 (Throughput): 임베디드 리눅스 시스템의 네트워크 처리량은
iperf와 같은 표준 도구를 사용하여 TCP 및 UDP 성능을 측정하는 것이 일반적이다[62],[63]. 성능은 단순히 OS 자체보다는 시스템의 여러 요소에 복합적으로 영향을 받는다. 여기에는 CPU 성능, 네트워크 인터페이스 카드(NIC)의 종류와 드라이버 품질, 커널의 네트워크 스택 튜닝(TCP/UDP 버퍼 크기, TCP 혼잡 제어 알고리즘 선택 등)이 포함된다[64],[65]. - 벤치마킹 시 고려사항: 의미 있는 성능 비교를 위해서는 반드시 동일한 하드웨어 플랫폼에서, 동일한
iperf파라미터와 커널 설정을 사용하여 테스트를 진행해야 한다[66],[67]. 과거 FreeBSD(BSDRP의 기반)와 Linux 간의 네트워크 성능 벤치마크 사례들을 보면, 특정 워크로드와 하드웨어 조합에 따라 어느 한쪽이 우세하다고 단정하기 어렵다는 것을 알 수 있다[68].
이러한 성능 분석은 중요한 아키텍처적 결정을 시사한다. 드론 데이터링크 시스템이 비행 제어와 같은 실시간 작업과 대용량 데이터 처리 같은 비실시간 작업을 모두 수행해야 한다면, 단일 OS로 모든 요구사항을 만족시키기 어려울 수 있다. 이것이 바로 비행 제어와 같은 핵심 실시간 작업은 RTOS가 탑재된 마이크로컨트롤러(MCU)가 담당하고, 영상 처리나 클라우드 통신과 같은 고수준 작업은 Linux가 탑재된 ’컴패니언 컴퓨터(Companion Computer)’가 처리하는 이기종(heterogeneous) 컴퓨팅 아키텍처가 드론 업계에서 널리 채택되는 이유이다 [3], [55].
4.4 드론 데이터링크 특화 기능 비교
아래 표는 RTOS 대안들을 중심으로, 드론 데이터링크 구현에 직접적인 영향을 미치는 핵심 기능들을 비교한다. 이는 일반적인 OS 기능 비교를 넘어, 특정 응용 분야에 맞춰진 실용적인 관점을 제공하여 기술 스택 선택을 돕는다.
표 2: 주요 RTOS 대안(FreeRTOS, Zephyr, NuttX) 심층 비교
| 기능 | FreeRTOS | Zephyr | NuttX |
|---|---|---|---|
| 라이선스 | MIT [41]] | Apache 2.0 [48]] | Apache 2.0 / BSD [53]] |
| 아키텍처 철학 | 최소주의적 마이크로커널 (Lego-brick) [49]] | 통합 플랫폼 (All-in-one) [48]] | POSIX 표준 기반 (Standards-based) [54]] |
| POSIX 호환성 | 부분적 (Wrapper 제공) [54]] | 부분적 [54]] | 높음 (핵심 설계 목표) [54], [51]] |
| 내장 네트워크 스택 | 없음 (lwIP 등 외부 통합 필요) [46]] | 내장 (IPv4/IPv6, TCP/UDP, BLE 등) [49]] | 내장 (BSD 소켓 API 기반) [69]] |
| 보안 기능 (메모리 보호 등) | 없음 (MPU 포팅은 가능) [49]] | 강력함 (스레드 격리, TEE 등) [48]] | 기본적 (MMU/MPU 지원) |
| PX4/MAVLink 생태계 통합 | 낮음 (별도 구현 필요) | 중간 (포팅 가능) | 최상 (네이티브 지원 OS) [56]] |
| 학습 곡선 | 낮음 | 높음 [50]] | 중간 (Linux/Unix 경험자에게 유리) [51]] |
| 주요 후원사 | AWS [41]] | Linux Foundation, Intel, NXP [48]] | Apache Foundation, PX4 커뮤니티 [53]] |
5. 결론 및 최종 권고안
5.1 OpenWRT 사용에 대한 최종 판단
본 안내서의 심층 분석 결과, “OpenWRT는 GPL이라 상업용으로 사용하기 어렵다“는 초기 명제는 사실이 아님을 확인할 수 있다. 보다 정확한 표현은 “OpenWRT를 상업용으로 사용하려면, GPLv2의 의무사항(소스 코드 공개, 설치 정보 제공)을 준수할 명확한 비즈니스 및 기술적 전략이 반드시 필요하다” 이다.
기업의 핵심 지적 재산이 담긴 애플리케이션을 OpenWRT의 GPL 구성 요소와 직접 링크하지 않고, 소켓(socket) 통신과 같은 표준적인 프로세스 간 통신(IPC) 메커니즘을 통해 분리하는 아키텍처를 채택하는 것이 핵심 전략이다. 이 경우, 기업은 자체 개발한 애플리케이션의 소스 코드를 공개할 의무에서 벗어날 수 있다. 의무사항은 OpenWRT의 커널이나 GPL 유틸리티를 직접 수정한 부분에 대해서만 발생하며, 이 수정 사항을 명확히 문서화하고 공개할 수 있다면 OpenWRT는 여전히 강력하고 비용 효율적인 선택지가 될 수 있다. 다만, ‘설치 정보 제공’ 의무에 대한 법적 리스크는 신중하게 검토해야 한다.
5.2 상황별 최적 대안 제시
만약 GPL 의무사항 준수가 기업의 전략과 부합하지 않는다고 판단될 경우, 다음과 같은 상황별 대안을 고려할 수 있다.
5.2.1 시나리오 1: 빠른 시장 진입과 최소한의 법적 부담이 최우선인 경우
- 권고: FreeRTOS (MIT) 또는 BSDRP (BSD)
- 근거: MIT와 BSD 라이선스는 소스 코드 공개 의무가 전혀 없어 기업의 지적 재산권 보호에 가장 유리하다. FreeRTOS는 최소한의 기능으로 시작하여 필요한 부분만 빠르게 추가하는 방식으로 신속한 프로토타입 개발이 가능하다. BSDRP는 순수한 네트워크 라우팅 기능에만 집중할 때 안정적이고 강력한 성능을 제공한다. 단, 두 경우 모두 드론에 필요한 특정 하드웨어 드라이버나 고기능 미들웨어(예: 복잡한 네트워크 스택)는 개발팀이 직접 구현하거나 검증된 외부 라이브러리를 통합해야 하는 기술적 부담이 존재한다.
5.2.2 시나리오 2: 장기적인 확장성과 풍부한 기능을 갖춘 플랫폼 구축을 목표로 하는 경우
- 권고: Yocto Project (Apache 2.0) 또는 Zephyr (Apache 2.0)
- 근거: Yocto는 다양한 제품 라인업에 적용 가능한 맞춤형 Linux 배포판을 체계적으로 구축하고 관리하는 데 있어 사실상의 산업 표준이다. 이는 장기적인 유지보수와 플랫폼 확장성에 결정적인 이점을 제공한다. Zephyr는 RTOS이면서도 풍부한 네트워크 및 보안 기능을 기본적으로 내장하고 있어, 고기능 데이터링크 시스템을 단일 OS 환경에서 구현하고자 할 때 매력적인 선택지다. 두 프로젝트 모두 Apache 2.0 라이선스를 기반으로 하여 특허 문제로부터 비교적 자유롭다. 그러나 이러한 강력한 기능과 유연성은 높은 학습 곡선과 상당한 초기 개발 비용을 감수해야만 얻을 수 있다.
5.2.3 시나리오 3: 기존 드론 생태계(PX4/MAVLink)와의 완벽한 통합이 필수적인 경우
- 권고: NuttX (Apache/BSD)
- 근거: NuttX는 PX4 오토파일럿의 네이티브 OS로서, uORB 메시징 시스템과 MAVLink 프로토콜에 대한 가장 깊고 안정적인 수준의 통합을 제공한다. 이는 단순히 API를 호출하는 것을 넘어, PX4의 비동기적이고 리액티브한 아키텍처의 핵심에 접근할 수 있음을 의미한다. 이는 개발 시간을 획기적으로 단축하고, 전 세계 수많은 개발자에 의해 검증된 아키텍처를 활용하여 시스템의 안정성을 높이는 데 결정적인 이점을 제공한다. POSIX 호환성은 Linux 환경에 익숙한 개발자들이 쉽게 적응할 수 있도록 돕는다.
5.3 최종 제언
결론적으로, 모든 상황에 적용되는 단 하나의 ‘최고의’ 운영체제는 존재하지 않는다. 성공적인 OS 선택은 기술적 우수성만을 평가하는 과정이 아니라, 회사의 핵심 역량과 비즈니스 목표를 반영하는 전략적 결정이어야 한다. 의사결정자는 다음 네 가지 핵심 축을 종합적으로 고려해야 한다.
- 지적 재산권(IP) 전략: 소스 코드 공개가 가능한가? 특허 보호가 중요한가?
- 개발팀의 역량: 팀이 Linux 커널과 드라이버 개발에 익숙한가? RTOS 프로그래밍 경험이 풍부한가? 특정 프레임워크(Yocto, Zephyr)를 학습할 시간과 자원이 있는가?
- 제품의 기술적 요구사항: 시스템이 요구하는 실시간성의 수준은 어느 정도인가? 필요한 네트워크 처리량은 얼마인가? 보안 요구사항은 무엇인가?
- 시장 출시 일정(Time-to-Market): 빠른 프로토타이핑이 중요한가, 아니면 장기적인 플랫폼 구축이 우선인가?
본 안내서에서 제시된 심층 분석과 비교 데이터를 바탕으로, 각 대안의 장단점을 자사의 고유한 상황에 맞게 평가하고, 최종 결정에 앞서 핵심 후보 OS들을 대상으로 프로토타입을 개발하여 직접적인 기술 검증(Proof of Concept) 과정을 거칠 것을 강력히 권고한다.
6. 참고 자료
- Embedded Systems for Autonomous Drones - Number Analytics, accessed August 12, 2025, https://www.numberanalytics.com/blog/embedded-systems-autonomous-drones
- Drone Communication - Data Link - AirSight, accessed August 12, 2025, https://www.airsight.com/learn/airspace-security/drone-fundamentals/drone-communication-data-link
- System integration for drones - Sky-Drones, accessed August 12, 2025, https://sky-drones.com/blog/system-integration-for-drones
- Usage of OpenWrt and its Copyright License. - Nanoleaf Developers Forum, accessed August 12, 2025, https://forum.nanoleaf.me/forum/community-support/usage-of-openwrt-and-its-copyright-license
- Manufacturers who sell devices with modified OpenWrt and dont release the source code, accessed August 12, 2025, https://forum.openwrt.org/t/manufacturers-who-sell-devices-with-modified-openwrt-and-dont-release-the-source-code/152098
- license - openwrt/packages - GitHub, accessed August 12, 2025, https://github.com/openwrt/packages/blob/master/LICENSE
- Can GNU licensed software be used for commercial gain without selling the software? : r/linux - Reddit, accessed August 12, 2025, https://www.reddit.com/r/linux/comments/3pws4n/can_gnu_licensed_software_be_used_for_commercial/
- GNU General Public License - Wikipedia, accessed August 12, 2025, https://en.wikipedia.org/wiki/GNU_General_Public_License
- [OpenWrt Wiki] License, accessed August 12, 2025, https://openwrt.org/license
- GNU 일반 공중 사용 허가서 - 나무위키, accessed August 12, 2025, https://namu.wiki/w/GNU%20%EC%9D%BC%EB%B0%98%20%EA%B3%B5%EC%A4%91%20%EC%82%AC%EC%9A%A9%20%ED%97%88%EA%B0%80%EC%84%9C
- GNU General Public License v2.0 - GNU Project - Free Software …, accessed August 12, 2025, https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
- 오픈소스SW 라이선스 가이드 - 한국저작권위원회, accessed August 12, 2025, https://www.copyright.or.kr/information-materials/publication/research-report/download.do?brdctsno=10412&brdctsfileno=4112
- 오픈 소스 소프트웨어와 라이선스의 이해1 - 한국저작권위원회, accessed August 12, 2025, https://www.copyright.or.kr/information-materials/trend/the-copyright/download.do?brdctsno=11106&brdctsfileno=4508
- GPL-3.0 - 오픈소스 라이선스, accessed August 12, 2025, https://kakao.github.io/docs/license/licenselst/GPL-3.0/
- Understanding Installation Requirements in GPLv2 - Conservancy …, accessed August 12, 2025, https://sfconservancy.org/blog/2021/mar/25/install-gplv2/
- GPLv2 or 3 requirements for closed embedded products - Software Engineering Stack Exchange, accessed August 12, 2025, https://softwareengineering.stackexchange.com/questions/329889/gplv2-or-3-requirements-for-closed-embedded-products
- *The whole point of requiring the firmware to be signed with a specific privat… | Hacker News, accessed August 12, 2025, https://news.ycombinator.com/item?id=10235617
- Guide to Open Source Licenses: Use, Obligations, and Risk | Black Duck Blog, accessed August 12, 2025, https://www.blackduck.com/blog/open-source-licenses.html
- BSD Router Project: Open Source Router Distribution [BSD Router …, accessed August 12, 2025, https://bsdrp.net/
- BSD Router Project download | SourceForge.net, accessed August 12, 2025, https://sourceforge.net/projects/bsdrp/
- ocochard/BSDRP: BSD Router Project - GitHub, accessed August 12, 2025, https://github.com/ocochard/BSDRP
- BSD Router Project - DistroWatch.com, accessed August 12, 2025, https://distrowatch.com/bsdrp
- How Does FreeBSD Compare to Linux on a Raspberry Pi? - Slashdot, accessed August 12, 2025, https://linux.slashdot.org/story/24/01/07/0327229/how-does-freebsd-compare-to-linux-on-a-raspberry-pi
- List of products based on FreeBSD - Wikipedia, accessed August 12, 2025, https://en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD
- How to install FreeBSD on Raspberry Pi (Raspberry Pi 4 support and desktop environment), accessed August 12, 2025, https://www.youtube.com/watch?v=0bpPHGAY0Ug&pp=0gcJCfwAo7VqN5tD
- Home Server with Raspberry Pi & FreeBSD | Sharp Writing, accessed August 12, 2025, https://www.sharpwriting.net/project/home-server-with-raspberry-pi-freebsd/
- The Yocto Project, accessed August 12, 2025, https://www.yoctoproject.org/
- Open-Source Licenses Made Easy with Buildroot and Yocto for Embedded Linux, accessed August 12, 2025, https://www.embeddedrelated.com/showarticle/1555.php
- License Compliance for Embedded Linux Systems - Burkhard Stubert, accessed August 12, 2025, https://embeddeduse.com/license-compliance-for-embedded-linux-systems/
- What are some real world examples of Yocto in use? : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/ny0y9m/what_are_some_real_world_examples_of_yocto_in_use/
- Linux Foundation and Leading Technology Companies Launch Open Source Dronecode Project, accessed August 12, 2025, https://dronecode.org/linux-foundation-and-leading-technology-companies-launch-open-source-dronecode-project/
- Why the Yocto Project for My IoT Project - Drew Moseley, Mender.io - YouTube, accessed August 12, 2025, https://www.youtube.com/watch?v=TRLF4jQcZQ8
- A Case Study on the Yocto Project - Mare Nostrum, accessed August 12, 2025, https://erturk.me/projects/a-case-study-on-the-yocto-project/
- The Buildroot user manual, accessed August 12, 2025, https://buildroot.org/downloads/manual/manual.html
- Buildroot - Making Embedded Linux Easy, accessed August 12, 2025, https://buildroot.org/
- Buildroot: a nice, simple and efficient embedded Linux build system - Bootlin, accessed August 12, 2025, https://bootlin.com/pub/conferences/2012/elc/buildroot.pdf
- Embedded Linux Engineer - UAV Secure OS в Swarmer, Київ, віддалено - DOU, accessed August 12, 2025, https://jobs.dou.ua/companies/swarmer/vacancies/281065/
- Yocto or Buildroot : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/1ga7tdw/yocto_or_buildroot/
- Why does it seem nobody uses yocto? : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/1ckxl6n/why_does_it_seem_nobody_uses_yocto/
- Would you recommend learning Yocto? : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/1am626j/would_you_recommend_learning_yocto/
- FreeRTOS - Wikipedia, accessed August 12, 2025, https://en.wikipedia.org/wiki/FreeRTOS
- FreeRTOS™ - FreeRTOS™, accessed August 12, 2025, https://www.freertos.org/
- FreeRTOS Pricing – Real-time Operating System for Microcontrollers - AWS, accessed August 12, 2025, https://aws.amazon.com/freertos/pricing/
- Realtime Operating System Implementation on AVR XMEGA For Unmanned Aerial Vehicle Autopilot - ResearchGate, accessed August 12, 2025, https://www.researchgate.net/publication/330280775_Realtime_Operating_System_Implementation_on_AVR_XMEGA_For_Unmanned_Aerial_Vehicle_Autopilot
- In this lab, you will be porting over some of your tasks from Lab 2 to the FreeRTOS operating system. In addition, you will imp - University of Washington, accessed August 12, 2025, https://homes.cs.washington.edu/~shwetak/classes/ee472/assignments/lab3/lab3.pdf
- TCP/IP Essentials for RTOS Developers - Number Analytics, accessed August 12, 2025, https://www.numberanalytics.com/blog/tcp-ip-essentials-for-rtos-developers
- RTOS comparison : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/1aekp9h/rtos_comparison/
- Choosing an RTOS for Your Device: FreeRTOS vs Zephyr vs ThreadX - Promwad, accessed August 12, 2025, https://promwad.com/news/choosing-rtos-freertos-zephyr-threadx-comparison
- RTOS Wars: FreeRTOS vs. Zephyr – A Decision You Can’t Afford to Get Wrong, accessed August 12, 2025, https://sirinsoftware.com/blog/rtos-wars-freertos-vs-zephyr-a-decision-you-cant-afford-to-get-wrong
- NuttX vs. Zephyr vs. … - EEVblog, accessed August 12, 2025, https://www.eevblog.com/forum/microcontrollers/nuttx-vs-zephyr-vs/
- Zephyr vs NuttX. Could you tell your experience on both? : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/w5cq50/zephyr_vs_nuttx_could_you_tell_your_experience_on/
- Measuring Real-Time Operating System Performance – Part II: Comparing FreeRTOS vs. Zephyr - UL Solutions, accessed August 12, 2025, https://www.ul.com/sis/blog/measuring-real-time-operating-system-performance-part-ii-comparing-freertos-vs-zephyr
- NuttX vs QNX: Which is a better industry standard? : r/embedded - Reddit, accessed August 12, 2025, https://www.reddit.com/r/embedded/comments/1leoacw/nuttx_vs_qnx_which_is_a_better_industry_standard/
- Comparison between RTOSes - micro-ROS, accessed August 12, 2025, https://micro.ros.org/docs/concepts/rtos/comparison/
- PX4: A node-based multithreaded open source robotics framework for deeply embedded platforms - SciSpace, accessed August 12, 2025, https://scispace.com/pdf/px4-a-node-based-multithreaded-open-source-robotics-50m35kksn5.pdf
- PX4: A Node-Based Multithreaded Open Source Robotics Framework for Deeply Embedded Platforms - Ethz, accessed August 12, 2025, https://people.inf.ethz.ch/pomarc/pubs/MeierICRA15.pdf
- PX4 Architectural Overview / Devguide - bresch, accessed August 12, 2025, https://bresch.gitbooks.io/devguide/content/en/concept/architecture.html
- Architectural Overview / PX4 Development Guide - shnuzxd, accessed August 12, 2025, https://shnuzxd.gitbooks.io/px4-development-guide/en/concept/architecture.html
- uORB Messaging / px4-devguide - bkueng, accessed August 12, 2025, https://bkueng.gitbooks.io/px4-devguide/en/middleware/uorb.html
- The Universal Permissive License (UPL), Version 1.0 - Oracle, accessed August 12, 2025, https://oss.oracle.com/licenses/upl/
- Issues with Real Time Performance in Conventional RTOS and Performance Improvements through HW-RTOS | Renesas, accessed August 12, 2025, https://www.renesas.com/in/en/document/bro/issues-real-time-performance-conventional-rtos-and-performance-improvements-through-hw-rtos
- iPerf - The TCP, UDP and SCTP network bandwidth measurement tool, accessed August 12, 2025, https://iperf.fr/
- How to measure network speed and bandwidth on iMX boards - i.MXDev Blog, accessed August 12, 2025, https://imxdev.gitlab.io/tutorial/How_to_measure_network_speed_and_bandwidth_on_iMX_boards/
- FreeBSD Network Performance Tuning @ Calomel.org, accessed August 12, 2025, https://calomel.org/freebsd_network_tuning.html
- Benchmark network throughput between Linux instances in the same VPC | AWS re:Post, accessed August 12, 2025, https://repost.aws/knowledge-center/network-throughput-benchmark-linux-ec2
- FreeBSD network performance tests, accessed August 12, 2025, https://people.freebsd.org/~pjd/netperf/
- Troubleshooting guide on TCP/IP performance issues - Windows Server | Microsoft Learn, accessed August 12, 2025, https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/overview-of-tcpip-performance
- Benchmarks: FreeBSD 13 vs. NetBSD 9.2 vs. OpenBSD 7 vs. DragonFlyBSD 6 vs. Linux - Phoronix, accessed August 12, 2025, https://www.phoronix.com/review/bsd-linux-eo2021
- Network Interfaces - NuttX latest documentation, accessed August 12, 2025, https://nuttx.apache.org/docs/latest/reference/user/11_network.html