오픈소스 컨트리뷰터의 삶

Jaeho Yoo
6 min readFeb 11, 2023

개인적인 컨트리뷰션 활동

저는 iOS 개발자로 첫 취업을 하기 전부터, 경력이 약 8개월 정도 쌓인 지금까지 오픈소스 컨트리뷰션(Contribution)을 꾸준히 하고 있습니다.

입사하기 전에는 Swift 언어의 기초를 튼튼하게 하고 싶어서, 애플의 Swift 언어의 깃헙 파일들을 하나씩 들여다봤습니다.

입사 후에는 회사에서 사용하는 라이브러리인 PointFree 의 TCA(The Composable Architecture)와 코드 컨벤션 기준으로 삼고 있는 Airbnb 의 Swift Style Guide 를 집중적으로 공략했습니다.

어차피 회사에서 사용하는 거니까, 공부도 할 겸 재미로 컨트리뷰션까지 했던 것인데요. 😄

일주일에 한 번 꼴로, 꾸준히 기여하다 보니 어느새 상위 컨트리뷰터가 되는 성과를 얻기도 했습니다.

TCA, Airbnb 의 상위 컨트리뷰터가 되다!

요약하자면, 2023년 2월 11일을 기준으로 저는 총 42번 기여했어요.

  • Apple(애플): 16번의 PR Merge 성공
  • Point-Free(포인트프리): 19번의 PR Merge 성공
  • Airbnb(에어비앤비): 7번의 PR Merge 성공

사내 라이브러리 관리

이런 경험을 살려, 회사에서는 팀장님이 구현한 내비게이션 라이브러리인 ‘LinkNavigator’ 의 Technical Writer 🤔 로서, 리드미, Demo 앱, 메서드 주석 등을 전부 영어로 작성했고 메인테이닝 하고 있습니다.

디폴트 언어를 ‘영어' 로 작업한 LinkNavigator 문서들, 덕분에 외국인 사용자들도 꽤 있습니다.

LinkNavigator 는 현재 ⭐️Star 98개로, 곧 100개를 앞두고 있습니다.

사실 개인 앱이나, 개인 라이브러리로 수천 개의 ️️️⭐Star 를 받으시는 분들도 있기 때문에, 이게 대단한 성과라고는 말하기 어려운데요.

그래도 회사에서 직접 만든 라이브러리를 글로벌화 하고, 주기적으로 유지보수하며 릴리즈하는 경험이 흔하진 않죠. 뿌듯함과 자부심을 느끼고 있습니다. 😄

영어 공부

개발자들이 컨트리뷰션 활동에서 느끼는 어려움 중에 가장 큰 것이 뭘까요?

저는 ‘영어’ 라고 생각합니다.

저도 학창 시절엔 그냥 K-영어공부를 했었고, 수능과 토익 준비할 때 말고는 제대로 영어 공부를 해본 적이 없는… 그런 개발자였습니다.

외국계 기업을 다닌 것도 아니었고. 인사담당자로 일할 때도 영어는 거의 사용하지 않았으니까요.

그러다가 갑자기, 애플/에어비앤비 엔지니어들이 있는 곳에 영어로 PR 을 올리려니까 부담감이 상당했습니다.

영어 2~3 문장으로 제 의견을 표현하는 데에도, 1시간 이상 고민하며 작성하고, 문법 검사기 돌려보고 그랬습니다.

근데 40번 이상 영어 PR 을 올리다 보니, 이제는 자신감도 꽤 붙고 어느 정도의 문장은 번역기의 도움을 받지 않고도 술술 쓸 수 있게 됐습니다.

23년도 1월에는 Airbnb 스타일 가이드에서 규칙에 대한 예시를 통째로 바꾸기도 했어요.

지난 1월에는 Airbnb 스타일 가이드에서 예시 하나를 통째로 바꾸는 PR 도 성공했습니다.

제 PR 을 받아준 저 calda 라는 친구는, Airbnb 의 iOS 엔지니어인데요.

Swift 5.7 에서 추가된 if-let shorthand 를 Swift Evolution 에 제출해서 accept 를 받아낸 엄청난(?) 개발자입니다.

저는 컨트리뷰션의 재미 중 하나는, Swift 커뮤니티에 영향을 끼친 이런 개발자들과 영어로 코멘트를 주고받는 경험이라 생각해요.

정말 실전 영어 실력을 키워준다고 할까요… 앞으로 더 공부하고 잘하고 싶다는 동기부여를 강하게 받고 있습니다. ㅎㅎ

새로운 기회들

저는 거의 Swift 언어를 배우면서 동시에 컨트리뷰션 활동을 시작했습니다. 이런 경험이 취업에도 도움이 됐는데요.

감사하게도, 컨트리뷰션 주제로 여러 부트캠프에서 발표 기회를 얻기도 했습니다.

참고) 야곰 아카데미 2주년 기념 에듀콘 — 발표 1위
“내가 좋아하는 라이브러리, 오타 잡기로 시작해서 상위 컨트리뷰터가 된 이야기”

https://www.yagom-academy.kr/blog/47

그리고 다양한 iOS 컨퍼런스에서, TCA 와 같은 라이브러리를 주제로 여러 현업 개발자 분들과 대화를 나눌 수 있었고, 꾸준히 연락하며 지식을 나누는 동료들이 생겼습니다.

제가 멘토링을 진행하고 있는 멋쟁이 사자처럼 앱스쿨에서는, 저를 롤모델(?) 삼아 애플 컨트리뷰터에 도전하여 뱃지를 얻어낸 후배도 생겼습니다.

애플 뱃지를 얻어낸 후배

앞으로는 더 큰 기회와 행운들이 찾아올 것 같다는 확신이 듭니다.

예를 들면, Point-Free 의 브랜든과 스티븐을 만나러 뉴욕 브루클린을 간다거나..?

너무나 큰 꿈 같지만, 이상하게 가능성이 보이고 또 할 수 있을 것 같다는 생각이 듭니다.

앞으로도 저의 컨트리뷰션 활동을 지켜봐 주세요. 감사합니다! 🤍

--

--