Smart Box

오픈소스 프로젝트에 참여해보고 난 뒤 작성한 글 본문

Always/잡담

오픈소스 프로젝트에 참여해보고 난 뒤 작성한 글

프매씨 2022. 9. 2. 21:45

현 시대에 모든 개발자들은 언제나 그리고 편하게 오픈소스들을 자기의 프로젝트에 사용하고 있다. 나 또한, 오픈소스 프로젝트가 없다면, 개발을 할 수 없을 정도로 지금까지 많은 오픈소스들을 사용하며, 버그나 개선점이 있으면 직접 수정하여 PR를 요청하지 않고, Issue를 작성하여 개선을 요청해오곤 했다. 

회사를 다니는 개발자가 된지 5년차가 된 이 시점에 항상 회사 프로젝트에서 사용하던 환경말고, 다양한 경험을 하기 위해 사이드 프로젝트를 시작하는 것을 고민했지만, 아무래도 너무 학업도 있다보니 너무 바뻐서, 오픈소스 프로젝트에 직접 참여하여 기여하는 것을 시작해보고자 했다.

가장 처음은 변역 기여

가장 처음으로 해본 것은 Github Opensoure Project Process에 적응하기 위하여, 개인적으로 관심있던 `Uptime Kuma`라고 하는 프로젝트에 참여하여 번역을 진행해보았다.

https://github.com/louislam/uptime-kuma/pull/614

기존에 다른 한국분이 어느정도 번역을 해두셨지만, 프로젝트가 진행됨에 따라 번역이 되어있지 않은 부분들이 있었다. PR을 올리고, Merge가 될 때는 큰 역할을 한 것은 아니지만, 큰 보람을 느겼다. 글을 작성하는 지금도 번역할 것이 있는지 확인을 하며, 지속적으로 관리하고 있다. 꽤나 많은 한국분들이 관심을 가지고 기여를 하고 있는 것에 꽤 놀랐다.

 

직접 사용하면서 불편했던 부분 개선 기여

Line이 개발한 `kotlin-jdsl`을 프로젝트에서 사용 중인데, Join의 방향을 바꾸는 법을 도저히 몰랐었다. 개발 문서를 봐도 해당 방법에 대해 적혀있지 않았고, 워낙 Extension을 활용하여 작성하는 문법이다보니, Import가 미리 되어있지 않아 더더욱 방법을 찾기 힘들었다. 

https://github.com/line/kotlin-jdsl/issues/60

이미 다른 유저 또한 해당 문제에 대해 문의를 한 상태였다. 이 이슈를 해결해주기 위해서, 모든 소스를 뒤져가면서, 결국은 찾았다. 이 경험들을 살려서, 가이드 문서 수정에 대한 PR를 요청했다.

https://github.com/line/kotlin-jdsl/pull/62

처음 PR은 아무래도 번역이다보니 리뷰를 받지 않고, 바로 Merge가 되었지만, 간단한 수정임에도 불구하고, 이번에는 무려 4명에게 리뷰를 받고 Merge가 되었다. 아무래도, 한국 분들이 시작한 라이브러리다보니 더더욱 Merge가 된 것에 기뻤다. 이렇게 어떻게 프로젝트에 기여하는지 Github에 대해 익숙해졌으니, 실전에 뛰어 들고자 했다. 그리던 도중 `Logto`라는 새로운 로그인 서비스를 제공하는 프로젝트가 시작된 것을 발견하고 해당 프로젝트에 기여를 시작했다.

 

한국어, 영어를 할수 있는 강점을 살리자

해당 프로젝트는 Silverhand라는 팀이 시작한 프로젝트이다. 아무래도, 실제 팀이 존재하는 프로젝트이고, 개발자 한명이 갑자기 큰 틀을 변경할 순 없다. 그래서, 한국어, 영어를 할 수 있는 강점을 살리고자 했다. 그래서 해당 프로젝트에 지금까지 기여한 것들은 아래와 같다.

https://github.com/logto-io/logto/pulls?q=is%3Apr+author%3Apemassi+

가장 먼저 기여한 것은 번역이다. `Uptime Kuma`와 다르게 번역할 것이 너무나도 많아서, 꽤나 힘들었다. 또한, 미국에서 사용되는 뉘앙스의 단어를 의역하는 것에도 많은 시간을 들였다. 예를들어, Logto와 다른 로그인 서비스 제공자인 Google과의 사이를 연결해주는 Connector라는 개념이 존재하는데, 한국어로 "커넥터"라고 적어둘 수 있지만, 아무래도 한국 사람에게는 "연동"이라는 단어가 더욱 이해하기 쉬워서 그렇게 번역했다.

그 다음 기여한 것은 한국에서 주로 사용하는 `카카오`와 `네이버` 로그인 서비스 연동(Connector)를 개발하여 추가하였다. 실질적으로 직접 코드를 작성하여 기여한 것은 처음이다. 또한, 주로 사용하던 Kotlin가 아니고, Typescript 이다보니 프로젝트의 디자인과 코드 스타일을 분석하고, 그에 맞춰 작성하는 것에 신경을 썻다. 다른 프로젝트와 다르게 이 프로젝트는 Commit 하기 전에 Hook으로 Linting을 진행하여 모두의 스타일을 통일 시키는 것에 큰 인상을 받았다. 

처음으로 받은 보상

이렇게 여러 `Logto`에 다양한 기여를 해오고 있었는데, Sliverhand 팀에서 나에게 기프트카드를 보내왔다.

오픈소스 프로젝트에 참여하며 처음으로 받은 보상이다. 작은 금액도 아닌 약 20만원. 보상을 바라며 기여를 한 것이 아니지만, 무언가 뜻 깊은 일을 한 것 같다.

 

 

Comments