첫 오픈소스 기여 후기

·2023년 1월 25일
0

오픈소스

목록 보기
2/3
post-thumbnail

사진이 왜..

개요

나는 원래 오픈소스에 관심이 많았고 예전부터 늘 오픈소스에 기여를 해보고 싶었다.
기회가 없었던 것 인지, 두려워였던 건지 알 수가 없지만.
기여를 해보려고 하면 늘 거대한 프로젝트 (react, nextjs) 같은 것만 떠올랐고
해당 프로젝트에서는 내가 기여해 볼 각을 찾지 못했다.

첫 기여 시도.

그러다. 최근 사이드 프로젝트 하려고 연구 중에 구글 캘린더 같은 게 필요했고
오픈소스에서 관련 라이브러리를 발견했다.
https://github.com/nhn/tui.calendar

nhn에서 운영하는 라이브러리였는데 star 수도 많고 해서 사용하려고 이것저것 보고 조사하던 중에
issue 목록을 보게 되었고, good first issue가 하나 있는 걸 발견했다.

내용을 보니 해볼 만한 것 같아서, 시도를 해봤다.
https://github.com/nhn/tui.calendar/issues/1327

기여 과정

일단 기여를 하기 위해서는 해당 오픈소스 컨트리 뷰트 가이드를 확인하고, 해당 문서에서 알려주는 대로 브랜 치명이나 커밋을 해야 해서 문서를 읽고

fork를 따서 개발을 했다.

대략적으로 어떻게 해결하면 될지도 메인테이너 분이 알려주셔서 개발 자체는 어려울 게 없었다.
어떤 구조로 실행되는지 대략적으로 이해한 뒤 수정하고, 컨트리뷰트 문서대로 테스트를 만들어서 PR를 날렸다.

그리고 중간에 한 것도 없는데 테스트가 깨지길래 이슈를 남겼고, 내가 수정해서 발생한 게 아니라 기존에 있는 문제라는 것도 확인을 했다.

그리고 이후 조금의 리팩토링 이후 머지가 되었다.

배우고 느낀점

  1. 일단 오픈소스를 운영한다면 테스트 코드가 정말 중요하겠다는 것을 깨달았다.
    테스트가 없으면 메인테이너가 해당 컨트리뷰터가 작성한 코드를 일일이 다 수동 테스트를 해야 할 거고 그건 너무 시간 낭비 일 것이다. (물론 테스트를 해도 버그가 발생하지만, 줄일 순 있지 않을까)
    그리고 테스트가 있으면 개발하는 사람도 해당 코드가 어떻게 돌아가는지 대략적으로 이해할 수 있어서 확실히 편했다.
  1. 문제가 생기거나 궁금한 걸 이슈에 남기고 비동기적으로 소통하는 게 생각 보다 재밌었다.
    이로써 나는 오픈소스에 더 기여해 보고 싶어졌다.

해당 이슈 말고도, 이후 더 많은 이슈를 해결해보고 싶어졌다.

아직 뉴비라서 그런 걸지도 모르지만, 수많은 사람들이 쓰는 오픈소스에 한 줄이라도 기여하고 그게 어떤 방식으로도 도움이 된다는 게 정말 기분이 좋고 뿌듯하다.

기회가 된다면 꼭 해봤으면 좋겠다.

(겸사겸사 깃허브에 해당 오픈소스 그룹 마크도 달리니 일석이조다)

0개의 댓글