"공개SW 행사 참석 값진 경험..코드 올리는 두려움 벗어"

[인터뷰] '2021년 공개SW컨트리뷰션 아카데미' 행사서 대상 수상한 신지홍 학생

인터뷰입력 :2022/01/28 10:16    수정: 2022/01/28 11:41

"행사에 참여하면서 오픈소스에 직접 기여 하고 또 많은 개발자 분들을 만나면서 제가 잘못 생각하고 있다는 걸 깨달았습니다. 혹시 코드에 비효율적 부분이 존재해도 프로젝트의 다른 기여자분들과 논의하며 같이 코드를 더 나은 방향으로 교정한다면 얼마나 값진 경험이 될까요. 직접 경험해보기 전에는 알기 힘든 부분인 것 같습니다."

과기정통부와 정보통신산업진흥원(NIPA)이 지난해 개최한 '공개SW 컨트리뷰션 아카데미'에서 대상(과기정통부 장관상)을 수상한 신지홍 씨는 최근 지디넷코리아와의 인터뷰에서 이같은 수상 소감을 밝혔다.

그가 참가한 '공개SW 컨트리뷰션 아카데미'는 언어, 협업 개발문화, 시작하는 것에 대한 두려움 등 다양한 이유로 오픈소스 진입 장벽이 높게 느껴지는 개발자들을 위한 오픈소스 기여 행사다. 선배 개발자(멘토)가 멘토링을 해준다는 점에서 호응을 얻고 있다. 멘토 도움을 받아 여러 명의 멘티들이 협력해 정해진 오픈소스 프로젝트에 기여하는 행사다. 오픈소스는 기여(Contribution)가 중요한데 우리나라는 글로벌 생태계에서 기여가 약한 편이다. 이를 개선하기 위해 과기정통부와 NIPA가 만든 행사다.

행사 참여자들은 참여·공유·협업 방식의 글로벌 개발 문화 경험은 물론 다양한 오픈소스 기여(Contribution)를 직접 경험할 수 있다. 코드리뷰, 테스트, 버그 리포트, 기능제안, 이슈댓글, 질문,&건의, 번역, 문서작성 등의 다양한 방법으로 참여 가능하다.

대학에서 컴퓨터공학을 전공하고 있는 신 씨는 올해 4학년이 된다. 현재 게임회사에서 인턴으로 일하고 있다. 신 씨는 행사 주최측이 정한 'Rust로 구현한 Python 인터프리터 프로젝트'에 참가, 다른 멘티들과 함께 대상을 받았다. 프로젝트 멘토는 라인(LINE)에 다니는 소프트웨어 엔지니어 정윤원 씨가 맡아 도움을 줬다. 신 씨 외에도 멘티로 김동인, 김혁진, 박명훈, 안진우, 연규민, 윤승희, 이도건, 이성빈, 장석민, 정규석, 최정락 씨 등 총 12명이 활동했다. 

신지홍 학생. 과기정통부와 NIPA가 주관한 공개SW행사에서 대상을 차지했다.

이들은 지난해 8월 8일~10월 23일까지 약 두 달간 힘을 모아 오픈소스 기여 활동을 했다. 프로젝트에 가장 열심히 참가하며 리드 멘티로 활동한 신 씨는 "학교 다니면서 남는 시간마다 꾸준히 작업 했는데 이렇게 돌아오는게 있어 기분이 좋다"고 운을 뗐다. 행사 참여 동기에 대해 "재작작년 군복무 중 NIPA가 주관한 국방오픈소스아카데미에 참여한 적이 있는데 그때 남긴 이메일로 행사 소식이 왔고, 프로젝트들을 살펴보니 재미있는 주제들이 많아 신청했다"고 들려줬다.

그가 참여한 오픈소스 기여 프로젝트는 '러스트 파이선(RustPython)'이다. 러스트(Rust) 언어로 파이선(Python) 인터프리터를 구현한 프로젝트다. 흔히 Python이라고 하면 C언어로 구현한 CPython을 말하는데, RustPython은 CPython 언어 스펙을 100% 호환하는 걸 목표로 하고 있는 프로젝트다. CPython 외에 Python 구현체는 RustPython 말고 여러가지가 있는데 RustPython은 PIP(파이썬 패키지 관리 시스템) 지원까지 가능할 정도로 완성도가 높다. 최근 Rust와 Python 양쪽 커뮤니티에서 주목받고 있는 이유다.

코로나19로 행사 전체가 비대면으로 진행돼 12명 멘티들이 다같이 모일 기회가 없어 아쉬웠다는 신 씨는 "나와 같은 대학생부터 직장인까지 다양한 분들과 같이 활동 했다. 공통적인 것은, 모두 학교와 직장 다니느라 바쁜 와중에 퇴근하고 남는 시간이나 주말에 틈틈이 프로젝트에 꾸준히 기여하는 등 열심히 했다. 본인이 작업한 내용과 관련한 PR(Pull Request)이 등록되면 시간내 코드를 리뷰하고 댓글을 남기는 등 프로젝트에 도움되는 활동들을 했다"고 회고했다.

같이 한 멤버가 12명인데 협업이 잘 이뤄졌을까? 이에 대해 신 씨는 "러스트파이선(RustPython) 프로젝트 특성상  기여할 수 있는 주제가 많아 모든 분들이 각자 자신있는 파트의 이슈(작업거리)를 선정했다. 그렇다보니 처음부터 각자의 작업 내용에 대해 서로 도움을 주기보다 본인 역량으로 관련 코드와 PR들을 분석하며 자신의 이슈에 적용시키는 식으로 작업이 이뤄졌다"고 설명했다. 이어 "간단해보이면서도 자신있는 주제로 시작해 프로젝트에 익숙해진 다음 점점 더 큰 단위 이슈를 잡으며 기여하는 범위를 넓혀갔다. 이후에는 누군가가 PR을 올리면 비슷한 이슈를 작업했던 팀원이 해당 PR에서 팀원의 코드를 리뷰해주곤 했다"고 설명했다.

관련기사

신 씨는 대회에 참가하면서 많은 걸 느꼈다고 말했다. 원래 신 씨는 다른 개발자처럼 본인이 작성한 코드를 다른 사람 프로젝트에 올리는 걸 두려워했었다. "행사 참여전에는 내가 작업하고 있는 개인 프로젝트를 깃허브(Github)에 올려놓기만 했다. 다른 사람 프로젝트에 내 코드를 올린다는 것이 뭔가 괜히 욕먹을 것 같아 무서웠다. 하지만 이번 행사를 통해 직접 오픈소스에 기여도 해보며 많은 개발자 분들을 만나며 내가 잘못 생각하고 있다는 것을 깨달았다"고 밝혔다. 앞으로 신 씨는 관심있는 주제와 관련한 오픈소스 프로젝트에 계속 기여할 생각이다. 최근엔 게임엔진 프로젝트들에 흥미를 갖고 있다.

우리나라가 공개SW 기여국이 되기 위한 생각도 밝혔다. "아직 학생이라 가치있는 답변일지 모르겠지만 내 생각엔 많은 대학교(특히 비수도권 학교)의 컴퓨터공학 학생들이 이런 경험에 노출이 덜 돼있다고 생각한다"면서 "이번 행사처럼 대부분의 좋은 행사들이 수도권에 집중돼 있다보니 비수도권 지역 학생들은 이런 좋은 행사에 참여할 수 있는 기회가 적다. 각 지역에서 이런 좋은 행사가 많이 생기고 각 학교에도 홍보가 된다면 더 많은 학생들이 오픈소스 활동을 하며 훌륭한 SW엔지니어로 성장하지 않을까 생각한다"고 말했다.