본문 바로가기

Home > 정보마당 > 공개SW 활용 성공사례

공개SW 활용 성공사례

2020.11.23

디지털데일리/백지영기자(jyp@ddaily.co.kr)

 

[인터뷰] 나동희 카카오 개발자

 

카카오 나동희 개발자
카카오 나동희 개발자
 

“회사 업무에 지장을 주지 않기 위해, 업무시간이 끝나고 하루에 3~4시간씩 자면서 오픈소스에 기여하곤 했습니다. 그 결과 올해 초 파이썬 프로젝트의 커미터로 선정될 수 있었던 것 같습니다.”

 

카카오에 근무하는 나동희 개발자<사진>는 오픈소스 활동을 묻는 질문에 이같이 답했다. 그는 지난 4월 파이썬 프로그래밍 언어의 표준 런타임(파이썬 언어를 동작시키기 위한 구현체)인 ‘C파이썬(CPython)’의 커미터(핵심 개발자)로 선정됐다. 현재 이 프로젝트의 커미터는 그를 포함해 한국에 두 명 뿐이다. 그에 앞서 커미터가 된 사람은 국내에선 서울대 장혜식 교수 뿐이다.

 

네덜란드 개발자 귀도 반 로섬이 창시한 파이썬은 현재 인공지능(AI)과 데이터 분석 분야 등에서 가장 많이 쓰이는 프로그래밍 언어다. 귀도 반 로섬은 최근 마이크로소프트에 합류했다. 파이썬과 같은 글로벌 오픈소스 프로젝트의 커미터가 된다는 것은 개발자로서는 큰 명예다. 해당 프로젝트의 향후 기술 로드맵 참여와 같은 권한도 갖게 된다.

 

지난 2017년부터 카카오에서 소프트웨어 엔지니어로 근무해온 그의 본업은 챗봇을 위한 플랫폼 개발이다. 현재 챗봇 플랫폼 사업본부 소속이다.

 

2016년 NIPA 컨트리뷰톤에 처음 참여했을 때 사진. 왼쪽에서 두번째가 나동희 개발자
2016년 NIPA 컨트리뷰톤에 처음 참여했을 때 사진. 왼쪽에서 두번째가 나동희 개발자

 

그가 처음 오픈소스 활동에 관심을 갖게 된 것은 학부생이던 지난 2016년부터다. 컴퓨터공학을 전공한 그는 정보통신산업진흥원(NIPA)이 주관한 ‘컨트리뷰톤’에 참가하면서 오픈소스 활동에 눈을 떴다. 

컨트리뷰톤은 ‘컨트리뷰션’과 ‘마라톤’의 합성어로 NIPA가 공개 소프트웨어 확산을 위해 매년 여는 행사다. 2016년 그가 처음 참여할 당시에는 ‘오픈소스 해커톤’이란 이름의 행사였다.

 

그는 “지금은 한 달 가까이 프로젝트를 진행하지만 당시에는 2주 정도 매우 짧은 기간 동안 진행하는 대회였다”며 “그 때 처음 참여했던 프로젝트가 크로미움이라는 크롬 웹브라우저의 오픈소스 프로젝트였는데, 프로젝트가 어떻게 진행되는지 너무 궁금했고 현업에서 작동하는 코드를 경험해 보고 싶었다”고 당시를 회상했다.

 

무엇보다 고수 개발자들에게 코드 리뷰를 받는 경험을 해보고 싶었다. 오픈소스 프로젝트의 커미터가 될 수 있지 않을까 하는 야심찬(?) 게획도 있었다. 실제 커미터들을 만나 조언을 얻을 수 있을 것이라는 희망과 함께 참여한 컨트리뷰톤에서 그는 성장하는 자신을 느꼈다. 패치의 질도 좋아졌다.

 

이후 그는 매해 컨트리뷰톤 열릴 때마다 참가했다. 특히 작년 컨트리뷰톤에는 ‘멘토’로 참가해 처음 인터프리터 프로젝트를 다뤄보는 참가자들에게 도움을 줬다. 그는 “누군가에게 내가 아는 것을 알려주는 것도 스스로에게 큰 발전이 될 수 있다는 것도 알게 되는 좋은 경험이었다”고 말했다.

 

2017년 컨트리뷰톤 뒷풀이 모임에서 발표하는 나동희 개발자
2017년 컨트리뷰톤 뒷풀이 모임에서 발표하는 나동희 개발자

 

공식 커미터가 된 C파이썬 프로젝트에는 3년 전인 2017년부터 기여하기 시작했다. 카카오 입사 이후에는 회사 업무가 완전히 끝나고 따로 시간을 내서 기여를 했다. 업무에 지장을 주지 않기 위해 자는 시간을 줄였다. 하루에 3-4 시간씩 자는 날도 많았다. 올해 4월 커미터가 된 이후엔 오히려 더 많은 책임감을 갖고 열정을 쏟고 있다.

 

그는 “오픈소스에 기여하다보면 개발자 역량 개발에 도움이 많이 된다”며 “무엇보다 직접 작성한 코드들이 많은 사람에게 영향을 끼친 점이 좋다”고 말했다. 그가 C파이썬 프로젝트를 하면서 가장 보람을 느꼈던 때는 치명적인 버그를 잡아 패치를 제출해 받아들여졌을 때다.  

 

예를 들어, C파이썬 3.8.0부터 dict라는 자료구조가 순서를 보장하면서 역순으로 접근하는 것이 가능해졌다. 그런데 이와 관련된 치명적인 버그가 있어서 해당 코드를 실행시키면 프로그램 전체가 다운되는 이슈가 있었다.

 

그는 “당시 새벽에 잡아서 패치를 제출했는데 받아들여졌다”며 “파이썬 언어를 사용하는 모든 개발자들에게 영향을 끼치는 버그인 만큼 뿌듯함이 컸다”고 말했다.

 

특히 학생들에게 오픈소스 프로젝트에 적극 참여할 것을 제언했다. 그는 “학생들은 현업을 직접 경험하기 힘드니 간접적으로나마 코드 리뷰라던지 복잡한 시스템을 만져보는 경험을 할 수 있다”고 강조했다. 그런 측면에서 NIPA 컨트리뷰톤 같은 행사가 큰 도움이 된다는 설명이다. 

 

그는 “많은 사람들이 오픈소스 프로젝트에 기여하려고 하지만 좌절하는 모습을 봤다”며 “물론 본인 스스로가 시간을 들여서 코드를 많이 보고 프로젝트가 어떻게 진행되는지 관찰해야겠지만, 이것이 막막하다면 컨트리뷰톤과 같은 대회에 참여하는 것이 도움이 될 것”이라고 조언했다.

 

그렇다면 그의 향후 계획은 어떨까.

 

나동희 개발자는 “회사에 소속된 개발자로서는 당연히 성공적인 플랫폼을 만드는 개발자가 되고 싶고, 오픈소스 개발자로서는 C파이썬의 패턴매칭 기능처럼 완전히 처음부터 제가 주도한 서브프로젝트를 진행해보고 싶다”고 포부를 밝혔다.

 

그는 “최근 C파이썬 프로젝트에 서브인터프리터의 병렬처리를 위한 서브프로젝트가 진행되고 있는데, 이 부분에 직접적으로 관여를 하면서 관심을 가지고 있다”고 말했다. 


※ 정보통신산업진흥원(NIPA) Open UP과 디지털데일리가 공동으로 기획한 기사입니다.

 

맨 위로
맨 위로