[기획] 우주로 쏘아 올린 오픈소스
우주로 쏘아 올린 오픈소스
이지현 IT전문기자(j.lee.reporter@gmail.com)
항공우주 산업은 최근 그 어느 때보다 새 시대를 맞이하고 있다. 과거 군사 혹은 우주 탐사용으로만 쓰이던 우주 기술은 이젠 이미지 분석, 기후 예측, 자율주행, 머신러닝 모델링 등과 관련된 타 분야에서도 적극 활용 중이다. 민간 주도의 우주 기업도 늘어나면서 연구 분야도 더 다양해졌다. 민간 로켓을 개발해 우주여행 상품까지 만드는 기업부터1) 우주 광물 탐사나 관련 데이터를 확보하기 위한 프로젝트까지 존재한다.2) ‘Space as a service’를 추구하는 항공 우주 기술 전문 인프라 기업들도 속속 등장하고 있다. 자연스레 우주 산업에서는 수많은 소프트웨어와 하드웨어의 발전이 이뤄지고 있으며 그 과정에서 오픈소스 기술의 중요성도 커지고 있다.
왜 항공우주 업계에서 오픈소스를 사용하는가
항공우주 기술이라 하면 왠지 기밀 자료로 가득한 분야로 생각하기 쉽다. 그런 분야에서 과연 오픈소스, 즉 외부에 소스 코드를 공개하는 사례가 존재할까 하는 의문이 들지만, 역설적으로 항공우주 분야에서는 오픈소스 문화가 널리 퍼져있다. 크게 3가지 이유가 존재한다.
첫 번째, 정부 기술이기 때문이다. 항공우주 기술은 전통적으로 정부 주도 사업으로 발전되었고, 국민들의 예산을 활용해왔다. 국민의 돈으로 만든 기술이니 그 결과물을 최대한 많이 국민에게 공개하자는 가치 아래에 국가기관들은 오픈소스 정책을 적극 시행하고 있다.
두 번째 많은 협력이 필요하기 때문이다. 자동차 하나를 만들 때 수많은 협력업체가 함께 일하는 것처럼 위성이나 로켓 개발에도 다양한 기술과 기업들의 협업이 요구된다. 가령 국제 우주 정거장에선 센서 35만 개를 활용해 기체와 우주 조종사들을 모니터링한다. 지상 관제탑에서 사용하고 있는 소프트웨어에는 300만 줄 분량의 코드가 들어가 있으며, 비행 관련 소프트웨어는 150만 줄 분량의 코드가 입력돼있다.3) 그만큼 다양한 소프트웨어와 하드웨어가 복잡하게 활용하고 있다는 것을 알 수 있다. 이런 환경에서 오픈소스 기술을 이용하면 기존에 만들어놓은 기술을 재활용하기도 쉽고 자동적으로 외부인의 협업을 늘릴 수 있다.
마지막으로 기술 품질을 향상하기 위해서다. 흔히들 오픈소스 기술을 이용하면 최대한 많은 사람을 기술 토론 과정에 유입시킬 수 있기 때문에 오류 발견이나 기술 향상에 도움이 된다고 말한다. 최첨단 기술인 우주 기술도 이런 오픈소스 기술 방식으로 기술 수준을 높이려 한다.
항공우주 기술 분야의 리더 격인 미국 항공우주국(National Aeronautics & Space Administration, NASA) 그리고 유럽우주기구(European Space Agency, ESA)를 살펴보면 위에서 말한 특징을 잘 확인할 수 있다. 두 기관은 우주 산업에 오픈소스 기술을 퍼트리는 데 큰 기여를 했다.
NASA는 오바마 정부 시절 추진된 개방형 정부 계획을 시행하면서 오픈소스 기술 문화를 본격적으로 도입했다. 2010년 발간한 개방형 정부 계획안4)에서 NASA는 오픈소스 개발을 핵심 프로젝트로 명시하고, NASA의 기술을 대중에게 직접 제공해 연구결과물의 쓰임새를 높이겠다고 설명했다. 이를 위해 2003년부터 마련해둔 오픈소스 라이선스 제도를 더 체계적으로 관리해 컴플라이언스를 구축하고 오픈소스 공개 페이지나 개발 방식 등을 개선하겠다고 발표했다. 지금도 NASA는 25여 개의 연방 정부 기관 중 오픈소스 정책을 가장 잘 수행하고 있는 곳으로 손꼽히며, 연방 정부가 마련한 오픈소스 지원 가이드라인을 잘 지키고 있다.5)
특히 최근엔 기업과의 협력을 염두에 두고 오픈소스 기술에 더 투자하고 있다. NASA의 공식 홈페이지6)에 따르면 “오픈소스 기술은 소프트웨어 개발 측면에서 여러 이점을 가져다주며 그 예로 소프트웨어 품질 향상, 코드 개발 비용 감소, 빠른 개발 주기를 구현해 주고 민간과 공공 협력의 벽을 없애 NASA 기술을 수익화하도록 도와준다”라고 밝혔다. 또한 “오픈소스 기술은 투명하고, 협력 및 참여를 유도하는 문화가 있어서 소프트웨어를 창조하고 개선하고 사용하는 모든 과정에서 혁신을 이끌어준다”라고 덧붙이고 있다.
ESA도 오픈소스 정책을 소개하는 페이지7)에서 “오픈소스 전략을 효과적으로 운영할 경우 상업적 이득을 만들어낼 수 있으며 글로벌 시장에서 중요한 기회를 만든다”라며 “오픈소스 전략을 구축해 우주 산업의 경쟁력을 구축하고 유럽 기관들이 연구와 혁신을 이룰 수 있도록 지원하겠다”라고 설명한다.
항공우주 산업계의 오픈소스 전도사 NASA와 ESA
그럼 두 기관이 만든 오픈소스 기술에는 어떤 것이 있을까. 일단 NASA가 공개한 오픈소스 프로젝트는 583개다. 단순히 소스 코드를 깃허브에 공개하는 것 이상으로 NASA는 자체적인 라이선스나 가이드라인을 배포하고 통계나 시각화 자료도 함께 제공하다. 쓰임새를 늘리려는 시도다. 자료 구분을 잘 할 수 있도록 인공지능(AI)로 350만여 개의 자료를 자동 분석해 8천 개 종류의 태그를 추출해놓기도 했다.
[표1] NASA의 인기 오픈소스 프로젝트(스타 수 기준)
프로젝트명 | 소개 | 스타 수 | 링크 |
---|---|---|---|
Open Mct | 우주선 관련 데이터 분석 및 시각화 도구 | 1만3천 | 링크 |
F Prime | 우주 비행 애플리케이션이나 임베디드 시스템 개발에 필요한 소프트웨어 프레임워크. NASA가 화성에 보낸 헬리콥터 ‘인제뉴어티’에서 활용 | 8,800 | 링크 |
3D Resources | 인공위성 사진 및 3D 모델 자료를 모아둔 프로젝트 | 2,500 | 링크 |
Earthdata Search | NASA가 수집한 지구 관측 관련 데이터를 검색하고 비교하고 시각화할 수 있는 웹 애플리케이션 | 647 | 링크 |
Trick | 우주선 개발 관련 시뮬레이션 프레임워크 | 603 | 링크 |
Astrobee | 국제우주정거장에서 운행 중인 자율비행 로봇 기술 | 595 | 링크 |
NASA에선 오픈 데이터나 오픈 사이언스8) 운동도 활발히 지원 중이다. 가령 API로 대용량 고화질 이미지를 받을 수 있으며, 오픈 데이터 사이트에선 NASA가 수집한 광물이나 지리정보로 구성된 수 만개의 데이터 세트를 검색하고 다운로드 할 수 있다. 1천여 명9)의 NASA 직원과 협력사 직원이 이런 소스 코드나 데이터 세트를 만드는데 기여하고 있다고 한다. 또한, 일반 시민들의 참여로 과학 연구를 수행하는 시민 과학(Citizen science) 프로젝트도 여러 개 운영 중이다. 그중 하나인 ‘AI포마스(AI4Mars)10)’라는 프로젝트에선 화상 탐사선이 위험한 지형을 구분할 수 있도록 이미지를 축적하는 과정에서 시민들이 직접 이미지 라벨링 작업에 참여할 수 있게 열어두었다. 현재까지 1만4천11)명이 넘는 참여자가 AI포마스에 데이터를 분류해 제공했다.
(출처 :https://nasa.github.io/openmct/about-open-mct/)
● NASA의 전체 오픈소스 프로젝트
(코드) https://code.nasa.gov/
(데이터) https://data.nasa.gov/
(API) https://api.nasa.gov/
ESA도 전용 홈페이지를 통해 오픈소스 소프트웨어와 데이터12)를 외부에 공개하고 있다. ESA자체가 유럽 내 22개국이 참여해서 운영하고 있으니 개발한 오픈소스 기술도 각 나라가 개별적으로 만든 형태가 많다. 주로 항공 운행이나 지구과학 데이터 수집 관련 소프트웨어, 인공위성 통신과 관련된 기술 등 120개가 넘는 오픈소스로 개발하거나 사용하고 있다.
[표2] ESA의 주요 오픈소스 프로젝트
프로젝트명 | 소개 | 링크 |
---|---|---|
Sen2-Agri | 인공위성 사진을 기반으로 농업 현황을 모니터링을 할 수 있게 만든 종합 시스템 | 링크 |
SNS3 | 인공위성 네트워크 시뮬레이션 기술 | 링크 |
NanoSat MO Framework |
소형 인공위성용 소프트웨어 프레임워크. 지상관제센터에서 인공위성에 설치되는 프로그램을 관리하고 모니터링할 때 사용 | 링크 |
Pykep | 천체 역학 연구를 위해 만든 파이썬 라이브러리 | 링크 |
Pagmo | 과학 연구 및 대규모 병렬 최적화 과정을 위한 C++ 라이브러리 | 링크 |
OpenGEODE | SDL(Specification and Description Language) 에디터. 에이다 코드를 생성하거나 상태 다이어그램을 자동 변환할 때 사용 | 링크 |
● ESA의 전체 오픈소스 프로젝트
(코드)https://essr.esa.int/
(데이터)https://open.esa.int/open-access-at-esa/
NASA와 ESA가 공동으로 오픈소스 기술을 개발하는 사례도 있다. 두 기관은 2021년 10월 기후변화 및 생물량 정보를 분석해 주는 MAAP이라는 플랫폼13)을 함께 만들고 오픈소스로 공개했다.
그 외에도 여러 우주 기관들이 오픈소스 기술 공개에 나서고 있다. 캐나다 우주정보국은 깃허브 계정14)을 개설하고 자연어 분석 기술이나 인공위성 데이터 분석 기술을 오픈소스로 공개했다.스웨덴 우주정보국은 AI 정책의 일환으로 항공우주 개발에 필요한 데이터 기술에 투자했다.15) 2년 동안 진행된 이 프로젝트에서 스웨덴 정부는 룰레오 공과 대학과 함께 오픈 데이터 큐브(Open Data Cube)라는 기술을 활용해 지리 데이터를 보다 최적화해서 처리할 수 있는 기술을 구현했다. 국립 스웨덴 연구위원회는 NASA와 협업해 오픈소스 데이터 시각화 기술 ‘오픈스페이스16)’도 후원하고 있다. 독일 우주 항공센터는 인공위성용 운영체제나 관련 소프트웨어 개발도구를 오픈소스로 공개했다.17)
한국에서는 아직 정부 주도의 오픈소스 기술 프로젝트를 확인하기 어렵다. 하지만 한국항공우주연구원이나 학계에서 발표한 논문에서 종종 오픈소스 기술을 활용한 연구를 찾아볼 수 있다. 2021년에 한국항공우주연구원은 누리 호과 관련된 영상 자료를 누구나 사용할 수 있게 공개해놓기도 했다.18)
민간 우주여행 시대, 그리고 오픈소스
최근 항공우주 업계에선 그 어느 때보다 민간 기업들의 참여가 활발하다. 아예 민간 기업 주도의 항공우주 산업을 ‘뉴 스페이스(New Space)’라고 따로 부르기도 한다. 반대로 정부 주도의 과거의 항공우주 기술 문화를 ‘올드 스페이스(Old Space)’라고 표현한다. 민간 기업들의 참여로 항공 우주 산업이 더 확장되면서 새로운 오픈소스 기술을 만들려는 시도도 눈에 띄고 있다.
대표적으로 아마존의 제프 베조스가 만든 우주 로켓 기업 블루 오리진은 우주선용 로봇에 들어갈 운영체제를 오픈소스로 개발하겠다고 2022년 밝혔다.19) 스페이스OS라는 이 기술은 로봇 업계에서 널리 쓰이는 오픈소스 운영체제 ‘ROS’를 개량한 버전이다. 블루 오리진은 ROS를 만든 오픈로봇틱스 재단과 NASA와 공동으로 스페이스 OS를 만들 예정이다. 방산 기업이자 로켓 및 비행기 기술을 만들고 있는 록히드 마틴은 아파치 스톰을 활용해 엔터프라이즈용 데이터 분석 및 계산 시스템 ‘스트림플로우20)’를 오픈소스 기술로 만들고 꾸준히 업데이트 하고 있다.
스타트업 형태로 오픈소스 기술을 제공하는 곳도 있다. 쿠보스21)는 인공위성 관리에 필요한 클라우드 인프라를 만든 기업이다. 인공위성 발사나 추적에 필요한 데이터를 한곳에서 모으고 MS 애저와 같은 외부 기술과 통합할 수 있게 만든 게 특징이다. 현재 쿠보스는 비슷한 기술을 제공하면서 미 공군, NASA의 공식 협력하고 있는 엑스플로러라는 기업에 인수된 상태다.
꼭 기업이 아니더라도 커뮤니티나 개인들이 오픈소스 프로젝트를 운영하는 경우도 있다. 이러 프로젝트는 교육용으로 활용되거나 항공우주 기술에 대한 관심과 연구 저변을 넓히는 데 도움을 주고 있다.
큐브샛(Cubesat, 큐브위성이라고 부름)22)은 교육용으로 가장 많이 활용되는 오픈소스 기반 인공위성이다. 캘리포니아 폴리테크닉 주립대학과 스탠포드 대학이 공동으로 만든 큐브샛은 가로, 세로, 높이 10cm 이하이면서 질량 1.33kg을 넘지 않는 초소형 인공위성이다. 하드웨어와 소프트웨어 모두 오픈소스 형태로 공개됐다. 전 세계 수많은 공과 대학에서 큐브샛을 교육 자료로 활용하고 있으며 큐브샛을 개량해 새로운 오픈소스 인공위성이 만들어지고 있다. 한국에서도 2019년까지 과학기술정보통신부와 한국항공우주연구원이 큐브위성 경연 대회를 주최하고 인공위성에 대한 아이디어를 실현할 수 있는 기회를 제공하는 장을 만들기도 했다.23)
큐브샛이 인공위성에 한정된 기술이라면 리브레 스페이스 재단(Libre Space Foundation)24)은 인공위성 발사부터 분석, 관리까지 필요한 종합 기술을 오픈소스로 제공하고 있다. 리브레스페이스 재단은 그리스에 있는 개발자들을 주축으로 만들어진 비영리단체다. 초기 구성원은 SatNOGS라는 인공위성 지상관제 기술을 만든 인물들로 구성됐으며, 이후 유럽 대학이나 ESA 지원을 받아 기술을 확장하고 있다. 리눅스 재단과 유사하나 항공우주 관련 오픈소스 프로젝트만 육성하고 알리는 역할을 하고 있다.
[표3] 리브레 스페이스 재단에서 관리하는 주요 오픈소스 프로젝트
프로젝트명 | 소개 | 링크 |
---|---|---|
SatNOGS | 인공위성 지상관제 기술에 필요한 데이터 표준, 네트워크 정보, 임베디드 시스템 등을 개발 | 링크 |
Polaris | 인공위성 데이터 분석에 필요한 머신러닝 기술 | 링크 |
Rocketry telemetry | 고출력 로켓 발사를 위한 원격 측정 시스템 | 링크 |
UPSat | 그리스 파트라 대학교와 공동으로 만든 소형 인공위성. 큐브샛을 활용해 개발 | 링크 |
SIDLOC | ESA 후원으로 만든 기술로 위성 및 우주선을 식별하고 위치 파악에 쓰이는 표준 기술 | 링크 |
개인들이 만든 오픈소스 기술은 보통 취미활동의 일환으로 운영되고 있다. 한국의 미디어아트 작가 송호준씨는 큐브샛을 활용해 2013년 세계 최초로 개인 위성을 쏘아 올려 화제를 모은 바 있다. 송호준씨가 올린 인공위성 정보는 깃허브25)에 올라와 있으며 개발 과정은 다큐멘터리 영화로 제작되기도 했다. 미국의 소프트웨어 개발자 네이선 버게이도 항공우주 기술에 대한 열정으로 ‘오픈소스 에어로스페이스 컴퓨팅26)’란 프로젝트를 운영하고 있다. 여기선 고출력 로켓 운영에 필요한 시뮬레이션 기술을 만들고 있다.
※참고문헌
1) 미국 기업이 우주 개발에 뛰어드는 이유는?, 2017년6월, https://www.dongascience.com/news.php?idx=18776
2) 왜 '우주' 탐하나?···"뉴 스페이스는 명백한 기회", https://www.hellodd.com/news/articleView.html?idxno=62129
3) International Space Station Facts and Figures, 2021년11월, https://www.nasa.gov/feature/facts-and-figures
4) NASA Open Government Plan, https://www.nasa.gov/pdf/440945main_NASA%20Open%20Government%20Plan.pdf
5) Agency Compliance, https://code.gov/agency-compliance/compliance/dashboard
6) NASA Open Source Development, https://www.nasa.gov/open/open-source-development.html
7) ESA OPEN SOURCE POLICY, https://essr.esa.int/esa-open-source-policy
8) https://science.nasa.gov/open-science-overview
9) https://docs.google.com/presentation/d/10xoC0N1jWOxEFwGml-Ivnn6GYxJ2_tbAZjdl7aRzaI8/edit#slide=id.g616acc05ad_0_32
10) NASA's Mars Rover Drivers Need Your Help, 2020년12월, https://mars.nasa.gov/news/8689/nasas-mars-rover-drivers-need-your-help/
11) https://www.zooniverse.org/projects/hiro-ono/ai4mars
12) https://open.esa.int/open-access-at-esa/
13) https://earthdata.nasa.gov/esds/maap
14) https://github.com/asc-csa
15) https://www.ai.se/en/node/81535/swedish-space-data-lab
16) https://www.openspaceproject.com/
17) https://www.dlr.de/sc/en/desktopdefault.aspx/tabid-5951/9688_read-19161/
18) https://www.kari.re.kr/cop/bbs/BBSMSTR_000000000231/selectBoardArticle.do?nttId=8048
19) Open Robotics developing Space ROS with Blue Origin, NASA, 2022년2월, https://www.therobotreport.com/open-robotics-developing-space-ros/
20) https://github.com/lmco/streamflow
21) https://github.com/kubos/kubos
22) https://www.cubesat.org/
23) https://www.kari.re.kr/nanosat/contest/view/id/54#u
24) https://libre.space/
25) https://github.com/ossicode
26) https://open-aerospace.github.io/
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
공지 | [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file | support | 12394 | 2024-01-03 |
공지 | [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9888 | 2024-01-03 |
공지 | [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9835 | 2024-01-03 |
공지 | 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file | support | 22363 | 2022-07-28 |
공지 | 공개소프트웨어 연구개발 수행 가이드라인 file | OSS | 20739 | 2018-04-26 |
418 | [4월 월간브리핑] 오픈소스 기술을 활용한 기술혁신으로 항공우주산업의 경쟁력 강화 | support | 3977 | 2022-04-26 |
417 | [기획] 우주로 쏘아 올린 오픈소스 | support | 5194 | 2022-04-26 |
416 | [기고] 도심항공모빌리티와 오픈소스 | support1 | 4202 | 2022-04-25 |
415 | [3월 월간브리핑] 오픈소스 기술, 로봇시장과 결합하여 신기술개발 및 협업⋅공유문화 확산 | support | 2486 | 2022-03-29 |
414 | [기획] 오픈소스로 가까워지는 로봇 시대 | support1 | 6060 | 2022-03-28 |
413 | [기고] 오픈소스와 로봇 | support1 | 4218 | 2022-03-28 |
412 | [2월 월간브리핑] SBOM이 사이버 보안을 개선하는 데 미치는 영향 | support1 | 6366 | 2022-02-21 |
411 | FINOS 보고서로 분석한 금융계의 오픈소스 현황과 도전과제 | support | 1962 | 2022-01-25 |
410 | [1월 월간브리핑] 금융권의 적극적인 오픈소스 도입으로 IT 경쟁력 강화 추진 | support | 3277 | 2022-01-25 |
409 | [기획]국내 금융기관의 오픈소스 활용 현황 | support | 7285 | 2022-01-24 |
0개 댓글