본문 바로가기

오픈소스/오픈스택(OpenStack)

오픈소스 컨트리뷰톤 2020 참가 후기

728x90

8월부터 9월까지 총 6주간 컨트리뷰톤 활동이 완전히 마무리 되었습니다.

지원서 작성부터 시작하여 결과발표까지 컨트리뷰톤 기간동안 제가 진행하였던 내용과 얻은 것들을 정리해보고자 글을 씁니다.  

 

 

오픈소스 컨트리뷰톤 ?

먼저 이번에 참여한 오픈소스 컨트리뷰톤에 대해 설명드리자면,. 

컨트리뷰톤(Contributhon)은 '오픈소스 기여(contribute)'와 '마라톤(marathon)'의 합성어

선배 개발자의 가이드와 함께 참여ㆍ공유ㆍ개방ㆍ협업의 오픈소스 프로젝트를 함께하고, 오픈소스 개발에 대한 진입장벽을 뚫어 다양한 기여(contribution)를 직접 경험하는 프로그램

양적인 기여뿐 아니라 과정에 중점을 두고, 코드 기여뿐만 아니라 코드리뷰, 테스트, 버그리포트, 질문, 기능제안, issue댓글, 건의, 문서작성 등 다양한 작업으로 오픈소스 문화에 기여

 

자세한 내용은 oss 홈페이지의 컨트리뷰톤에 가시면 보실 수 있습니다.

 

링크: www.oss.kr/contributhon 

 

 

오픈소스 지원과정

OSS 홈페이지에서 신청을 할 수 있는데, 자기소개서 작성만으로 참석여부가 결정됩니다. 자기소개서 쓰는 항목에 보면 github 아이디를 적는 곳도 있는 것을 봐서는 아무래도 자신이 사용하는 github 아이다 있어야 유리하지않을까 생각을 해봅니다. (개인적인 의견입니다)

 

신청 완료 메일

총 26개의 팀이 있었는데 1지망, 2지망 이렇게 두개의 원하는 오픈소스 프로젝트 팀에 지원을 할 수 있습니다. 

 

OpenStack을 선택한 이유

여러 프로젝트 항목들 중에 저는 OpenStack을 선택하였습니다. 

 

각 프로젝트 마다 소개 페이지가 존재하는데, 제가 신청한 OpenStack의 참가자 모집유형은 다음과 같았습니다.

규모가 크고 다양한 프로젝트가 있는 글로벌 오픈소스 프로젝트가 어떻게 운영되는지 알아보고 싶은 사람
- 클라우드 인프라의 구성과 동작 원리에 관심이 많은 사람
-
컨테이너 기반의 배포 자동화에 관심이 많은 사람
- Python 코드 분석 개발이 가능한 사람 (OpenStack Python으로 개발되어 있습니다)

글로벌 오픈소스, 인프라 구성 동작, 컨테이터 기반의 자동 배포도 관심이 많았으며, 그나마 조금 할 수 있는 언어가 Python 이라 1지망으로 선택을 하고 지원을 하였습니다.

 

자기소개서에는 "오픈소스는 해본적 없으나, 누군가를 도와주는 일이 좋다!! 그리고 클라우드에 관심이 많으니, 나도 컨트리뷰트 해보고싶다!!!"  라는 느낌으로 썼었습니다. 

 

별 특별한 내용이 없는 자기소개서 였지만, 운이좋게도 1지망으로 쓴 OpenStack 팀에 들어오게 되었습니다. 

 

깃허브 교육

최종 참가자로 선정이 되면, 하루동안 깃허브에 대한 교육이 이루어지는데 코로나로 인해 오프라인 교육에 인원제한을 두고, 나머지 인원은 온라인으로 진행을 하였습니다.

 

저는 온라인으로 들었는데 아쉬웠던 점으로 강의 소리가 작아서 최대로 하지 않으면 잘 들리지 않았었네요. 그래도 장점이라면 이때 했던 교육을 참석자에 한하여 녹화된 영상을 볼 수 있는 링크를 주었습니다.

 

rebase나 blame 실습 그리고 커밋 노하우 등 많은 걸 배울 수 있었습니다. 특히 기존에 알고는 있었지만 어떻게 써야할지 잘 모르겠는 명령어에 대해 많이 배웠네요.

 

OpenStack 팀 발대식

발대식은 OpenUp이라는 강남 테헤란로의 빌딩에서 진행을 했습니다.

 

컨트리뷰션 완주를 환영한다는 글과 함께, 풍선이 이쁘게 꾸며져 있었습니다. 사진을 더 찍을 걸 그랬네요. 

 

 

저녁으로 간단히 서브웨이를 받고, 기념품(?)도 받았습니다. (기념품 너무 좋아요)

 

이때 멘토님들과 다른 참가자 분들을 처음 뵈었습니다. 각자 돌아가면서 자기소개를 진행을 하고 난 다음, 앞으로의 일정에 대한 대략적인 설명을 듣고 마무리 되었습니다.

 

OpenStack 컨트리뷰톤 활동들

많은 팀들이 있는 만큼 다양한 활동들을 했을거라고 생각합니다. 그 중에 제가 활동하였던 OpenStack 팀이 어떤 활동을 했는지 적어보고자 합니다.

 

미팅은 주 1회 정기 오프라인, 토요일에는 스프린트를 진행을 했습니다. 요일 같은경우 과반수 투표를 사용해 결정을 하였고, 소통은 슬랙(SLACK) 을 사용하였습니다. 

초반에는 오프라인으로 진행을 하였으나, 코로나로 인한 사회적 거리두기 격상으로 인해 마지막 주차까지 온라인으로 진행을 하였습니다. 다시 직접 뵙기 어려웠네요 ㅠ 참 아쉬었습니다. 

 

1주차에는 오픈스택에 대한 전반적인 설명과 OpenDev 개발환경을 셋팅을 하였습니다. 어떻게 OpenStack이 동작하고, 우리가 컨트리뷰트할 프로젝트는 어떤게 있는지 살펴봤습니다. 그리고 OpenDev 설치를 진행했는데, Cafe24 클라우드 서버를 거의 두달동안 무료로 대여해 주셔서 손쉽게 설치할 수 있었습니다. 

 

2주차에는 OpenStack에 컨트리뷰르 하기 위한 대략적인 흐름과 함께 샌드박스 환경에서 실습을 했습니다. 최영락님께서 처음 컨트리뷰트를 진행하는 사람들을 위해 샌드박스 저장소를 만드셨는데, 그 곳에서 실습을 진행하면서 OpenStack에서는 어떻게 코드가 관리되는지 배울 수 있었습니다.

 

3주차부터 마지막 주차인 6주차까지는 스토리보드에서 각자 이슈를 찾고 문제 해결을 하였습니다. 주로 이슈를 찾은 프로젝트는 openstackclient 입니다. 이곳 스토리보드에서 이슈를 찾아 개별적으로 각자 하나씩 맡아서 진행하였습니다. 

 

또한 코드 컨트리뷰트 외에도 컨트리뷰트를 하기 위한 문서화, 코드분석, 번역도 동시에 같이 진행을 하였습니다. 

 

최종 결과

모두들 열심히 참여해주신 덕분에 OpenStack 팀이 장려상을 받게 되었습니다. ㅎㅎ

 

활동한 문서 내역들은 아래 링크에서 볼 수 있습니다.

 

깃허브: github.com/openstack-kr/contributhon-2020

RST 문서: openstack-kr-contributhon2020.readthedocs.io/ko/latest/

 

 

OpenStack세미나 발표

 

컨트리뷰톤이 끝나갈 때 쯤, 9월에 오픈스택 세미나에서 발표도 해보았습니다. 여러 세미나들을 들으면서 저도 한번쯤 발표해보고 싶었는데, 좋은 기회를 잘 잡았습니다.

 

대상자는 오픈스택에 컨트리뷰트를 해보고 싶으신 분들을 대상으로 발표를 했습니다. 중간에 샌드박스 환경에서 실습을 하는 것까지 포함되어 있는데, OpenStack 멘토님께 배운 것을 토대로 발표준비를 했습니다.

 

발표자료: drive.google.com/file/d/1znhNQe5buuwTZ-kTSapWOZ0xzpFOyIHK/view

 

 

컨트리뷰톤 이후 느낀점

끝까지 컨트리뷰톤 완주를 성공했다는 게 저에게 가장 뜻깊은 경험이 되지 않았나 생각합니다. 

 

상은 받으면 좋겠지만,, 크게 바라지 않았고 최선을 다해서 끝까지 해보는게 목표였는데, 1차적인 목표는 달성을 했습니다. 2차 목표는 헬름(helm) 프로젝트 컨트리뷰트와 master에 merge하는게 목표였지만, 앞으로 천천히 달성해보고자 합니다.

 

그리고 문서 작성, 질문, 버그제보, 번역 등 여러 방식으로도 기여가 가능하다는 것을 알았습니다. 컨트리뷰션은 꼭 개발을 엄청 잘해야만 할 수 있는 것이 아니라, 번역, 리뷰, 문서화, 오타수정과 같은 활동 또한 컨트리뷰션이라는 것이라는 것도 엄청 신선했습니다.

 

정말 잘 참여했다고 생각이 들며, 내년에도 컨트리뷰톤 모집을 한다면 다른 분들도 꼭 지원을 해보셨으면 좋겠습니다.

 

728x90