Logo

직장인이 오픈 소스에 기여하는 방법

주변에 보면 경력과 무방하게 오픈 소스 기여에 관심이 있는 개발자 분들이 참 많은 것 같아요. 오픈 소스에 기여한 이력은 인터넷에 공개되어 있기 때문에 개인의 인지도를 높이는 데 도움이 되고, 오픈 소스 경험이 있는 개발자를 우대하거나 적극적으로 채용하는 기업들도 있으니까요. 뿐만 아니라, 오픈 소스 커뮤니티에서 활동하고 있는 전 세계의 개발자들과 협업하면서 글로벌 네트워크를 넓힐 수 있다는 점도 큰 매력인 것 같습니다. 무엇보다 자신이 작성한 코드가 무료로 많은 사람들에게 해택을 준다는 것은 개발자로서 정말로 보람된 경험이죠.

그런데 현실적으로 직장을 다니면서, 오픈 소스 기여까지 한다는 것이 그리 만만한 일은 아닌 것 같습니다. 오픈 소스에 기여하려면 우선 참여할 만한 오픈 소스 프로젝트를 찾아봐야 하겠죠? 그리고 나서, 코드 저장소에 현재 어떤 이슈들이 있는지를 파악하고, 어떻게 기여를 해야하는지 README.md나 CONTRIBUTING.md와 같은 문서도 꼼꼼히 읽어봐야 할 것입니다. 본격적으로 코딩을 하려면 로컬 컴퓨터에 개발 환경을 셋업하는 기본적인 방법도 익혀야 하고요. 코드 리뷰를 받으려면 필수는 아니겠지만, 온라인 커뮤니티에 참여해서 메인테이너(maintainer)와 다른 기여자들과 영어로 소통도 하면 좋을 것 같습니다. 다들 회사 프로젝트 하기도 바빠 죽겠는데, 이러한 시간적 여력이 있는 분이 얼마나 계시겠어요? 🥲

그래서 오늘은 저처럼 평범한 직장인이 현실적으로 어떻게 오픈 소스에 기여를 시작할 수 있는지에 대해서 제 경험을 말씀드리려고 해요. 오픈 소스 기여를 하고 싶은데 어디서부터 어떻게 시작해야 되는지 막막하신 분들께 현실적인 조언이 될 수 있지 않을까 합니다.

저 같은 경우에는 어떤 새로운 기술을 공부할 때 공식 문서를 꼼꼼히 읽는 편인데요. 아무래도 예산이 넉넉하지 않은 오픈 소스의 경우 상용 라이선스 제품에 비해서 문서화가 부실한 경우가 많죠. 특히 하루에도 수십번 바뀌는 코드에 맞춰서 문서를 업데이트해주는 일은 개발이 활발하게 진행되고 있는 신생 프로젝트에서는 참 놓치기 쉬운 부분입니다.

대부분의 오픈 소스의 공식 문서 사이트를 자세히 보시면, 독자가 직접 문서를 고칠 수 있도록 유도하고 있는데요. 아래 캡쳐 화면처럼 페이지의 제일 위나 아래를 보면 깃허브에서 해당 문서를 바로 수정할 수 있는 버튼이 있는 경우가 많아요. 자, 요 버튼만 딱! 클릭👆해주시면 누구나 깃허브 계정만 있다면 해당 오픈 소스 프로젝트의 문서에 기여할 수 있습니다! 깃허브가 알아서 포크(fork) 저장소도 따주고 바로 문서 편집 화면을 보여주기 때문에 우리는 그냥 브라우저에서 텍스트만 수정하고 저장 후에 Pull Request만 올리면 됩니다. 너무 쉽죠? 🎉

Bun의 공식 문서 사이트

Vite의 공식 문서 사이트

이러한 방법으로 문서에 꾸준히 기여하게 되면 자연스럽게 코드 베이스에 대한 이해도가 올라가게 됩니다. 아무래도 문서를 수정하려면 어쩔 수 없이 코드도 읽어봐야하는 경우가 많거든요. 그래서 저는 항상 문서부터 기여를 시작해서 프로젝트에 충분히 익숙해진 후에 코드까지 기여 범위를 넓혀나가는 편이에요. 예전에 바로 코드 기여에 뛰어 들었다가 실패한 적이 많거든요. 😂

제가 실제로 최근에 기여한 프로젝트 중에서 좋은 사례가 있어서 하나 공유드릴게요. 바로 깃허브에서 현재 2500개가 넘는 별을⭐를 받은 Bun이라는 오픈 소스 프로젝트인데요. 저는 여태까지 오직 문서만 기여를 했는데 민망하게도 23번째로 활발한 기여자랍니다! 🫣

문서 기여로만 Top 23

그리고 공식 블로그에는 무려 8차례나 기여자로 언급이 되었고요. 😎

Bun v1.1.4 릴리즈 노트 (https://bun.sh/blog/bun-v1.1.4)

지난 한 주 동안에는 겨우 Pull Request 2개로 10번째 활발한 기여자가 되었네요. 제가 들인 노력에 비하면 이 정도면 거의 도둑놈 수준이에요. ㅋㅋ

지난 주 한정 기여자 Top 10 ㅋㅋ

어때요? 오픈 소스 기여하기 진짜 별 거 없죠? ㅎㅎ 요렇게 문서 기여부터 시작하시면 적은 시간으로도 충분히 의미있는 기여 활동을 늘려나가실 수 있으실 거라고 생각합니다.

오타 수정이나 예제 코드 수정과 같은 허드렛 일이 별 거 아닌 것 같지만 모이면 프로젝트에는 큰 힘이 되는 것 같아요. 덕분에 메인테이너들과 DM을 주고 받을 수 있을 정도로 친분도 조금 쌓았습니다. 저는 사실 이 프로젝트에 쓰고 있는 Zig라는 프로그래밍 언어를 전혀 모르지만, 자주 문서 기여를 하다 보니 이제 Zig 코드를 어느 정도 읽을 수 있게 되었어요. 그래서 코드 기여까지 한 번 도전해보고 싶은데 코드를 읽는 거랑 쓰는 거는 또 다른 일이라서 잘 될지는 모르겠네요. 😅 뭐, 안 되면 그냥 지금처럼 문서 기여만 하죠~ 뭐 ㅎㅎㅎ

사실 인터넷에서 오픈 소스 기여 방법을 검색해보시면 제가 알려드리는 내용과 비슷한 팁이 정말 많이 보실 거에요. 하지만 많은 개발자 분들이 문서부터 기여하는 것이 얼마나 유용한지 잘 모르고 지나치시는 것 같아서, 이렇게 저의 대단할 것도 없는 소소한 기여 경험을 공유하게 되었습니다.

여러분도 요즘 관심있는 오픈 소스 프로젝트가 있으신가요? 아니면 회사에서 개발 업무를 위해서 새로운 라이브러리나 프레임워크를 공부하셔야 하나요? 그렇다면, 혹시 지금 해당 오픈 소스의 공식 문서 페이지를 읽고 계시지는 않으신가요? 그럼 당장 해당 문서를 수정할 수 있는 버튼을 찾아보세요! 👀👆

이 글은 LinkedIn에서도 읽어보실 수 있습니다.