본문 바로가기

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

공개SW 소식

[심층기획] 글로벌 IT기업의 오픈소스 SW 전략…③페이스북

OSS 게시글 작성 시각 2016-12-22 05:13:45 게시글 조회수 3580

2016년 12월 21일 (목)

ⓒ 디지털데일리, 백지영 jyp@ddaily.co.kr




맨체스터 유나이티드를 세계적 명문 축구 클럽으로 이끌었던 알렉스 퍼거슨 전 감독은 'SNS를 하는 것은 인생낭비'라며 냉소했다. 그러나 역설적으로 이는 SNS가 이미 우리 생활에, 특히 소통 과정에 매우 깊숙히 개입해 있음을 강조한다. 그것이 긍정적이든 부정적이든.  


이제부터 SNS의 상징처럼 군림하게 된 페이스북 얘기를 하려한다.  페이스북은 2004년 마크 주커버그가 개방되고 연결된 세상을 만드는 것을 목표로 만든 세계 최대 소셜 네트워크 서비스다. 2016년 12월 현재 전세계 17억9000만명이 넘는 월 활동사용자(MAU, 최근 한 달 간 사이트를 적어도 한번 이상 방문한 사용자)를 보유하고 있으며, 이중 한국의 월 활동사용자는 1700만명에 달한다.


사용자들은 페이스북을 통해 친구, 가족 등과 글이나 사진, 동영상 등으로 소식을 나누고 세계 각지에서 벌어지는 일이나 관심을 갖고 있는 사안들에 대해 자유롭게 이야기하고 공유할 수 있다.


페이스북은 오픈소스 기술 생태계에서도 최근 중요한 지위를 차지하고 있다. 개발자 문화가 발달한 페이스북은 최근 몇 년 간 오픈소스 분야에서 두각을 보이고 있다. 흔히 개발자 문화의 꽃이라고 불리는 ‘오픈소스’ 기술을 적극적으로 받아들일 뿐더러 기여도 활발히 하고 있다.




올해에도 페이스북의 오픈소스 사랑은 계속됐다. 최근 페이스북의 오픈소스팀 개발자 크리스틴 에버네티가 블로그에 포스트한 ‘2016 페이스북 오픈소스 리뷰’에 따르면, 올해만 77개의 새 오픈소스 프로젝트를 공개했다. 이에 따라 현재까지 페이스북이 관리하는 오픈소스 프로젝트는 400여개에 달한다. 올해 페이스북 오픈소스 기술에 커밋(소스 코드를 수정, 변경하는 과정)을 요청한 숫자는 6만번이다.


페이스북에 따르면, 올해 가장 커밋을 많이 한 프로젝트로는 누클라이드(4901번), 리액트 네이티브(4041번), HHVM(3563번), 벅(3470번), 프레스토(2551번) 순이었으며, 가장 인기있는 오픈소스 프로젝트로는 리액트와 리액트 네이티브를 꼽았다. 두 프로젝트는 깃허브에서 각각 5만, 4만의 팔로워를 기록했다고 밝혔다. 팝과 이뮤터블JS, 크리에이트 리액트 앱은 1만5000이상, HHVM과 플럭스, 프레스토는 1만이상의 팔로워를 확보했다. 페이스북의 모든 오픈소스 프로젝트는 여기에서 볼 수 있다.



▲페이스북이 올해 가장 커밋을 많이 한 프로젝트


그렇다면 페이스북은 그동안 오픈소스 생태계에 어떤 기여를 했을까.


우선 지난 2010년 공개한 HHVM(Hip Hop VM)이 있다. 이는 페이스북이 자사 웹서비스의 운영효율과 서버 처리 기능 향상을 위해 만든 오픈소스 가상머신(VM) 기술이다. 핵과 PHP로 만든 애플리케이션의 성능을 높일 때 활용할 수 있다. 페이스북은 PHP로 만들어져 빠른 웹 개발이 가능하지만 경쟁 언어들의 비해 속도가 느린 단점이 있어 HHVM을 만들었다. 지난해 출시된 PHP7에 알맞게 HHVM을 최적화했다.


현재 깃허브에서 가장 인기있는 오픈소스 중 하나인 리액트(React)는 사용자 인터페이스(UI)를 만들기 위한 자바스크립트 라이브러리다. 2013년 처음 공개됐으며 페이스북과 인스타그래 소속 개발자들이 만들고 있다.


페이스북은 더 빠른 속도의 오류를 찾아내는 새로운 프로그래밍 언어 ‘핵(Hack)’도 오픈소스화했다. 핵은 기존 PHP언어를 기반으로 추가 기능을 갖춘 프로래밍언어다. 핵의 장점은 프로그래밍 테스트 시간을 줄여주는 것이다. PHP개발자가 웹브라우저와 코드를 번갈아 가며 테스트 하던 것에 앞서 정적 타입과 동적 타입을 동시에 사용하며 확인할 수 있는 그래듀얼 타이핑 개념을 사용해 오류를 잡을 수 있게 했다.



▲깃허브에서 가장 많은 팔로워를 보유한 페이스북의 오픈소스 프로젝트


iOS, OS X, tvOS 앱 개발에 활용되는 애니메이션 엔진 ‘팝(Pop)’도 2014년 공개했다. 페이스북은 ‘페이퍼’앱의 다양한 효과를 팝으로 개발했다. 지난해에는 오픈소스 인공지능(AI) 프로젝트 ‘토치(Torch)’을 공개했다. 딥러닝 기술인 토치는 엔디비아 그래픽처리프로세서(GPU)에 최적화 돼 있으며, 이를 통해 패턴 인식속도를 23.5배까지 향상시킬 수 있다.


지난해 공개한 ‘리액트 네이티브’는 네이티브 모바일 앱을 만들어주는 프레임워크다. HTML5와 다른 웹 표준으로 모바일 앱을 개발할 수 있게 나온 리액트의 파생물이다. 안드로이드나 iOS 앱을 같은 코드로 개발할 수 있도록 도와준다. 지난해 등장한 기술이지만 개발자 사이에 엄청난 인기를 끌고 있다.


오픈소스 편집기 ‘아톰’을 활용해 개발한 오픈소스 통합 개발 환경 툴 ‘누클라이드’도 지난해 공개됐다. 이는 모바일과 웹 개발에 최적화된 IDE다. 이클립스와 비슷한 도구로 개발자들에게 코드 편집기와 컴파일러 등을 제공한다. 페이스북의 기술 및 프로그래밍 언어 ‘핵’과 활용될 수 있도록 만들어졌다. ‘핵’언어를 위한 자동 코드 완성, 타입 확인, 구문 하이라이트 기능을 제공하다.


정적 프로그램 분석 도구인 ‘인퍼’의 소스코드도 BSD라이선스로 공개했다. 다른 디버깅 도구와의 차이점은 프로그램이 완성되기 전에 소스코드의 오류를 발견할 수 있다는 것이다. 자바, C언어, 오브젝티브-C로 작성된 코드는 모두 인퍼를 활용할 수 있다. 현재 맥 OS X와 리눅스 환경에서만 이용이 가능하며 운영체제(OS)에 맞는 파일을 다운받아 터미널에서 파일경로를 입력해 사용할 수있다. 360도 동영상 편집 기술 ‘트랜스폼’은 올 초 공개됐다. 트랜스폼은 등장방형도법형(Equirectangular) 레이아웃을 큐브형(Cube) 레이아웃으로 바꿀 수 있다.




자사 서비스의 오픈소스 적용 확대와 함께 다른 기업들이 이를 활용하는 경우도 늘어나고 있다. 페이스북은 지난 7월 상반기 가장 주목할만한 오픈소스 프로젝트 성과로 드래프트JS(Draft.js)와 리덱스(ReDex), 메모리 번들(Memory Bundle) 등 3개를 꼽았다.


드래프트JS는 리액트JS와 이뮤터블JS를 활용한 오픈소스 텍스트 편집기다. 일부 자체특허를 적용하고 BSD 라이선스로 배포했다. 드래프트JS를 사용하면 글씨에 다양한 스타일 적용, 개발자가 원하는 요소 추가 및 빼기가 가능하다. 모든 웹브라우저에서 작동하며 네이티브 커서와 네이티브 입력값을 활용할 수 있다는 것이 장점이다. 현재 페이스북의 댓글창, 채팅창, 노트 서비스에 활용되고 있다.


리덱스를 이용하면 바이트코드를 최적화해 안드로이드 앱의 크기를 더 작고 더 빠르게 만들 수 있다. 페이스북은 안드로이드용 페이스북 앱에 이를 적용해 전체 파일 크기를 20% 줄이는 성과를 낳았다.


메모리 번들은 iOS 개발자가 충돌 가능성이 있는 메모리 할당을 하는 인스턴스를 자동으로 찾아 수정할 수 있도록 돕는 툴 모음이다. 페이스북에 따르면, 현재 많은 코더와 엔지니어가 리덱스의 240개 포크(내 계정으로 소스코드를 복사하는 기능), 메모리 번들의 280개 포크에 공헌하고 있다.


또 많은 기업들이 페이스북 오픈소스 기술에 관심을 보이고 있다. 어도비, 칸아카데미, 핀터레스트 등은 UI를 구축하는 ‘리액트’를 도입했고 워드프레스와 넷플릭스는 ‘리액트’를 활용해 제품 및 서비스를 개편했다. 바이두와 박스, 위키피디아는 핵과 PHP를 위한 가상머신 ‘HHVM’을 사용했다. 특히 클라우드 스토리지 업체 ‘박스(Box.com)’는 HHVM 도입 이후 서비스 체감 성능 면에서 성공적인 평가를 받았다.



▲페이스북 데이터센터 내부


에어비앤비, 드롭박스, 넷플릭스는 페이스북의 분산SQL 쿼리 엔진 ‘프레스토’를 적용했다. 구글, 트위터, 엔디비아, AMD, 인텔 등의 AI 연구기관들은 딥러닝 기술 ‘토치’를 활용한다. 토치는 특히 이미지 콘텐츠 분석 및 광고 예측 등을 위한 기술로 사용되며 대학 실험실이나 스타트업에게도 유용한 플랫폼으로 사용되고 있다.


오픈소스 커뮤니티 협력 및 기여 활동도 이어가고 있다. 페이스북은 SW 뿐만 아니라 오픈소스 하드웨어(HW) 생태계 변화도 주도하고 있다. 대표적인 것이 지난 2011년 시작한 오픈컴퓨트프로젝트(OCP)다. OCP는 데이터센터의 구축과 운영에 관한 HW 기술을 공개하는 프로젝트다.


이 프로젝트의 목적은 확장 가능한 컴퓨팅에 적합하고 효율적인 서버, 스토리지, 데이터센터 디자인을 제안하는 것이다. 페이스북이 데이터센터를 재구축하며 얻은 아이디어에서 시작됐다. 현재 참여하는 주요 기업들로는 인텔, 구글, MS, 랙스페이스, 에릭슨, 시스코, 피델리티, 골드만삭스, 뱅크 오브 아메리카 등이다. 페이스북의 데이터센터는 100% OCP를 기반으로 하고 있다. 최근에는 원거리 데이터센터 간 트래픽 전달용 광학 스위치를 위한 오픈 디자인 ‘보야저’도 발표했다.



▲페이스북의 오픈 HW 프로젝트인 OCP


이같은 오픈 HW 기술은 AI로도 확장되고 있다. 지난해 말 페이스북은 AI 기술을 활용한 신경망 개발용 오픈소스 하드웨어 ‘빅서(Big Sur)’를 출시했다. 페이스북은 AI와 머신러닝에 많은 투자를 하고 있는 만큼, 신경망을 이용할 수 있는 GPU에 대한 투자를 강화해야 한다고 생각한다. 이를 위해선 높은 냉각 성능을 갖춘 고성능 전용 HW 빅서가 필요하다고 판단했다. 빅서는 ‘에어플로우’라는 냉각 부품을 이용해 메인보드를 식힌다. 엔디비아와도 긴밀히 협력하고 있다.


또 페이스북은 아파치 재단에 SW 스택과 코드 생성 엔진의 조합물인 ‘쓰리프트’를 기증했다. 이는 자바, 파이썬, PHP, 자바 스크립트 등 다양한 프로그래밍 언어 사이의 호환성을 제공한다.


각국 대학과 협력한 교육 프로그램 ‘오픈 아카데미’도 운영한다. 교육에 참여하는 학생들에게는 실제 오픈소스 프로젝트 과제가 주어지면 협업에서 활동 중인 멘토들로부터 도움을 받는다. 이수한 과제는 대학에서 학점으로 인정된다. 전세계 22개의 학교와 협업하며 코스가 시작되면 학생들은 프로젝트에 앞서 페이스북 본사에서 3일 간 집중 교육을 받으며 멘토와 만날 수 있다.



▲페이스북이 최근 공개한 메신저 그룹 영상통화 기능


다양한 업체를 인수합병을 통해 오픈소스 기술을 확장하고 있다. 2012년엔 사진 및 동영상 공유 소셜 네트워크 서비스인 ‘인스타그램’을 10억달러에 인수했고, 같은해 이스라엘 기반의 안면 인식 SW업체인 ‘페이스닷컴(Face.com)’을 1억달러에 샀다. 페이스북은 이를 활용해 사용자에게 안면인식을 통한 사진 및 이미지 검색 서비스를 제공한다. 2014년엔 인도에서 소셜 네트워킹 서비스를 제공하는 ‘리틀 아이 랩스(Little Eye Labs)’를 1000만달러에 인수했다. 리틀 아이 랩스는 안드로이드 앱 성능 분석 및 모니터링 툴을 개발한다. 메신저 앱인 ‘왓츠앱(Whatsapp)’을 190억달러에 인수했다.


가상현실(VR) 분야로의 확장을 위해 ‘오큘러스 VR’도 23억달러에 인수했다. 현재 오큘러스는 독립적 운영을 이어가며 게임 뿐만 아니라 스포츠 중계, 원격 학습, 원격 대면 진료 등의 다양한 경험을 위한 플랫폼으로 성장하고 있다. 오큘러스는 지난해 제스처 컨트롤 및 모션 센서 기술 개발업체인 ‘페블 인터페이스(Pebbles Interface)’를 6000만달러에 인수하기도 했다. 페블 인터페이스는 특히 사람의 신체, 이중에서도 손과 손가락을 가상 이미지로 렌더링하는 기술에 초점을 맞추고 있다.


이밖에도 페이스북은 다양한 오픈소스 관련 활동을 펼치고 있다. 지난 7월에는 세계 오지에 인터넷 통신을 제공하기 위해 개발하는 무인기(드론) ‘아퀼라’의 첫 실물 시험비행을 실행했다. 아퀼라는 인터넷이 보급되지 않는 개발도상국 지역 상공을 비행하며 인터넷 연결 신호를 전달하도록 설계되는 비행체다.


오픈소스를 기반으로 한 자사의 새로운 기능과 서비스를 발표하는 ‘페이스북 F8 컨퍼런스’도 개최한다. 페이스북에서 웹사이트 관련 서비스와 상품을 만드는 개발자와 기업들을 위한 행사다. 매년 진행하다시피 하지만 2009, 2012, 2013년에는 개최하지 않았다. 마크 주커버그 페이스북의 CEO의 연설로 시작되며 세션으로 나눠 구체적인 주제에 관한 세션이 진행된다.


지난 7월 페이스북은 새로운 오픈소스 프로젝트 공개 방법으로 깃허브에 ‘페이스북 인큐베이터 페이지’도 설립했다. 인큐베이터에 공개된 첫 프로젝트는 ‘크리에이트 리액트 앱(Create React App)’이다. 이는 개발자들의 새 프로젝트 시작을 지원해 준다. 프로젝트가 인큐베이터를 졸업할 수 있는 기준은 커뮤니티의 관심도 뿐만 아니라 프로젝트의 활용도, 다른 툴들과의 호환성, 프로젝트를 통한 페이스북의 커뮤니티 관여도 등도 중요하다.


※ 본 ‘글로벌 IT기업의 오픈소스 SW 전략’은 디지털데일리와 정보통신산업진흥원(NIPA) 공개SW역량프라자(http://www.oss.kr)가 공동 기획한 기사입니다.




※ 본 내용은 (주)디지털데일리(http://www.ddaily.co.kr)의 저작권 동의에 의해 공유되고 있습니다.

Copyright ⓒ 디지털데일리. 무단전재 및 재배포 금지


[원문출처 : http://www.ddaily.co.kr/news/article.html?no=150951]

맨 위로
맨 위로