2020 오픈 소스 컨트리뷰톤을 참여하고 느낀점 및 후기

Dong Wook Lee (Michael)·2020년 9월 30일
0
post-thumbnail

참여 후기

오픈 소스 컨트리뷰톤이라는 OSS 에서 주최하는 오픈 소스에 기여하는 행사에 참여하게 되었다.

관심있는 프로젝트에 지원을 한 후 프로젝트 멘토가 지원자를 뽑아서 선발 되는 형식으로 진행이 되었다.

나는 데이터베이스에 관심이 있었기 때문에, 데이터베이스와 관련된 Arcus 라는 프로젝트에 지원을 했다.

선발이 안 될까 봐 조마조마했지만, 다행히도 프로젝트에 멘티로 선발되어 오픈소스에 기여할 수 있는 기회를 얻을 수 있었다.

선발이 되고나서 오픈 소스를 기여하기 위한 깃 사용법이나, 기여하는데 도움을 주는 강의를 했다.

강의는 현장에서 직접 듣거나 현장에서 실시간으로 녹화한 영상을 온라인으로 볼 수 있었다.

현장 강의를 듣고 싶었는데 이미 인원이 다 차서 들을 수는 없었다.

만약 강의를 수강하고 싶은분은 메일이 오자마자 신청해야 들을 수 있을 것이다.

그 후에는 매주 주말에 모여서 멘토님이 프로젝트 설명을 해주시거나, 멘토님에게 궁금한 점을 물어볼 수 있었다.

아쉬운 점은 코로나 때문에 초반에만 대면으로 만나서 하고 그 뒤로는 화상으로 진행했다는 것이다.

아무래도 직접 만나서 진행 하는 것 보다는 집중도가 떨어졌다.

프로젝트 설명이 어느정도 끝난뒤에는 이슈를 하나씩 선정하여 기여할 부분을 택했다.

처음에는 프로젝트 구조 및 빌드, 테스트 코드를 실행하는 법을 잘 몰라서 멘토님한테 엄청 질문을 했던 것 같다.

기초적인 사용법을 숙지하고 난 뒤에는 이슈를 구현하였는데 내가 맡은 이슈는 do_item_replace() 함수를 최적화하는 것이었다.

ENHANCE: optimize do_item_replace() by dongwooklee96 · Pull Request #508 · naver/arcus-memcached

느낀점

이슈를 해결하면서 많은 것을 느낄 수 있었다.

첫째로 구현을 한 후 프로젝트 메인테이너 분들께 코들 리뷰를 받을 수 있었다.

코드 리뷰를 하면서 가장 부끄러웠던 것은 내가 작성한 코드를 내가 명확하게 설명하지 못할 때이다.

따라서 나는 내가 작성한 코드에 대해서는 완벽하게 설명할 수 있어야한다고 생각했고, 이를 위해서 디버깅 실력을 키워서 내가 작성한 코드가 어떤 영항을 줄 수 있는지를 알아야 된다고 생각을 했다.

그리고 수준 높은 기여를 하기 위해서는 시스템 프로그래밍에 대한 지식을 알아야겠다는 생각을 했고 이를 위해서 리눅스 커널 및 네트워크에 대한 공부의 필요성을 깨달았다.

또 자료구조를 다시 한번 복습해야 할 필요를 깨달았다. 이론적으로 알고 있던 것도 실제 구현을 하려니까 내가 정확하게 이해를 하지 못했다는 것을 알게 되었다.

이 프로그램에 참가하면서 가장 좋은 점은 내가 부족한 점이 어떤 부분인지 알게 해주었다는 것이다. 따라서 이 프로그램을 학교 후배들에게 추천하고 싶다.

오픈소스 기여를 하면서 깃 사용법 및 코드 리뷰를 하는 법에 대해서도 알게 되었고, 내가 부족한 점을 깨닫고 채울 수 있기 때문이다.

그리고 실력이 어느정도 올랐을 때는 더 수준 높은 기여를 하면서 오픈 소스 생태계에 좋은 영향을 미치는 프로그래머로 성장할 것이다.

내년에도 컨트리뷰콘을 한다고 가정했을 때 다음 행사 전까지 부족한 점을 채우고 다음 컨트리뷰콘 때 더 많은 공헌을 하는 사람이 되었으면 한다.

profile
오픈소스 메인테이너를 꿈꾸는 개발자!

0개의 댓글