Offcanvas

개발자 / 애플리케이션 / 오픈소스 / 클라우드

칼럼 | ‘편리함이 라이선스보다 유의미하다’ 클라우드와 오픈소스의 역학 살펴보기

2022.03.23 Matt Asay  |  InfoWorld
2016년에 필자는 ‘클라우드 편리성이 오픈소스 데이터베이스를 죽이고 있다’라고 진단한 바 있다. 그러나, 오픈소스 데이터베이스는 죽지 않았다. 오히려 오픈소스의 적절성은 클라우드 회사들이 관리의 수월성을 추구하는 와중에도 유지되고 있다. 그런데 이와 관련해 오픈소스가 유의미한 이유는 오픈소스를 열렬히 지지하는 사람들의 생각과는 사뭇 다르다.

레드몽크(RedMonk)의 스티븐 오그래디는 편리성이 개발자들에게 유일한 관심의 대상은 아닐지라도 “대부분의 다른 기술 특질보다 중요하다”라고 표현했다. 물론, 여기에서 오픈소스는 “대부분의 다른 기술 특질”에 속한다.

편리성 싸움에서 패배
오해는 마시라. 동일한 조건이라면 개발자들은 폐쇄형보다 개방형을 선호하겠지만 클라우드 시대에 소프트웨어가 어느 정도 오픈소스인지는 관건이 아니다. 솔직히 말하자면 항상 그래 왔다. 마이크로소프트 오피스의 사용자가 수억 명이고 오라클이 수십 년 간 데이터베이스 순위 1위를 차지한 것(사정이 달라지는 중이기는 하다)에는 다 그만한 이유가 있다. 

물론 소프트웨어의 오픈소스화 움직임은 큰 성공을 거뒀으며 소프트웨어에 대한 사용자의 사고방식을 극적으로 바꿔 놓았다.

그러나 그게 전부는 아니다.

몽고DB(MongoDB)의 4분기 실적 발표를 듣다가 갑자기 이런 생각이 들었다(필자는 몽고DB 직원임을 밝힌다). 실적 발표가 끝날 때쯤 한 애널리스트는 몽고DB의 무료 오픈(소스) 버전인 커뮤니티(Community)를 사용하던 사람들이 돈을 내고 아틀라스(Atlas)(완전 관리형 클라우드 서비스)를 사용하기 시작하는 현상에 대해 질문했다. 

몽고DB CFO/COO 마이클 고든은 “아틀라스의 경우 무료든 유료든 셀프 방식이다. 또한, 커뮤니티 서버(Community Server)를 다운로드해서 직접 관리하는 최신식 방식이라고 할 수 있다”라는 인상적인 답변을 내놓았다. 

즉, 개발자들은 한때 자유롭게 사용할 수 있는 오픈소스 소프트웨어를 다운로드했던 것처럼 이제는 자유롭게 사용할 수 있는 관리형 서비스를 찾고 있는 것이다. 단, 여기서 중요하게 지적할 점은 그 때나 지금이나 대부분의 개발자가 중시하는 것이 자유 공개(FOSS) 소프트웨어 옹호자들이 생각하는 그런 자유는 아니라는 점이다. 

개발자들은 소프트웨어 자유에 중점을 두지 않는다(그랬던 적이 없다). 그저 재무팀, 법무팀 등의 결재를 받을 필요 없이 편리하게 소프트웨어를 사용하고 싶을 뿐이다. 개발자들은 업무 수행의 방해 요소를 최대한 줄이려고 노력할 뿐이다.

즉, 개발자들이 원하는 ‘자유’란 ‘편리한 방식으로 개발할 자유’를 의미한다.

그 ‘가장 편리한 방식’은 클라우드이다. 팀 오레일리가 과거에 언급한 것처럼 “실용적인 개방형과 관념적인 개방형이 있다. 실용적인 개방형이란 이용 가능한 것이다.” 무슨 뜻인가 하면 ‘특정 사람들이 다른 사람들보다 쉽게 접근하지 못하도록 공평하게 적시에 이용 가능하다’는 뜻이다. 그는 계속해서 “비용이 충분히 낮으면 저작물과 똑같은 조건을 많이 만들어내는 것이 사실”이라고 말했다.

따라서, 지난 2009년에 필자가 관련 기고문을 작성했을 때나 지금이나 변함없는 사실은, 오픈소스를 라이선싱 측면에서 집착할수록, 그리고 주류 개발자들이 오픈소스를 받아들이는 주요 이유를 외면할수록, 상황 파악이 어려워질 것이라는 점이다. 

물론, 라이선스는 중요하다. 그러나, OSI에서 승인한 라이선스 개수에 대한 논쟁에 디지털 잉크를 낭비할 만큼 중요하지는 않다. 막상 개발자들이 가장 신경 쓰는 것은 ‘편리성’이기 때문이다. 

그렇다면, 개발자들이 실제로 관심을 가지게끔 오픈소스 편리성을 클라우드 시대로 가져오는 방법은 무엇일까?

클라우드에서 오픈소스를 편리하게 만들기
한 가지 뜨고 있는 방법은 오픈소스와 멀티클라우드 사이의 상호작용에 있다. 필자도 예전에 관련 기사를 작성한 바 있지만 오픈소스와 멀티클라우드의 조합이 현실성 있게 다가온 것은 최근 크런치 데이터(Crunchy Data) 제품 책임자(이자 포스트그레SQL(PostgreSQL) 커뮤니티에서 활동 중)인 크레이그 커스티엔스와 나눈 대화에서였다.

커스티엔스는 멀티클라우드가 효과를 보려면 개발자들이 “포스트그레SQL, 몽고DB, 레디스(Redis)와 같은 동급 최고면서도 개방형인 기술로” 개발해야 한다고 주장했다. 그 중에서 어떤 기술이 중요한 것이 아니라 이러한 기술은 개발자라면 원할 만한 다양한 클라우드, 데이터센터 또는 노트북 환경 전부에 걸쳐 실행 가능하다는 것이 중요하다고 언급했다.

이런 기술이 꼭 오픈소스일 필요도 없다. 단, 여러 클라우드에 걸쳐 애플리케이션을 이동하게 만들 수 있도록 평범한 형식으로 실행될 수 있어야 한다. 여기서 ‘평범한’이란 포스트그레SQL 과 같은 것을 의미한다. 다운로드할 수 있는 버전은 일부 클라우드 제공업체가 운영하는 관리형 포스트그레SQL와 비슷하지만 아주 똑같지는 않다(업스트림 포스트그레SQL에 기여하지 않는 패치 등 다른 성능 개선 기능을 추가했기 때문이다). 

커스티언스는 “(멀티클라우드를) 성공적으로 활용하는 사람들을 보면 전투적인 시험을 거쳐 살아남은 오픈 기술을 선택하고 특수 매직 소스가 첨가된 버전이 아닌 평범한 기술을 선택한다”라고 전했다. 그는 이러한 방식이 90% 이상의 엔터프라이즈 워크로드에서 효과를 거둘 것이라고 추산했다. 엄청난 수치다.

오픈소스의 또 다른 중대한 응용 방식은 이 첫번째 주장과 관련되어 있다. 각각의 클라우드는 서로 매우 상이하다. 스토리지, 컴퓨팅 등 소위 상품의 영역에서도 그렇다. 이런 상황에서 오픈소스는 개발자들이 여러 클라우드를 왔다 갔다 할 때 가지고 다닐 수 있는 일종의 ‘공통어’를 제공한다. 

필자가 예전에 기술한 바 있지만, 클라우드는 예컨대 포스트그레스SQL의 구현 방식에서 서로 다를 수 있지만 공통점도 충분하다. 따라서 포스트그레SQL를 아는 개발자라면 AWS, 구글 클라우드(Google Cloud) 또는 마이크로소프트 애저(Microsoft Azure)로 생산성을 발휘할 수 있다.

커스티엔스는 “특정 클라우드 업체의 복잡한 내용을 아는 것이 개발자에게 중요할 수 있지만, 여러 오픈소스 기술(쿠버네티스(Kubernetes), 리눅스(Linux), 포스트그레SQL 등등)은 개발자들에게 클라우드 사이에 이동 가능한 기술을 제공한다”라고 말했다.

개발자들이 처음 오픈소스를 받아들인 이유는 클라우드로 인해 완성된다. 그렇다고 해서 클라우드 때문에 오픈소스가 더 이상 쓸모 없게 된다는 뜻은 전혀 아니다. 트위터에서 시간 낭비를 하는 대신 묵묵히 클라우드(그리고 오픈소스)를 통해 클라우드 간 업무를 수행하는 대다수의 개발자들에게 FOSS 지지자들이 관심을 기울여야 한다는 뜻이다.

* Matt Asay는 몽고DB의 파트너 마케팅을 담당하고 있다. ciokr@idg.co.kr
CIO Korea 뉴스레터 및 IT 트랜드 보고서 무료 구독하기
Sponsored
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.