[현장] “오픈소스로 개발하기, 만만찮네요”

가 +
가 -

네이버는 개발자 생태계를 키우는 데 열심입니다. 기술을 공유해 개발자가 함께 성장하는 문화를 만들고자 2008년부터 개발자 행사 ‘데뷰(DeView)’를 엽니다. 2013년부터는 데뷰의 문턱을 한층 더 낮췄습니다. 예비 개발자인 대학생에게까지 말이죠.

네이버는 대학생을 초대해 개발자 문화의 뼈대를 이루는 오픈소스 생태계를 직접 체험하는 오픈소스 개발 경진대회 ‘D2 FEST’를 열기 시작했습니다. D2 FEST는 올해 두 번째를 맞았습니다. 지난 3월부터 4개월 동안 경쟁을 뚫고 올라온 13개팀이 지난 8월29일 경기도 분당 네이버 그린팩토리에 모였습니다. D2 FEST 결승전이 열렸기 때문입니다.

D2FEST_2014_Final_01

송창현 네이버랩스 이사는 미국 출장 중에도 인사말을 빼먹지 않았습니다. 송 이사는 “(참가자) 여러분 모두 D2 FEST 행사를 거치며 오픈소스의 핵심인 자발적 협업을 통한 발전을 이루었다”라며 “수상과 관계 없이 이미 자신의 오픈소스 소프트웨어 작품의 주인으로 성장한 것”이라고 덕담을 건냈습니다.

행사 시작에 앞서 송창현 네이버랩스 이사가 화상통화로 인사말을 전했다

▲행사 시작에 앞서 송창현 네이버랩스 이사가 화상통화로 인사말을 전했다(사진 제공 : 네이버랩스)

점심식사 직후에 참가 학생들은 레고 블록을 조립하며 긴장을 풀고 있었습니다. 오후 1시가 조금 지나 발표가 시작됐습니다. 격식을 차린 자리는 아니였지만, 가벼운 긴장감이 학생들 사이에 흘렀습니다. 마지막으로 결과물을 발표하고 나면 수상팀이 선발되기 때문이겠죠. 입상한 팀은 네이버랩스에서 인턴십을 경험할 기회를 얻습니다. 네이버 입사전형에서 서류전형을 면제받기도 하죠. 또 1년 이상 프로젝트 발전을 위해 네이버가 서버와 스터디 장소를 빌려줍니다. 적지 않은 상금이 덤으로 느껴질 정도로 혜택이 많습니다.

다른 참가자 발표를 듣는 모습

▲다른 참가자 발표를 듣는 모습이 사뭇 진지하다

작품 만드는 데 몰두한 학생들, 오픈소스 놓쳐 ‘된서리’

학생들은 대체로 작품의 완성도를 높이는 데 집중했습니다. 결승전에 오기까지 최대한 프로그램을 완성해 좋은 평가를 받고 싶었기 때문이죠. 그런데 심사위원의 관점은 조금 달랐습니다. 심사를 맡은 네이버랩스 팀원은 결승전에서 작품의 완성도보다 오픈소스 문화를 체득하고 적용했는지를 거듭 물었습니다. “왜 커밋 로그(Commit Log)가 팀원 3명 중 2명분밖에 없느냐“, “오픈소스 라이선스를 왜 밝히지 않았나”라는 식이었습니다.

4개월 동안 D2 FEST 과정을 겪으며 오픈소스 개발을 배웠지만 학생들에게 오픈소스 문화는 여전히 낯설어 보였습니다. 웹기반 협업 개발 플랫폼을 만든 ‘도킹(Docking)’팀은 특히 더 당혹스러웠을 겁니다. 첫번째 순서로 발표한 탓에 발표자 모두를 대신해 채찍을 맞았기 때문입니다.

채수원 네이버랩스 테크니컬리더(TL)는 도킹팀 발표를 보고 “D2 FEST 행사의 목표가 뭐라고 생각하냐?”라고 물었습니다. 채수원 TL은 “오픈소스 소프트웨어를 만드는 과정 자체에서 학습이 일어나고, 그 과정에서 나온 결과물이 다른 사람에게 이롭길 기대했는데 커밋 메시지를 통해 어떤 정보도 얻을 수 없다”라며 “이건 오픈소스 개발을 했다기보다 내가 만들고 싶은 프로그램을 만든 것일 뿐”이라고 말했습니다.

참가자에게 매서운 심사평을 날린 채수원 네이버랩스 테크니컬리더(왼쪽)

▲참가자에게 매서운 심사평을 건넨 네이버랩스 채수원 테크니컬리더(왼쪽)와 김덕홍 대리 (사진 제공 : 네이버랩스)

호되게 혼난 도킹팀 신유경 씨(상명대 컴퓨터공학과)는 “오늘 혼나면서 리드미 같은 문서가 필요한 걸 처음 알았다”라고 고백했습니다. 같은 팀 신재승 씨(한국외대 디지털정보공학과)도 “오픈소스를 갖다 쓰는 건 쉬웠는데 다른 사람이 쓸 수 있게 배포하려면 어떻게 해야하는지를 알기가 어려웠다”라고 술회했습니다.

다른 팀도 마찬가지였습니다. 대다수 팀이 프로그램을 오픈소스로 공개하면서 라이선스를 제대로 밝히지 않았습니다. 또 오프라인에서 개발을 한 뒤 D2 FEST가 지정한 협업 플랫폼 ‘요비’에 올리는 식으로 작업해 각자가 기여한 바를 제대로 확인할 수가 없는 팀도 많았습니다. 오픈소스 문화에도 익숙하지 않은데다 새로운 개발 플랫폼을 손에 익혀야 하는 이중고가 문턱으로 작용한 셈입니다.

“소스코드만 공개한다고 오픈소스 아냐”

발표가 끝난 뒤 심사를 기다리는 짬에 박은정 네이버랩스 과장이 단상 앞에 섰습니다. 박 과장은 학생들에게 오픈소스가 무엇인지를 되새겨줬습니다. “소스코드만 공개해두면 오픈소스 개발자일까요? 아니죠. 다른 사람이 그 코드를 쓸 수 있게 만들어줘야 그게 오픈소스가 되는 거겠죠. ‘hello world’ 하나만 올려도 오픈소스라고 할 수도 있어요. 그런데 다른 사람이 코드가 뭔지를 몰라서 일일이 코드를 뜯어보고 쓰게 하면 그게 과연 오픈소스일까요. 여러분께 ‘license.txt’와 ‘notice.txt’를 만들라고 한 건 오픈소스로 배포하는 개발자가 ‘내 코드는 이런 조건에서 써야 해’, ‘내가 갖다 쓴 오픈소스는 이게 있으니 조심해. 내 코드 분석할 때 도움 받도록 해’라고 알려주라는 뜻입니다. 이번에는 여러분이 시간이 부족한 사람도 있고 오리엔테이션에서 제대로 전달받지 못한 분도 있었다고 생각해요. 결승전에 이런 문서를 챙기지 못했다고 잘못한 건 아니지만, 앞으로 오픈소스 프로젝트를 운영하고 발전시킬 거면 그 부분을 좀 더 생각해서 작성하길 부탁드립니다.”

이날 모두 4팀이 상을 받았습니다. 이 가운데 2팀은 장려상을 받았습니다. 웹 기반 실시간 공동 개발 플랫폼 ‘도킹(Docking)’팀과 원격에서 프리젠테이션 화면을 동기화해주는 ‘싱크피티(SyncPT)’팀입니다. 도킹팀은 발표자 전체를 대신해 매서운 심사평을 들었던 그 팀입니다. 우수상은 이미지 파일 일부를 암호화해 안전하게 보관토록 하는 프로그램을 만든 ‘이미지시큐어 익스텐션(ImageSecure Extension)’팀이 받았습니다. 최우수상은 협업 플랫폼 ‘깃(Git)’을 닮은 소셜 코딩 서비스를 만든 ‘포위버(ForWeaver)’팀에게 돌아갔습니다. 포위버는 깃에 커밋 로그처럼 과제 작성 기록이 남도록 해 팀과제의 고질적 문제인 ‘무임승차자’를 솎아내는 장치를 마련했더군요.

2014년 D2 FEST 입상자

▲2014년 D2 FEST 입상자. 왼쪽부터 이미지시큐리티익스텐션, 도킹, 포위버, 싱크피티 (사진 제공: 네이버랩스)

“오픈소스가 단순히 개발 과정만 뜻하는 게 아님을 배웠다”

포위버팀 고민수 씨(한신대 컴퓨터공학부)는 “감개무량”하다는 말로 수상소감을 갈음했습니다. 낯가림이 심한 고민수씨를 대신해 같은 팀 이아침 씨(한신대 컴퓨터공학부)가 제대로 된 수상소감을 말해줬습니다. 이아침씨는 “D2 FEST를 통해 많은 것을 배웠다”라며 “오픈소스가 단순히 제품을 만들어내는 것만이 아니라고 생각할 기회를 마련해줘서 (네이버에게) 감사하다”라고 소감을 밝혔습니다. 도킹팀 이인환 씨(숭실대 정보통신전자공학부)도 오픈소스 생태계의 강점을 깨달았다고 하더군요. 이인환 씨는 “D2 FEST를 통해 오픈소스를 처음 알았다”라며 “다른 사람에게 결과를 보여주고 의견을 주고받을 수 있어 좋았다”라고 말했습니다.

앞서 참가자에게 날카로운 지적을 건넸던 채수원 TL은 “완성도는 조금 낮더라도 개발과정에 여러명이 협업해 발전한 팀에게 상을 줬다”라고 심사기준을 밝혔습니다. 채 TL은 “D2 FEST를 통해 학생들이 오픈소스 문화에선 코드를 다른사람이 같이 쓸 수 있도록 기본적인 문서를 만드는 일도 중요하다는 것을 학생들이 깨달았을 것”이라고 평했습니다.

2014년 네이버 대학생 오픈소스 경진대회 D2 FEST 결승전에 진출핸 13개팀 단체사진 (사진 제공 : 네이버랩스)

▲2014년 네이버 대학생 오픈소스 경진대회 D2 FEST 결승전에 진출한 13개팀 단체사진 (사진 제공 : 네이버랩스)

최우수상 수상팀 ‘포위버’ 고민수∙이아침 씨 인터뷰

2014년 D2 FEST 최우수상 수상팀 '포위버' 송민수 씨(왼쪽)와 이아침 씨

▲2014년 D2 FEST 최우수상 수상팀 ‘포위버’ 고민수 씨(왼쪽)와 이아침 씨

질문 협업 개발 플랫폼인 깃을 활용해 숙제 관리 플랫폼을 만든 점이 인상깊습니다. 어떻게 이런 걸 만들 생각을 했나요?

고민수 버전 관리 프로그램(깃)을 알고 있었는데 이걸 숙제를 받을 때 써보면 어떨까라는 생각이 들었어요. 로그가 남으니까 숙제 걷는데 쓰면 편할 것 같았거든요. 조사해보니 해외에서 이렇게 쓰고 있는 사례가 있더라고요. MIT나 하버드에서 깃을 응용해서 숙제를 내게 하더라고요.

질문 평소 무임승차하는 학생한테 악감정이 있던 건 아니고요?(웃음)

고민수 아니에요. 그냥 이런 아이디어가 떠올라서 만들어 보면 좋겠다고 생각했어요(웃음)

질문 D2 FEST에서 공식적으로 쓰는 오픈소스 협업 개발 플랫폼 ‘요비’랑 상당히 비슷해 보여요. 발표에서도 이 점을 언급하기도 했고요. 심사위원들이 만든 제품과 비슷한 제품을 만들어 내놓기 쉽지 않았을 것 같은데요.

고민수 우리는 포위버를 만들면서 깃을 모르는 학생도 이용할 수 있게끔 했어요. 깃랩이나 깃허브 같은 것도 개발자를 주 타깃으로 하거든요.

이아침 학생이 깃을 모르면 애초에 사용할 수가 없죠.

고민수 이슈트래커나 위키도 기본으로 알아야 하고요. 요비도 대부분 참가팀이 이슈트래커나 위키, 마일스톤을 안 쓰고 오로지 깃으로만 쓰거든요. 저희는 애초에 그런 걸 배재하고 학생 입장에서 만들었어요.

이아침 오늘도 보시다시피 깃을 잘 쓸 줄 몰라서 커밋 로그를 혼자 한 팀도 있잖아요. 그런데 착안한 거죠. 요비가 진입장벽이 높다면 우리는 낮은 거예요.

질문 발표 중에 학교 교수님이 교내 공모전 관리 플랫폼으로 써보자고 제안했다고 하던데 어떻게 된 건가요?

고민수 잘 만들어오면 한번 써볼 수도 있다고 하신 거예요. (웃음) 제가 교수님께 먼저 찾아가서 ‘이런 걸 만들고 있는데 괜찮겠냐’라고 여쭤봤더니 잘 만들어서 어느 정도 괜찮은 결과물이 나오면 졸업논문 접수하거나 할 때 한번 써보겠다고 하시더라고요.

질문 앞으로 이 프로그램을 어떻게 발전시켜나갈 계획인가요?

고민수 저는 태그 커뮤니티를 생각하고 만들었어요. 깃허브와 스택오버플로우를 합친 개념이라 태그 커뮤니티를 발전시키고 쉬운 저장소로 만들어 나갈 계획입니다. 그리고 학교에서 검증 시스템처럼 쓰일 수 있는 부분으로 발전시킬 생각입니다. 깃 프로그램 중에 GUI가 간단하면서도 쓸만한 프로그램이 없거든요. 따로 예쁘고 세련되게 GUI 프로그램을 만들어 배포할 계획도 있습니다.

이아침 네이버 라인처럼 메시지를 주고받을 수 있는 메신저 프로그램도 제작 중입니다.

고민수 포위버 사이트 자체는 요비처럼 설치형으로 배포할 거고, 깃허브처럼 클라이언트 프로그램을 따로 만들 생각도 하고 있어요. 10월 중에 간단한 데모 웹사이트를 꾸려서 설치형으로 배포할 생각입니다.

과제 관리 및 소셜 코딩 플랫폼 ‘포위버’ 소개 영상 보기

네티즌의견(총 0개)