September 19, 2020
오픈소스 컨트리뷰톤은 OSS 에서 주관한 프로그램으로, 약 6주간 멘토 개발자님과 함께 오픈소스 프로젝트에 참여하여 오픈소스의 생태계를 직접 겪어보고 자신의 역량을 살려 해당 오픈소스에 기여(contribute)하는 것을 목표로 한다. 그래서 이름도 contribute 와 marathon 을 결합한 컨트리뷰톤이다.
오픈소스에 기여하는 것에 대해 선망같은 것이 있었는데다가, 요새 테스트 도구에 대해 관심이 지대했기 때문에 Mocha 프로젝트에 꼭 지원하고 싶었다. Mohca 프로젝트가 없었다면 다른 프로젝트에도 관심을 두었겠지만 압도적으로 Mocha 에 참여하고픈 마음이 커서 지원동기나 포부에 대해서도 1지망인 Mocha 에 관련한 이야기만 작성했고, 사실상 1지망이 되든가 떨어지든가 로 갈리게 될 지원이었다. 너무나 감사하게도 선발 되었고, 이렇게 후기까지 작성할 수 있어 기쁘다.
사실 자동화 테스트 자체를 이해하기 시작한 것도 최근이고, 그 때 사용했던 도구는 Testing Library 였기 때문에 jest
만 써봤지 Mocha
는 써본 적이 없었다. 또 jest
는 assertion 및 mocking 까지 전부 제공해주는 데 비해 Mocha
는 chai 나 sinon 등을 조합해서 사용하고 Mocha
자체는 테스트 런너 역할에만 집중하기 때문에 기여를 하기 위해서는 좀 더 core 한 부분을 다루지 않으면 안 될거라는 막연한 두려움과 부담이 있었다. 담백하지만 필수적인 기능을 제공하며 이미 굉장히 성숙한 단계에 접어든 오픈소스에 과연 어떤 기여를 할 수 있을까 생각하니 정말 자그만한 커밋이라도 반영되어서 merge 되면 좋겠다고 바랐다. 스스로에게 큰 짐을 안겨주어서 금방 지쳐나가 떨어지지 않도록 소박한 목표만을 세웠는데, 나중에 멘토님 이야기를 들어보니 오픈소스에 기여하는 것은 PR을 보냈을 때부터가 시작이라서 많은 피드백이 오고가고 그 피드백을 반영하여 코드를 수정한 끝에 PR이 merge 되기 때문에 6주라는 시간 내에 merge 까지 되는 것은 그리 쉽지 않다고 하셨다. 결국 merge 가 아니라 PR 을 하나라도 보내는 것을 목표로 하였고, 6주가 지나더라도 한 번 시작한 PR은 죽이 되든 밥이 되든 끝까지 관리하기로 마음을 먹었다.
이슈 찾기는 역시 생각대로 수월하지 않았다. good-first-issue
라벨이 붙은 이슈들은 이미 해결하여 PR을 merge 했지만 이슈를 닫지 않았거나, 꽤 오래된 것들이었다. 오랫동안 해당 이슈가 남아있다는 것은 그럴만한 이유가 있어서였고, 역시 쉽게 접근하기 힘든 이슈들이었다.