본문 바로가기

Home > 열린마당 > 공개SW 소식

공개SW 소식

에어비앤비가 공유하는 오픈소스 프로젝트 3선

OSS 게시글 작성 시각 2015-04-27 18:26:22 게시글 조회수 3213

2015년 04월 24일 (금)

ⓒ 블로터닷넷, 이지현 기자 jihyun@bloter.net



에어비앤비는 공유경제의 대표주자로 불리는 기업이다. 최근 에어비앤비는 기술 공유 문화에도 큰 관심을 많이 보이고 있다. 오픈소스 소프트웨어(SW) 개발에 열심히 참여하는 게 대표 사례다. 에어비앤비가 개발한 오픈소스 SW는 현재 10개가 넘는다. 이 중 가장 인기 있는 오픈소스 SW 3개를 살펴보자.


1. 자바스크립트 스타일 가이드


말 그대로 자바스크립트를 쓸 때 어떤 원칙을 지켜야 하는지 알려주는 문서다. 개발자는 조금씩 다른 문법으로 코드를 작성한다. 만약 오류가 덜 나고 보기 쉬운 코드를 작성하고 싶다면 ‘자바스크립트 스타일 가이드’를 참고하자. ‘문자열은 큰 따옴표 말고 작은따옴표를 쓰세요’, ‘속성에 액세스하려면 대괄호([]) 대신 도트(.)를 사용하세요’, ‘변수를 선언 할 때는 항상 var를 사용하세요. 그렇지 않으면 전역 변수로 선언됩니다’ 같은 노하우를 볼 수 있다.


airbnb_open_source_02_Javascriptguide
▲에어비앤비가 공개한 ‘자바스크립트 스타일 가이드’ 예제 (사진 : 에어비앤비 깃허브 페이지)


airbnb_open_source_02_Javascriptguide02
▲에어비앤비가 공개한 ‘자바스크립트 스타일 가이드’ 예제 (사진 : 에어비앤비 깃허브 페이지)


airbnb_open_source_02_Javascriptguide03
▲에어비앤비가 공개한 ‘자바스크립트 스타일 가이드’ 예제 (사진 : 에어비앤비 깃허브 페이지)


airbnb_open_source_02_Javascriptguide04
▲에어비앤비가 공개한 ‘자바스크립트 스타일 가이드’ 예제 (사진 : 에어비앤비 깃허브 페이지)


자바스크립트 스타일 가이드는 에어비앤비가 공개한 기술 중 가장 인기가 높은 프로젝트다. 깃허브 ‘포크’ 수는 3700번이 넘었다. 유일하게 한글로 번역도 됐다. 라이선스는 ‘MIT 라이선스’를 따른다.


자바스크립트 스타일 가이드 깃허브 페이지(한글)
자바스크립트 스타일 가이드 소개 페이지


2. 에어팔


‘에어팔’은 프레스토DB 엔진에서 사용하는 데이터 분석도구다. 프레스토DB는 페이스북이 만든 오픈소스 SQL 엔진이다. 에어비앤비는 프레스토DB를 사용하는 대표적인 고객이다. 에어비앤비는 1.5PB 규모의 데이터를 저장소에 보관하고 있다. 과거에는 너무 많은 데이터 양 때문에 특정 데이터를 찾아내고 쿼리를 작성하기 어려웠다. 에어팔은 이전보다 데이터에 쉽게 접근할 수 있도록 도와준다. 별다른 설치 없이 이용하도록 웹 UI도 지원한다.


제임스 메이필드 에어비앤비 데이터 인트라스트럭처팀 PM은 “데이터 분석을 위해선 쿼리가 어떻게 쓰였는지 기억해야 하고, 명령어 복사와 붙여넣기를 반복하고, 여러 터미널 창을 띄워놓아야 했다”라며 “전체적으로 분석 속도가 느려지고 귀찮은 작업이 많았다”라고 설명했다. 또한 그는 “DB 초급자가 SQL을 이용한 분석 기술을 배우기엔 시간이 많이 걸린다”라며 “이제 막 SQL을 처음 배운 사람도 이용할 수 있도록 에어팔을 만들었다”라고 설명했다.


airbnb_Airpal_demo
▲에어비앤비가 공개한 ‘에어팔’ 예제 (사진 : 에어비앤비 깃허브 페이지)


사용자는 에어팔로 DB 접근 권한을 조절할 수 있고 메타데이터, 스키마 등을 쉽게 볼 수 있다. 분석 결과를 웹브라우저에서 CSV 파일 형태로 추출하거나 새로운 하이브 테이블을 생성하는 것도 문제 없다. 에어팔은 ‘아파치 라이선스2.0’을 따른다.


에어팔 깃허브 페이지
에어팔 소개 페이지


3. 에어맵뷰


안드로이드 앱에서 인터랙티브한 지도를 사용하려면 구글플레이 서비스 API를 활용해야 했다. 개발자는 ‘에어맵뷰’로 API 사용 유무와 관계없이 인터랙티브한 지도를 개발할 수 있다. 에어맵뷰는 이를 위해 ‘뷰 추상화'(view abstraction)를 지원한다. 에어비앤비는 앞으로 아마존 맵 V2, 바이두, 맵박스 등과 같은 기술을 에어맵뷰 위에서 사용할 수 있게 보강할 예정이다. 에어맵뷰는 ‘아파치 라이선스2.0’을 따른다.


airbnb_airmapview_demo
▲에어비앤비가 공개한 ‘에어맵뷰’ 예제 (사진: 에어비앤비 깃허브 페이지)


에어맵뷰 깃허브 페이지
에어맵뷰 소개 페이지


※인터뷰/ 제임스 메이필드 PM & 앤디 크람 에어비앤비 개발자

“오픈소스는 에어비앤비 개발 DNA”


구인구직 연결 서비스 업체 포처블은 지난 3월 ‘미국 직원들이 가장 가고 싶은 기업’에 대한 설문조사 결과를 발표했다. 이 조사에서 9위를 차지한 기업은 에어비앤비였다.4위가 페이스북, 7위가 트위터라는 점을 고려하면 눈에 띄는 성장이다. 실리콘밸리의 다양한 개발자와 엔지니어들이 에어비앤비에 모이고 있다. 에어비앤비는 ‘너드(Nerd, 한 가지 일 몰입하는 사람)’라는 개발자 웹사이트를 공개하고, 내부 문화나 개발자를 꾸준히 소개하고 있다.


에어비앤비 기술 인력은 14개 팀으로 구성돼 있다. 10개 팀은 제품 개발, 4개 팀은 인프라 기술을 담당하고 있다. 팀별 인원은 10명 미만이다. 효율적인 소통을 위해 가볍고 작은 조직을 지향한다.


모든 엔지니어는 에어비앤비 코드에 기여할 수 있다. 모든 코드 저장소는 누구에게나 열려 있다. 에어비앤비는 스스로 “에어비앤비 기본 문화는 오픈소스 커뮤티니 문화에서 가져왔다”라며 “다양한 사람이 서로 코드를 검토하고 테스트하면서 기술을 발전시키고 있다”라고 설명했다.


제임스 메이필드 PM이 이끌고 있는 팀은 데이터 인프라스트럭처팀이다. 5명의 팀원이 함께 일하고 있다. 제임스 메이필드는 페이스북에서 7년간 근무하다 2014년 에어비앤비에 합류했다. 그는 “페이스북도 물론 좋았지만 좀 더 새로운 일을 하고 싶어 회사를 옮겼다”라고 말했다. 앤디 크람 개발자는 지역정보를 모아 보여주는 모바일 업체 나베와이즈를 만든 공동설립자였다. 에어비앤비가 2012년 나베와이즈를 인수하면서 앤디 크람은 에어비앤비에 소프트웨어 개발자로 합류했다.


제임스 메이필드 PM은 에어비앤비 엔지니어 문화의 가장 큰 특징을 “엔지니어 각자마다 강력한 영향력을 가지도록 격려한다”라고 표현했다. 그렇기 때문에 에어비앤비는 문제를 스스로 해결할 수 있는 사람을 뽑고, 회사는 각 개인들의 결정을 모아 발전하고 있다.


airbnb_open_source_01
▲에어비앤비 데이터 인프라스트럭처팀 제임스 메이필드 PM(왼쪽)과 앤디 카람


제임스 메이필드 PM은 “지난 3월 공개된 에어팔도 위와 같은 원칙에서 나온 것”이라고 밝혔다. 에어팔은 오픈소스 기술로 공개되기 1년 전부터 회사 내부에서 쓰였다. 제임스 메이필드 PM은 “에어비앤비 전 직원에게 데이터 인프라 구조를 투명하게 보여주고 싶었다”라며 “분석을 시도하는 데 드는 진입장벽을 낮춰 더 많은 사람이 데이터를 활용하길 원했다”라고 설명했다. 데이터 인프라스트럭처팀이 노력한 결과 현재 에어비앤비 직원의 3분의 1이 에어팔을 사용해 데이터를 활용하고 있다 .


앤디 크람 개발자는 “10년 전부터 오픈소스 개발에 참여하고 있으며, 다른 엔지니어와 협업하는 것을 즐기고 있다”라며 “에어팔을 만들 때는 오프소스 커뮤니티에서 원하는 유연성과 회사에서 원하는 구체적인 기능의 균형을 맞추는 데 신경을 많이 썼다”라고 말했다.


제임스 메이필드 PM은 “에어비앤비는 오픈소스 세계로부터 많은 것을 얻은 만큼, 다시 돌려줘야 한다는 믿고 있다”라며 “공유 문화를 개발자 세계에 퍼뜨리는 것도 우리에게 중요하다”라고 설명했다.


에어비앤비 깃허브 페이지
에어비앤비 오픈소스 공식 홈페이지




※ 본 내용은 (주)블로터 앤 미디어(http://www.bloter.net)의 저작권 동의에 의해 공유되고 있습니다.
Copyright ⓒ 블로터 앤 미디어. 무단전재 및 재배포 금지



[원문출처 : http://www.bloter.net/archives/204916]

맨 위로
맨 위로