[기고] 오픈소스 컨트리뷰션 아카데미 - 자기동기부여 개발자들의 행복한 놀이터
[기고] 오픈소스 컨트리뷰션 아카데미 - 자기동기부여 개발자들의 행복한 놀이터
- 오픈소스 컨트리뷰션 아카데미(‘22~‘23) Githru-vscode-ext 프로젝트 멘토 김영택
오픈소스 컨트리뷰션 아카데미는 꽤 유서 깊은 이벤트입니다. 2016년의 7일간의 해커톤으로 시작해서, 10주가 넘는 장기간의 ‘오픈소스 컨트리뷰톤’이라는 이름으로 진행되어 오다가, 지금은 13주간의 ‘오픈소스 컨트리뷰션 아카데미’란 이름으로 정착되어 진행되고 있습니다.
행사를 주최하고 있는 오픈소스 소프트웨어 통합지원센터(이하 OpenUP)에서 말하는 오픈소스 컨트리뷰션 아카데미의 목적은 다음과 같습니다.
“오픈소스 컨트리뷰션 아카데미는 소프트웨어 산업의 필수 요소인 오픈소스 프로젝트의 협업 기술과 초거대 프로젝트 경험을 통해 실전형 개발자인 컨트리뷰터 양성, 참여문화 확산 및 역량 강화를 목표로 한다.“
지금까지 많은 훌륭한 국내외 오픈소스 프로젝트팀들이 아카데미에 참가했습니다. 저는 2022년부터 2년째 Githru-vscode-ext 프로젝트의 멘토로 위 행사에 참여하게 되었습니다. 보다 훌륭한 멘토님들이 많으신 데 2년차인 제가 이런 기고를 한다는 게 조금 어색하긴 합니다만, 개인적으로 느꼈던 경험들을 글로 풀어보려고 합니다.
사실 멘토 지원서를 쓸 당시에는 단순히 “오픈소스 컨트리뷰션”이라는 낭만에 끌려 지원하게 되었고, 실체를 정확히 모른 채 단순히 삼삼오오 모여 오픈소스를 주도적으로 개발하는 흥미로운 프로젝트 정도로 인식했었습니다. 때마침, Git 관련 시각화 연구를 하고 있었고, 부서에서는 IDE의 Extension 개발 업무를 진행하고 있던 때라, 논문을 작성하면서 만들었던 PoC(Proof of Concept) 형태의 개발 결과물을 개발자들이 유용하게 쓸 수 있는 실제 사용되는 제품으로 만들면 좋지 않을까 하는 생각이 들었습니다. 처음에 썼던 지원서에는 2~4명 정도의 팀이 적당할 것 같다고 적기도 했었네요.
그러다 어느 순간 60명이 넘는 지원자 중에서 20명의 멘티를 선택하는 고뇌의 101을 치르거나, 선택한 20명의 대인원을 데리고 홀로 아이스브레이킹을 해야 하는 등의 조금은 당황스러운 순간들을 맞이하게 되었습니다. Agile Scrum에서 얘기하는 피자 한판을 넘어서는, 그야말로 “아카데미”란 이름에 맞는 대규모 프로젝트임을 뒤늦게 깨닫게 되었죠.
그리고, 그들과의 행복한 13주의 시간이 시작되었습니다.
[ 아카데미 발대식 중 대인원 아이스브레이킹 현장 ]
참여하는 프로젝트마다 조금은 다를 수 있지만, 대부분 프로젝트에서는 멘토가 멘티들에게 자신의 경험을 공유하면서 도움을 주는 방향으로 진행합니다. 먼저 컨트리뷰션을 경험해본 선배의 입장으로 어떻게 이슈를 올리고, 코드를 패치하는지, 그리고 커뮤니티에 어떻게 익숙해지는지 등에 대한 노하우를 전달합니다. 프로젝트의 메인테이너가 멘토로 참여하는 경우에는 실제 자신이 운영하는 프로젝트에 필요한 역량들을 가르치면서 멘티들을 성장시켜가며 필요한 Feature들을 같이 구현하기도 합니다. Githru-vscode-ext 프로젝트에서는 제가 멘토이기도 했지만 동시에 멘티이기도 했습니다. 프로젝트의 메인테이너로서 데이터 시각화 기술들에 대해 소개한다던지, 전체 프로젝트의 구조 설계 부분을 주로 리드하면서도, 화면을 렌더링하는 프론트엔드 기술들에 대한 부분은 멘티들과 협의하면서, 그리고 멘티들에게 배워가면서 진행하였습니다.
[ 2203 아카데미 발대식 : Githru-vscode-ext 프로젝트팀 단체사진 ]
본업을 하면서 남는 시간에 진행해야 하는지라 다들 시간을 많이 내기가 쉽지는 않았음에도 불구하고, 많은 일들이 진행되었습니다. 특히 프로젝트 첫 해에는 베이스가 전혀 없는 상태로 시작했기 때문에, 코딩 컨벤션 같은 그라운드 룰부터 향후 사용할 라이브러리들까지 모두 같이 협의하고, 결정하는 과정을 보내기도 했습니다(추후 피드백에서는 오히려 그런 과정들이 매우 좋았다는 평도 있었네요). 일과가 끝난 밤이나 주말에 진행되는 일들이 많았지만 누구의 강요도 없고, 의무도 없고, 경쟁도 없는 일들이었기 때문에, 10주가 넘는 짧지 않은 기간 동안 다들 즐겁게 프로젝트를 진행할 수 있었습니다.
[ 프로젝트 중 만들었던 로고를 활용한 자체 제작 굿즈 ]
전체 기간을 돌아보았을 때 가장 흥미로운 사실은, 이렇게 구성된 프로젝트팀이 자기 동기 부여가 되는 사람들 간의 모임이라는 점이었습니다. 다들 회사일, 학업, 취업 등의 더 중요한 일이 있고, 무언가 금전적 보상이 있는 상황이 아님에도 불구하고, 매우 열심히 참여합니다. 매주마다 자발적으로 오프라인 모임을 하고, 주중 모각코(모여서 각자 코딩) 시간도 가지면서, 프로젝트에 기여합니다. 제가 멘토로서 한 일은 채찍질이 아닌, 프로젝트 활성화를 위해 그저 질문에 답하고, 코드 리뷰를 하는 정도였던 것 같습니다. 이렇게 자기 동기 부여가 된 사람들이 모여서 스스로 무언가를 해내는 광경은 나름 오랜 개발자로서의 생활 중에서도 보기 쉽지 않았던 모습들입니다. 개인적으로 정말 진귀한 경험이었다고 생각합니다. 일부 멘티들과는 지금까지도 매주 스터디를 진행하면서 인연을 이어가고 있기도 합니다.
개인적으로 느끼는 오픈소스 컨트리뷰션 아카데미는 이런 자기 동기 부여가 가능한 개발자들을 위한 완벽한 놀이터라고 생각합니다. 놀이터에 놀러 온 친구들은 자신과 비슷한 열정을 가지고 있는 옆 동네 새 친구들을 사귈 수 있고, 다양한 유형의 놀이들을 만나고 참여할 수 있습니다. 친구들이 함께 놀 수 있는 널찍한 놀이 공간도 제공되며, 각자 집에서도 계속 놀이를 이어갈 수 있는 온라인 공간도 제공됩니다. 노는 중에 배고프지 말라고 간식이 제공되기도 하구요.
[ OpenUP 제공 공간, Discord에서의 모임 ]
언제나 효율성을 추구하는 엔지니어의 관점에서 볼 때, 이 오픈소스 컨트리뷰션 아카데미라는 행사는 다방면에 있어서 최선의 효과를 구현하는 훌륭한 전략이라고 얘기하고 싶습니다. 오픈소스를 지원하는 기존의 일반적인 전략들 - 단순히 펀딩을 하거나, 컨테스트를 열거나, 과제 수행을 하는 등의 국소적인 부분만을 노리지 않고, 다양한 통합 솔루션을 동시에, 그리고 효과적으로 전개하고 있습니다. 조금 더 가볍게 개인적인 느낌을 직설적으로 말하자면, 이렇습니다. “아니, 세금을 이렇게 잘 쓸 수 있다고?”
청년 취업과 관련된 공익성을 먼저 살펴본다면, 취업/이직을 준비하는 개발자들에게는 이런 경험들이 좋은 발판이 될 수 있습니다. 이력서 검토 혹은 면접관 업무를 수행할 때의 경험에 비추어 보면, 이런 오픈소스 컨트리뷰션 활동은 지원자의 경험을 풍부하게 하는 요소로써 충분히 좋은 재료가 됩니다. 특히 신입 지원자들은, 작은 토이 프로젝트에 집중하는 경우가 많기 때문에, 현업에서의 다양한 경험을 직접적으로 경험해볼 수 있는 기회가 되기도 합니다. 다양한 협업 경험이 부족한 주니어 개발자분들에게도 코딩 컨벤션 협의부터, 디테일한 코드 리뷰까지 경험해볼 수 있는, 결코 작지 않은 역량 강화의 장이 될 수도 있습니다.
또한 아카데미 행사 자체가 오픈소스 프로젝트들에 대한 직/간접적인 펀딩 역할을 하기도 합니다. 저희 Githru-vscode-ext 프로젝트 같은 국내 maintain 프로젝트의 경우는 물론이고, 해외의 유명 오픈소스 프로젝트에도 국내 개발자들의 기여를 장려하게 되면서 양적/질적인 지원을 해주는 셈이 됩니다.
이렇게 공익성을 취하면서, 개발자 개개인들의 커리어 부스트를 하면서, 월드 와이드 오픈소스 생태계에기여를 하면서, 동시에 국내 개발자들 간의 페스티벌을 후원하는 이런 멋진 공공 프로젝트를 찾아내는 일은 정말 어렵지 않을까요?
2년 동안의 아카데미와 함께한 Githru-vscode-ext 프로젝트는 아직 널리 알려지지 못한, 여전히 진행 중인 작지만 소중한 프로젝트입니다. Git이 가지고 있는 복잡한 히스토리들을 요약하고 추상화할 수 있는 기반 기술들을 구현해 놓았으나, 아직 강력하고도 실용적인 사용자 시나리오들을 구축해 나가는 일들은 진행중에 있습니다. 조금 느리게 보일 수 있겠지만, 같은 마음을 가진 친구들과 함께 즐겁게 놀면서 만들어 가려고 합니다.
막 개발을 시작하면서 “Linux for fun”을 읽었던 20년 전과는 달리, 지금은 오픈소스의 중요성을 믿지 않는 사람은 더이상 없는 것 같습니다. 시니어 개발자로서, 국내 오픈소스 생태계를 적극적으로 지원하는 이런 훌륭한 오픈소스 놀이터가 있음에 감사할 따름입니다.
오픈소스 활동에 관심있는 개발자분들, 내년에 열릴 오픈소스 컨트리뷰션 아카데미 놀이터에서 즐거운 모습으로 만나 뵙기를 바랍니다!
김영택 - Data Intelligence Team@Samsung Research - 오픈소스 컨트리뷰션 아카데미(‘22~‘23) Githru-vscode-ext 프로젝트멘토 참여 |
0개 댓글