트렌드

“오픈소스 프로젝트 ‘크로미움’ 공부합시다”

2014.04.29

개발자에게 ‘스터디’는 매우 익숙한 문화다. 새로운 기술이 끊임없이 나오는 IT산업에서 스터디는 주변 사람이 어떻게 기술을 활용하는지 알 수 있는 경로다. 공통된 주제를 함께 공부하는 스터디는 책이나 세미나보다 좀 더 현장감 있는 정보를 얻을 수 있는 창구이기도 하다. 크로미움 프로젝트를 공부하는 모임도 그 중 하나다.

■ 크로미움 원정대

구글코리아는 구글 개발자 모임을 여럿 지원하고 있다. 그 중 구글 제품과 관련한 웹개발자 모임 ‘구글 개발자 그룹 코리아 웹테크'(GDG Korea WebTech)가 있다. GDG 코리아 웹테크는 한 달 전부터 ‘크로미움 원정대’라는 스터디 소모임을 꾸렸다. 4월24일 선릉역 주변 모임 공간에 6명의 크로미움 원정대원이 모였다. 모임은 지금까지 네 차례 진행됐다. 한 번 모일 때마다 8~10여명 개발자가 참석한다. 주요 일정은 GDG 코리아 웹테크 구글플러스 계정을 통해 공지된다.

Chromium_study_03_re

 ▲최근 진행된 크로미움 원정대 모임(출처: GDG 코리아 웹테크 구글플러스)

크로미움 원정대라는 이름은 영화 ‘반지의 제왕’에서 따왔다. 영화에서 진리를 찾아 떠나는 ‘반지원정대’처럼 크로미움 프로젝트를 샅샅이 살펴보는 사람이 돼 보자는 취지다. 마치 영어를 공부하기 전에 영어 어원이나 역사, 라틴어에 대해 공부하는 것과 비슷하다.

크로미움 원정대는 웹브라우저 구글 크롬의 내부 구조에 대해 좀 더 확실하게 공부하는 것을 목표로 삼았다. 당장 업무에 필요한 기술을 알 수 있는 것은 아니지만, 웹개발에 대한 기본기를 탄탄하게 하게 만드는 것이다. 4월24일 모임에 참여한 허재위 연구원은 “자주 쓰는 크롬 웹브라우저 안에 어떤 기능이 있는지 궁금했다”라며 “호기심으로 참여하게 됐다”라고 말했다.

국내에서 크로미움 프로젝트 관련 커뮤니티나 공부 모임을 찾기는 쉽지 않다. 크로미엄 원정대는 웹 플랫폼 전반에 대한 지식을 공유하는 장을 만드는 효과를 가진다.

■ 구글 크롬과 크로미움

Chromium_study_01

크로미움은 웹브라우저를 만들 수 있는 오픈소스 프로젝트다. 구글이 만든 크로미움은 ‘크로미움 프로젝트‘라는 이름으로 꾸준히 업데이트되고 있다. 크로미움 프로젝트에 참여하는 대부분 인력은 구글 직원이지만, 호기심을 가진 외부 개발자들도 크로미움 개발에 도움을 주고 있다.

크로미움과 발음이 비슷한 구글 ‘크롬‘은 구글에서 직접 배포하는 웹브라우저이다. 크롬 웹브라우저는 크로미움을 이용해 만들어지며 PDF, 플래시 플러그인,  AV 코덱 같은 상용 라이브러리를 포함하고 있다. 구글이 공개한 오픈소스 운영체제(OS) ‘크롬 OS’도 크로미움 프로젝트에서 파생된 것 중 하나다. 구글은 크롬에서 작동하는 상용 라이브러리에 대한 비용을 지불하고 있다.

Chromium_study_02

크로미움 웹브라우저도 누구나 내려받을 수 있지만, 구글 크롬과는 일부 기능이 다르다. 크로미움 웹브라우저는 크로미움을 이용해 만든 웹브라우저이지만, 구글 크롬에서 지원하는 상용 라이브러리는 빠져 있다. 리눅스 배포판에 따라 기능이 수정이 될 수 있다.

크로미움 프로젝트가 최근 더 관심을 모으게 된 데는 웹앱과 웹OS 성장과 관련 있다. 최근들어 가전제품에 자체 웹기반 OS나 웹브라우저를 띄우는 일이 늘어나며 웹 기술에 대한 관심도 높아지는 추세다. 도창욱 GDG 코리아 웹테크 운영자는 “모바일이나 TV, 냉장고 등도 과거에도 웹브라우저에 대해 꾸준히 지원했다”라며 “최근들어 웹앱과 웹OS를 중심으로 더 관심이 집중된 것으로 보인다”라고 설명했다.

Chromium_study_06

 ▲크로미움 원정대 모임. 

■크로미움 원정대가 하는 일

크로미움 원정대에 참여하는 사람들의 최종 꿈은 커미터가 되는 것이다. 커미터란  오픈소스 프로젝트에 꾸준히 참여하고 기여를 많이 한 개발자를 지칭한다. 국내에 알려진 크로미움 프로젝트 커미터는 3명 정도다. 크로미움 원정대에는 그 중 한 명인 홍영기 연구원이 참여해 커미터로서 공부한 내용을 공유하고 있다.

홍영기 연구원은 3년 전부터 크로미움 프로젝트에 관심을 가졌고, 주로 크롬OS UI(사용자환경) 관련 코드를 작성했다. 올해부터는 웹페이지 내용을 화면에 그리는 역할을 하는 컴포지터 기능 향상에 기여할 예정이다.

“저 같은 경우 90여건의 패치를 하고 커미터로 승인됐습니다. 패치란 기능 업데이트의 가장 작은 단위입니다. 커미터가 되기까지는 시간은 중요하지 않습니다. 좋은 패치를 빨리 만들면 그만큼 빨리 커미터가 될 수 있죠. 저는 띄어쓰기 수정이나 주석달기 같은 소스를 정리하는 것부터 시작해서 20개월 정도 활동하고 커미터가 됐는데요. 잘 하는 분은 6개월 안에도 커미터가 되는 것을 많이 보았습니다. 제가 아는 크로미움 커미터는 국내에 3명 정도 있지만, 그보다 더 많이 있을지도 모르죠.”

Chromium_study_05

 ▲크로미움 프로젝트에는 관심있는 개발자 누구나 참여할 수 있다. (출처: 크로미움 원정대 홈페이지)

이들이 오픈소스 프로젝트에 기여하는 이유는 무엇일까. 왜 자신이 공부하고 만든 제품을 남과 공유하려는 것일까. 정우준 연구원은 “좋아하는 것을 찾다 동호회에 들어가는 것과 같은 원리”라며 “좋아하는 일에 남는 시간을 투자하고 싶은 것처럼, 개발자는 여유 시간을 오픈소스에 기여한다”라고 설명했다. 도창욱 GDG 코리아 웹테크 운영자는 “오픈소스 커뮤니티에 참여하면 지식 범위가 훨씬 확장된다”라며 “회사에서 지식을 공유하는 것보다  더 큰 재미가 있고, 나중에 개발자 경력에도 도움이 된다”라고 설명했다.

크로미움 원정대 모임은 2주에 한 번씩 진행된다. 모임에 참여하기 전에 직접 크로미움 코드 프로젝트에 접속해 일명 ‘클린업'(Cleanup)을 해야 한다. 클린업은 기존 코드를 보기 좋게 정리하는 일이다. 특별히 기능을 추가한다기보다 주석이나 띄어쓰기 정리, 개발에 필요한 문서작업을 하는 것이다. 이런 사람들을 컨트리뷰터(Contributor)라고 불린다.  누구나 컨트리뷰터가 될 수 있는 자격을 가진다.

Chromium_study_04

 ▲크로미움 프로젝트에서 클린업하는 방법 (출처:크로미움 원정대 홈페이지)

크로미움 원정대 모임은 2~3시간 정도 진행된다. 일단 숙제검사부터 시작한다. 크로미움 프로젝트에 올라온 영문 문서를 읽고 이해한 바를 서로 설명하는 시간이다. 온전히 이해하지 못해도 상관없다. 그 자리에서 바로 ‘내가 해석한 바가 맞느냐?’라고 확인하고 ‘왜 이런 식으로 진행될까요?’라고 물어보며 토론하면 딘다. 이점이 오프라인 모임의 장점이다.

크로미움 프로젝트 커미터가 되려면 유용한 기능으로 작동할 패치 10~20개를 만들어야 하고, 최소 3명 이상의 커미터가 자신의 기여 활동을 검증해줘야 한다. 단순히 클린업 활동만으로는 커미터가 되기는 어렵다는 뜻이다. 커미터가 되면 ‘chromium.org’ e메일 계정을 받고 활동할 수 있다. 소스코드에 직접 커밋할 수 있는 권한도 생긴다. 실제로는 리뷰를 통해 패치가 적용되므로 소스코드를 직접 업데이트하는 경우는 드물다.

크로미움 원정대를 관리하는 일을 맡은 고재도 GDG 웹테크 운영자는 “나 혼자 공부하는 것보다 오픈소스 커뮤니티에 참여하면 더 강한 동기부여를 받을 수 있다”라며 “특히 혼자 알기 힘든 부분을 질문하고 공유할 수 있다는 게 큰 장점”이라고 설명했다.

Chromium_study_07

 ▲크로미움 원정대에 참석한 회원들. 허재위 연구원, 도창욱 운영자, 정우준 연구원, 고재도 운영자, 홍영기 연구원(왼쪽부터)

■ 초보·신입 개발자도 환대하는 열린 커뮤니티

크로미움 원정대는 실력파 개발자만 받는 것일까. 아니다. 크로미움을 공부하고 싶은 사람이라면 누구나 문을 두드려도 된다. 커미터를 꼭 목표를 하지 않아도 된다. 홍영기 연구원은 이러한 분위기는 기존 온라인 크로미움 커뮤니티 문화와도 비슷하다고 설명했다.

“외국에 있는 일부 오픈소스 개발자 커뮤니티를 보면 종종 실력있는 개발자가 아니면 제대로 답변도 안 해주고 무뚝뚝하게 대하는 데도 있어요. 어디가 좋다 나쁘다라고 말할 순 없고 각 커뮤티마다 문화가 있는 거죠. 크로미움 커뮤니티는 어느 초보자에게나 성실히 답변해 주고, 글도 많이 읽어주었어요. 질문을 하면 빠른 시간 안에 피드백을 받을 수 있고요. 저희 모임도 누구나 관심만 있다면 쉽게 들어와서 함께할 수 있을 거라고 생각해요.”

Chromium_study_08

고재도 GDG 코리아 웹테크 운영자는 “어느 동호회나 커뮤니티나 모임을 지속하게 만드는 요소가 필요한 것 같다”라며 “사람들이 이 모임에서 매력을 느낄수 있도록 당근과 채찍을 둘 다 제공할 것”이라고 밝혔다.

크로미움 원정대는 GDG 코리아 웹테크 소속이기 때문에 운영 및 참여에 필요한 대부분의 경비를 구글로부터 지원받는 장점도 가지고 있다. 크로미엄 프로젝트는 기본적으로 C++ 언어로 구성되며, 확장프로그램 API나 앱 API를 공부하면서 자체 API 개발에도 도전할 예정이다. 크로미움 원정대에 참여하려면 공식 구글플러스 계정에 참여 의사 글을 올리면 된다.

j.lee.reporter@gmail.com

오픈소스 기술, 프로그래머의 삶 그리고 에듀테크 분야에 관심이 많습니다. 작은 변화라도 실행하고 노력하려는 사람들을 응원하고, 그러한 분들의 이야기를 더 많이 나누고 싶습니다 :)