본문 바로가기

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

공개SW 활용 성공사례

 

[개발자 인터뷰/박정환 개발자] 오픈소스 기여로 함께 성장하는 여정

 

- OpenUP -

 

“오픈소스의 매력은 역량이나 경험에 상관없이 누구나 관심을 가지고 참여할 수 있으며 꾸준히 세상을 나아지게 만들 수 있다는 부분이 가장 큰 매력이라고 생각합니다.”

 

[오픈프런티어(멘토) 박정환 개발자]

오픈소스 컨트리뷰션 아카데미에서 파이토치 문서 한글화 프로젝트 멘토 중 한 분인 박정환 개발자님은 오픈소스에 대한 매력을 이렇게 설명합니다.

 

‘오픈소스 프로젝트에 참여하면서 다른 사람들과 함께 개선해나가는 과정은 생각보다 번거롭고 시간이 걸리지만, 그럼에도 그 결과물이 누군가에게 도움이 되었다는 이야기를 들을 때 가장 뿌듯하고 즐겁다‘며 오픈소스가 가지는 협업의 힘과 성취감에 대해 강조했습니다.

이번 인터뷰에서는 일문일답을 통해 그동안의 오픈소스 활동과 아카데미의 멘토로 참여한 경험, 새롭게 참가하고자 하는 분들에게 전하고 싶은 이야기를 들어보았습니다.

 

[오픈프런티어(멘토) 박정환 개발자]

 

Q. 자기소개를 부탁드립니다.

저는 파이토치 한국 사용자 모임(https://pytorch.kr)을 운영하고 있는 박정환입니다. 딥러닝 프레임워크 중 하나였던 PyTorch가 0.3 버전이던 시절부터 공식 튜토리얼 문서를 번역 및 공개하며 커뮤니티 활동을 시작하였습니다. 회사에서는 작년까지는 데이터 엔지니어로 근무하며 인공지능 모델들을 주로 활용하는 업무를 하였으며, 올해부터는 본격적으로 인공지능 모델을 연구 및 개발하고 있습니다.

 

Q. 오픈소스에 관심을 가지게 된 계기는 무엇인가요?

게임 서버 운영을 해보고 싶다는 이유로 리눅스를 처음으로 설치하고 사용하며 다양한 문제들을 겪었었는데, 이때 KLDP(Korean Linux Documentation Project)나 LSN(Linux Sarang Net)과 같은 곳들을 방문하며 많은 것들을 배우며 오픈소스라는 것을 알게 되었습니다. 또한 중고등학교 시절부터 IRC(Internet Relay Chat)를 하며 만났던 많은 선배 개발자분들의 영향도 컸습니다.

 

Q. PyTorch 프로젝트에 어떻게 참여하게 되었나요?

2016년 초 이세돌 9단과 알파고의 대국 이후 딥러닝에 관심을 갖게 되면서 시작한 것은 Tensorflow였습니다. 하지만 배경지식이 부족한 상태에서 코드를 작성하며 겪는 여러 가지 문제점들을 해결하기가 어려웠고, 이때 주변에서 PyTorch를 추천받았습니다. 당시 PyTorch는 Tensorflow보다 Pythonic하고 디버깅이 쉬웠으며, 무엇보다 튜토리얼 문서를 통해 누구나 쉽게 따라하며 배울 수 있었습니다. 공식 커뮤니티 또한 활발했고요.

 

Q. 어떤 방식으로 프로젝트에 기여하고 있나요?

처음 PyTorch를 접한 2017년 후반 즈음에 공식 커뮤니티에는 'PyTorch 학습을 시작하는 가장 좋은 방법은 공식 튜토리얼이다'라는 이야기가 널리 퍼져있었습니다. 처음 PyTorch를 만든 Soumith Chintala가 초창기에 작성한 'Deep Learning with PyTorch: A 60 Minute Blitz'(번역: PyTorch로 딥러닝하기 – 60분만에 끝장내기)는 아직도 많은 분들이 참고하고 있을 정도니까요. 번역의 결과물은 비정기적으로 빌드하여 파이토치 한국어 튜토리얼사이트에 공개하고 있고, 번역 과정에서 발견한 원문의 오타나 예제 코드 등을 공식 튜토리얼에 리포팅하거나 반영하고 있기도 합니다.

 

Q. PyTorch 프로젝트에서 문서 한글화를 진행한 이유는 무엇인가요?

처음 딥러닝을 접하고 다양한 분야에 활용이 되는 것을 보면서, 이 기술이 대중화될 것이라는 확신을 가지게 되었습니다. 당시에는 전공자, 그 중에서도 학위가 있는 사람들 위주로 '연구'가 이뤄지고 있었는데 시간이 갈수록 더 많은 개발자들이 '활용'하게 될 것이라는 믿음이 있었습니다. 그러기 위해서는 더 많은 개발자들이 더 쉽고 편하게 접근할 수 있는 자료들이 많아야 한다고 생각했고, 그래서 튜토리얼 한글화 및 모델 허브 한글화 등을 진행하였습니다. 최근 ChatGPT가 등장하면서 예상했던 것보다 훌쩍 앞당겨진 것 같지만, 그만큼 더 많은 분들이 함께 학습하며 성장할 수 있는 기회 또한 많아졌다고 생각합니다.

 

Q. 오픈소스 프로젝트에 참여하면서 가장 즐거운 경험이나 성취는 무엇인가요?

저는 주로 문서 번역 프로젝트를 진행하였는데, 누군가 제가 번역한 문서를 보고 공부를 하셨다거나 도움을 받으셨다는 이야기를 들을 때 가장 뿌듯하고 즐겁습니다. 혼자만 간직할 수 있었던 것들을 공개하기 위해 한 번 더 돌아보게 되고 다른 사람들과 함께 개선해나가는 과정은 생각보다 번거롭고 시간이 걸리지만, 그럼에도 그 결과물이 누군가에게 도움이 되었다는 이야기를 듣게 되면 그 시간이 헛되지 않았다는 생각이 들더라고요.

 

Q. 오픈소스 활동이 개인적 또는 직업적으로 어떤 도움이 되었나요?

흔히 개발자는 끝없이 공부해야하는 직업이라고 합니다. 하지만 개인적으로 관심을 가지고 공부를 하더라도 업무에 적용하기 어려운 여러 가지 이유들이 있습니다. 반대로, 새로운 기술을 익히고 싶지만 업무와 관련성이 없거나 낮으면 그 또한 쉽지 않습니다.

하지만 저는 인공지능을 전공하거나 업무 경험이 없었음에도, 문서 번역 등을 통해 기본적인 지식을 쌓고 다양한 오픈소스 프로젝트들을 사용해 보며 경험을 쌓은 덕분에 현재 업무를 할 수 있었다고 생각합니다.

 

Q. 오픈소스 활동하면서 어떤 어려움이 있었나요? 어떻게 극복하셨나요?

꾸준히 하는 것이 가장 어려웠고, 사실 아직도 어렵습니다. 저는 오픈소스 활동도 일종의 취미 생활이라고 생각하여 개인 생활이나 업무가 바쁘면 아무래도 우선순위에서 밀리는 경우가 종종 있습니다. 그렇게 시간이 지나다보면 해야 할 것들이 너무 많다는 생각에 지레 겁을 먹거나 질리게 되기도 하고요.

이럴 때 꾸준함을 유지하기에 가장 좋은 방법이 커뮤니티 활동이라고 생각합니다. 제가 부족한 부분을 다른 분들이 채워주실 수 있다는 점에서도 그렇지만, 분야가 다소 다르더라도 다른 분들의 활동을 보면서 자극을 받게 되어서 좋은 것 같습니다.

 

Q. 오픈소스 활동의 가장 큰 매력은 무엇인가요?

오픈소스 활동을 시작하는 동기는 다양합니다. 개인의 역량 향상이나 커리어, 명성 등이 목적일 수도 있고, 아니면 특정한 기술에 관심 또는 신념을 갖고 참여하기도 합니다. 하지만 오픈소스의 매력은 시작하게 된 동기, 프로젝트나 기여자의 영향도, 역량이나 경험에 상관없이 누구나 관심을 가지고 참여할 수 있으며 꾸준히 세상을 나아지게 만들 수 있다는 점이 가장 크고 주요한 매력이라고 생각합니다.

요즘은 인공지능 분야가 많은 관심을 받고 있고 다양한 시도들이 이뤄지고 있지만, 이전에도 빅데이터, 블록체인, 웹 등 다양한 분야들이 관심을 받으며 새로운 시도들이 이뤄졌습니다. 다양한 기술들을 경험해보며 개인의 역량도 향상시키고, 나아가 관심을 갖고 있거나 참여하고 있는 프로젝트를 조금이라도 나아지게 할 수 있다면, 안 할 이유가 있을까요?

프로젝트 문서를 읽다 발견한 잘못된 예제 코드 하나만을 개선한다고 하더라도, 개인적으로는 개선 요청을 하며 프로젝트에 대해 더 깊은 이해를 할 수 있는 기회가 되며, 그 프로젝트에 참여하거나 사용하는 수많은 사람들의 시간을 아낄 수 있게 됩니다. 반대로 생각하면, 제가 그동안 사용해왔던 프로젝트들 또한 이렇게 발전하고 보완되어 왔을 것이기에 저 또한 어느 정도는 기여를 해야 한다고 생각합니다.

 

Q. NIPA에서 운영하는 OpenUP센터에서 매년 컨트리뷰션 아카데미를 진행하고 있습니다. 지난 2023년에도 컨트리뷰션 아카데미 멘토로 활동해주셨는데요, 아카데미에서 진행하시는 파이토치 문서 한글화 프로젝트를 설명해주세요.

파이토치 공식 문서 한글화 프로젝트는 코드보다는 문서 번역을 위주로 하는 프로젝트로, 파이토치에 대한 깊은 학습이나 코드보다는 활용법을 다루는 문서를 번역 및 관리하고 있습니다. 프로젝트의 결과물이 한국에서 처음으로 파이토치를 접하는 다수의 개발자나 학생분들을 대상으로 하다보니 전반적인 용어의 통일성 및 품질 관리가 중요합니다. 다만 파이토치 자체의 코드 학습을 원하고 지원하시는 멘티분들도 계시다보니, 최대한 이러한 오해를 줄이기 위해 프로젝트 설명을 어떻게 하면 작성을 잘 할 수 있을지 고민하고 있습니다.

 

Q. 멘토로 참여하며 멘티들을 만난 경험에 대해 이야기해주세요.

주기적으로 개발 분야나 기술을 바꿔가며 성장을 해서 그런지, 저는 항상 시니어라기보다는 주니어(혹은 요즘 표현으로 중니어)라고 생각하고 있기에, '멘토'라는 단어에서 느껴지는 압박감이 있습니다. 그러다보니 초반에 꼭 드리는 이야기는 단순히 먼저 경험해본 사람으로 경험을 공유한다는 것을 말씀드리곤 합니다. 또, 대학생과 직장인 멘티분들과 함께 모여서 컨트리뷰션을 진행하다보니, 번역 프로젝트에서 갖는 고민 중 하나인 '독자를 고려하였을 때 어디까지/얼마나 번역을 진행해야 하나' 같은 고민을 함께 나누고 토론하며 배울 수 있는 것이 좋았습니다.

특히, 한 달에 한 번 정도 오프라인으로 모여서 각자 컨트리뷰션이나 할 일 등을 공유하며 근황을 나누곤 합니다. 이 과정에서 멘토와 멘티와의 질문과 답변이 이뤄지기도 하지만, 서로 다른 업무를 하고 계신 멘티분들끼리도 서로 이야기를 나누며 업계 이야기나 다른 궁금증들을 서로 나누는 과정 또한 다양한 분들의 생각과 경험을 나눌 수 있어 좋았습니다.

 

Q. 컨트리뷰션 아카데미 멘토 활동을 통해 얻은 경험이 개발자로서의 자신의 역량에 어떤 영향을 미쳤나요?

아무래도 저를 포함하여 많은 개발자분들은 사람보다는 컴퓨터가 편하실 것 같습니다. 하지만 시간이 갈수록, 경력이 쌓일수록 컴퓨터보다는 사람을 대할 일이 많아지는 것이 현실입니다. 컨트리뷰션 아카데미를 통해 다양한 분들을 만나고 먼저 경험해본 오픈소스 관련한 내용들을 공유하는 과정에서 커뮤니케이션 능력을 향상시킬 수 있었습니다. 또한, 멘티분들의 작업을 검토하고 피드백을 제공하는 경험을 통해 회사 밖의 다양한 다른 분들과의 협업 능력을 기를 수 있는 점이 도움이 되었습니다.

 

Q. 컨트리뷰션 아카데미 프로그램에 대한 전반적인 의견이 있다면 말씀해주세요.

오픈소스에 대한 관심을 가지고, 참여할 수 있도록 독려하는 컨트리뷰션 아카데미는 전세계적으로 찾아보기 힘든, 개발자 개인의 성장은 물론 전반적인 국내 개발자 역량을 향상할 수 있는 훌륭한 프로그램이라고 생각합니다. 현재는 매년 특정 기간을 정해서 프로젝트와 멘티를 모집하고 일정 기간 동안 프로그램을 진행하고 있는데, 2~3년 정도의 장기 프로젝트를 모집하여 꾸준히 활동할 수 있도록 독려할 수 있는 방법도 고민해주시면 좋을 것 같습니다.

 

Q. 컨트리뷰션 아카데미에 참여하고 싶어하는 예비 멘티들에게 전하고 싶은 메시지가 있다면 말씀해 주세요.

개발자라면 오픈소스는 피할 수 없이 사용하게 되게 됩니다. 여러분들이 지금까지 사용하셨던 오픈소스 또한, 누군가가 만들고, 유지 및 관리를 해온 프로젝트들일 것입니다. 이러한 오픈소스에 참여하는 것은 개인의 발전은 물론, 전 세계의 다양한 사람들과 소통하고 협업할 수 있는 소중한 기회입니다. 필요한 것은 관심과 꾸준함, 그리고 꾸준함을 유지시켜 줄 커뮤니티인데요, 관심만 있으시다면 나머지는 컨트리뷰션 아카데미에서 채우실 수 있습니다. 꼭 파이토치 문서 한글화 프로젝트가 아니더라도, 다른 개발자를 만나 서로 자극을 받고 함께 공부하고 성장하는 경험을 해보시길 기원합니다!

 

Q. 앞으로의 오픈소스 활동에 대한 계획은 어떻게 되나요?

지금까지는 문서 번역을 주로 했다면, 앞으로는 AI 경험이 없는 개발자들이 활용할 수 있는 튜토리얼을 만들어 공개하는 등의 활동을 해보려고 합니다. 최근 대규모 언어 모델에 대한 관심이 높아지면서 덩달아 다른 분야에서도 개발자분들이 관심을 갖고 여러가지 모델들을 활용하고 계시고, 어디서부터 시작하셔야 할지 어려움을 겪는 분들도 일부 계시는 것 같습니다. 이러한 분들을 위해 다양한 모델들을 잘 활용하는 방법부터 시작하여 모델이나 데이터를 바꿔가며 개선해나가는 핸즈온 프로젝트를 만들어 공개하고 다른 분들과 함께 개선해나가려고 합니다.

 

Q. 마지막으로, 오픈소스 관련 활동을 시작하는 분들에게 전하고 싶은 메시지가 있다면 말씀해 주세요.

처음부터 큰 기여를 하려면 쉽지도 않고, 부담도 느껴져서 오히려 더 거리감이 생기는 것 같습니다. 처음에는 1~2줄 가량의 작은 코드 변경이나 오타 수정과 같은 작은 부분부터 시작하여 프로젝트에 관심을 갖고 있음을 보여주시는 것이 좋습니다. 이슈를 먼저 남겨서 메인테이너와 이야기해보시는 것도 좋구요. 그리고 꾸준히 관심을 가지고 활동하시는 것을 추천드립니다. 저처럼 꾸준히 하는 것이 어려우시다면, 주변에 다양한 커뮤니티와 커뮤니티에서 만난 분들을 통해 사흘마다 작심삼일 하시는 것도 좋은 방법입니다!

 

 

과학기술정보통신부가 주최하고 정보통신산업진흥원이 주관하는 오픈소스 컨트리뷰션 아카데미는 오픈소스 프로젝트에 기여하는 방법을 배우고, 개발자로서 성장할 수 있는 새로운 경험과 기회를 제공하는 프로그램으로 매년 진행하고 있습니다. 이 프로그램에서는 다양한 분야의 오픈소스 전문가들이 멘토로 참여하여 참가자들에게 조언과 도움을 제공하고 있습니다.

올해도 5월 24(금)부터 6월 23일(일)까지 참여형 아카데미에 참가할 멘티를 모집하고 있습니다.

관심있으신 분들은 아래 링크에서 자세한 사항을 확인하셔서 신청해주시기 바랍니다.

- 2024 오픈소스 컨트리뷰션 아카데미 [참여형] 멘티 모집(~6/23) 안내

- 아카데미 공식 홈페이지 : https://www.contribution.ac/]

- 참여형 프로젝트 소개 : https://www.oss.kr/ossca_24_projects_2 ]

 

 

맨 위로
맨 위로