Search

[기여 후기] Golang PR

Created
2021/10/20
Tags
Golang
Golang Korea
GitHub
Pull Request
조금 늦긴 했지만 (공부를 시작한 이래로든, 현재 글을 쓰는 시점에서든), 제대로된 PR을 처음 날려봤다. 글 제목에서 알 수 있듯이, Golang과 관련된 PR이었다. C, C++ 위주로 코딩을 하는게 2021년 일상인데, Golang에 PR을 날렸다는 사실이 꽤나 뜬금 없을 수 있다. 지인들도 엥 갑자기 웬 Golang?이라고 답했을 정도였으니...
나는 C, C++이 현업에서 꽤나 한정적으로 사용된다고 알고 있었고, 웹 백엔드에서 쓰기엔 두 언어가 그렇게 적합하지 않다고 이해했었다. 이에 따라 내가 만일 웹 백엔드 쪽으로 길을 잡을 경우, (물론 회사에서 요구하는 스택에 맞추게 될 테지만...) 어떤 언어를 사용할 수 있으며, 그 중에서도 나는 어떤 언어를 기반으로 한 기술에 흥미가 있는지 알고 싶었다. 예전에 node.js를 이용했을 때 JavaScript에 대한 흥미가 그렇게 크지 않았던 점을 고려하면, 나를 잘 알아보자는 취지로 이와 같은 과정을 겪는게 나쁘진 않았던 것 같다. 그래서 결과적으로 C 계열이면서 웹 백엔드에서 주로 이용되는 Golang을 알아보자는 쪽으로 결론이 났었고, 당시에 잠깐 문법을 공부했을 땐 Golang은 어렵긴 했지만 꽤나 흥미로웠다는 추억을 뇌 한 켠에 남기게 되었다.
이처럼 Golang 기본 문법을 익혔을 때가 2021년 3월 쯤이었는데, 2021년 10월 말에 Piscine을 만드는 해커톤에 참여하면서 Golang을 주제로 잡은게 이번 PR의 원인이 되었다. Pisicne 제작이라는 것 자체가 교육과정을 만들고, 거기서 요구되는 문제를 구성하는 것이 주 목적인 만큼, 기존에 배운 Golang 만으론 문제 구성을 하는 것이 말이 안 되기도 했고, 팀원들의 Golang 실력이 나보다 월등했기 때문에 부지런히 쫒아갈 필요가 있었다.
Golang은 공식적으로 온라인 도큐멘트가 잘 정리되어 있다고 들었기 때문에, LearnGowithTestsEffective Go를 읽게 되었다. 특히 Effective Go는 Golang Korea라는 기관에서 번역해둔 한국어 자료가 있었기 때문에, 걸어둔 링크의 GitHub을 이용했다.
내가 읽어왔던 책들 중 번역이 조금 엉망인 것들도 있었기 때문에, 초반에 Effective Go에서의 번역이 다소 어지러운 것은 크게 문제가 되지 않았다. 하지만 챕터가 진행될 수록 발견되는 오타와 심지어 예제 코드에서도 잘못된 부분이 있어서, 코드를 따라가면서 읽는 분들 혹은 코드를 직접 쳐보면서 읽는 분들이 큰 혼동을 겪을 수도 있다는 것이 내심 신경 쓰였다. 그리고 그게 쌓이고 쌓여서 아! PR 날리면 되지 않을까? 하는 생각이 들었고, 결국 기여를 해보자고 마음을 먹었다.
혼자서 혹은 가벼운 협업으로의 PR이야 몇 번 날려본 적 있지만, 오픈된 자료에 PR을 날려본적이 없었기 때문에 조금은 조심스럽기도 했다. 내가 PR을 날리기 전에 몇 회의 PR이 이미 존재했기 때문에, 혹시나 PR 양식이 있는지, 절차는 있는지 살펴봤지만 다소 특별한 것이 없었기 때문에 그냥 진행하기로 했다.
Effective Go의 한국어 번역 팀의 마지막 활동 로그를 보면 꽤 오래 되었고, 나 이전에 PR을 날린 분들의 케이스 역시 open 상태 그대로였기 때문에 내 PR이 close 되는 것은 크게 기대하지 않았다. 언제 받아질지 모르는 PR이지만, 배포된 자료에 무언가 기여를 했다는 것이 뿌듯했다. 꽤 이름 있는 오픈 소스에 코드로 직접 기여를 하는 것과는 거리가 먼 PR이지만, 이것이 다른 사람들을 위한 첫 PR이었다는 것이 내게는 꽤 큰 의미가 있었다.