오픈소스에 평소 관심이 많거나 새해에 도전해 보고 싶으셨던 분들께 제가 운영진으로 있는 오픈소스 기여 모임 추천드립니다 :) 🙆🏻♀️
사실, 나는 이전에 오픈소스 컨트리뷰션 아카데미에 참가한 적이 있었다. 오픈소스 활동을 본격적으로 하고 싶었기 때문에 호기롭게 도전했다. 하지만 그 당시에는 그렇게까지 몰입을 하지는 못했었다. 업무와 병행하기 힘들었기 때문인지, 흥미가 없었기 때문인지, 의지할 동료가 없었기 때문인지, 혹은 다른 이유 때문인지는 나 조차도 명확히 모르겠다. 🤔
활동 기간이 끝난 뒤, 내 기억에서 희미해졌던 기억을 이직 준비를 하면서 다시 꺼내 보았다. 어느새 그 프로젝트는 아카이브되어 있었다. 보존을 위해 포르말린에 담가 놓은 표본 같았다.
흐지부지 마무리된, 아쉬웠던 옛 기억을 들춰보며, 이번 기회에 오픈소스 활동을 다시 해 보고 싶다는 생각이 들었다. 이번에는 조금 더 몰입할 수 있는 기여를 하고 싶었다.
다행히도 오픈소스 기여모임은 그런 환경을 마련해 주고 있었다. 자신이 원하는 오픈소스에 자유롭게 기여할 수 있었다. 내가 애정하는 오픈소스에 기여할 수 있다면 조금 더 오너십을 발휘할 수 있을 것이다. 그리고 기여를 향한 첫 걸음을 더 쉽게 내딛을 수 있도록 친절한 가이드와 운영진분들의 도움도 제공한다고 쓰여져 있었다.
참여 신청
안내에 따라 운영진분의 계좌에 예치금을 걸어두고 구글폼 작성을 했다. 며칠 후 기여모임 10기 카카오톡 채팅방에 초대되었다. 톡방의 인원은 약 500명이였다. 어떤 모임은 소수의 인원으로 진행되기도 하는데, 이 모임은 상당히 널널해서 합격률도 높은 것 같다.
온보딩
톡방의 공지를 통해 디스코드 초대 링크를 타고 오픈소스 기여모임 서버에 입장했다. 온보딩을 거친 뒤, 10기 채널에 초대되었다. 채널에는 여러 가지 안내 사항이 공지되어 있었다. 요약하면 다음과 같다.
기여하고자 하는 오픈소스를 탐색한다.
AI 도구를 활용해 기여할 만한 이슈를 추려낸다.
AI 도구를 활용해 이슈를 해결할 방향을 모색한다.
문제와 해결 방향을 운영진과 함께 의논한다.
승인 후, PR을 올린다.
내가 기여하고 싶은 오픈소스를 자유롭게 선택할 수 있으며, AI 도구를 활용해 이슈와 해결 방법을 빠르게 선택하고, 이를 운영진분들과 함께 의논하고, 기여 모임의 수많은 동료들과 생각과 마음을 나눌 수 있다는 점이 마음에 들었다.
오픈소스 컨트리뷰션 아카데미는 기여할 프로젝트를 정해진 목록 내에서 고르는 방식이었다. 최선의 선택은 할 수 있지만, 최고의 선택은 할 수 없었다. 내가 충분히 해결할 수 있는 이슈가 있는지 미리 알 수도 없었다. 예측할 수 없음으로 인한 두려움을 안아야 했다. 기여를 도와줄 멘토도 프로젝트 오너밖에 없었다. 기여 활동을 하며 적극적으로 교류하고 의지할 동료가 없었다. 이러한 요소들이 합쳐져 깊게 몰입할 수 없는 장벽을 만든 것이 아닐까.
반면에 오픈소스 기여모임은 그러한 문제가 전혀 없었다. 내가 10기에 참여했으니, 이전에 있었던 문제들로부터 개선한 결과일 것이리라. 좌우간 든든한 운영진분들과 동료들을 등에 업고, 굳은 다짐과 함께 기여 활동을 시작했다.
가이드대로 프로젝트의 이슈를 AI를 통해 분석하고, 그 결과를 운영진분들에게 공유했다. 리드분의 의견을 따라 새로운 기능을 추가하는 이슈에 기여하기로 결정했다.
해당 이슈는 이미 작업을 하고자 했던 선행자가 있긴 했지만, 활동이 끊긴 지 오래였기 때문에 내가 대신 진행하기에 충분해 보였다.
이슈를 선정한 뒤 다른 기여자분들의 글들을 훑어보았다. 전문성 있게 이슈를 잘 선정하신 분들도 계셨고, 처음이라 어설프게 이슈를 선정하신 분들도 계셨다. 혹은 어떤 기여를 하면 좋을지 갈피를 못 잡는 분도 계셨다. 기여모임에서는 이런 분들을 위해서 이슈 선정을 도와주시고 계셨다. 한두 명이 아닌데도 정성스럽게 리뷰해 주시고 도와주시는 운영진분들의 노고에 깊은 감사를 느꼈다. 👏
코드 기여
해당 작업의 난이도가 꽤 있기는 했지만, 다행스럽게도 기존 구현 패턴과 AI 덕분에 수월하게 해결할 수 있었다. 기존 코드베이스와 이슈 내용을 기반으로, 새로 도입된 Web API를 활용하여 불변성을 지키는 새 메소드를 구현했다. 그리고 기여 가이드에 맞춰 테스트 코드와 깔끔한 커밋 메시지를 작성했다.
작업 내용을 먼저 운영진분들에게 공유드렸고, PR을 드래프트로 올려서 메인테이너와 방향성을 맞춰 보자는 의견을 주셨다. 운영진의 승낙을 받아서 PR을 올렸다.
🥹
PR에 이모지로 반응해 주신 운영진님, 너무나 감사드립니다.
활발한 프로젝트는 아니였기에 아직 메인테이너의 반응이 없는 것은 조금 아쉽지만, PR을 올린 것 자체만으로도 충분히 의미가 있다고 생각한다.
기부
기여 모임 활동이 막바지에 이르러, 마무리로서 기부 챌린지 공지가 나왔다. 이제껏 했던 기여 활동과 함께 금전적 기부까지 인증을 완료하면 예치금을 반환받을 수 있다는 내용이었다.
공지를 보자마자 오픈소스의 위기에 대한 내용이 불현듯 떠올랐다. AI의 발전으로 인해 오픈소스의 지속 가능성이 확연히 떨어진다는 내용으로 기억한다. 그런 측면에서 오픈소스의 지속 가능성에 도움을 보태는 기부는 너무나 큰 의미를 갖는다. 동시에 이제껏 내가 무료로 누려온 여러 가지 혜택들에 대해서도 다시금 돌아보게 되었다. 😓
iTerm2에 단발 후원을 했다.
그래서 나는 우선 Monokai Pro에 기부를 하려고 했다. 하지만 GitHub 저장소에 스폰이 설정되어 있지 않았다. 그래서 다음으로 iTerm2를 찾아보았다. 다행히 이 저장소는 스폰이 설정되어 있어서 기부를 했다.
Monokai Pro 평생 라이선스를 구매했다.
나도 쪼들리는 상황이지만, Monokai Pro는 기부를 못한 대신 평생 라이선스를 구매했다.
기여 모임의 절차가 아니였다면 기부를 했을까? 내 코가 석자라며 하지 않았을 것이다. 다른 동료들의 기부 인증 릴레이 덕분에 나도 기꺼이 기부를 할 수 있었다. 뜻을 함께하는 동료가 얼마나 중요한지 다시금 느꼈다.
맺으며
오픈소스 기여모임과 동료들을 통해 용기와 도움을 얻고 AI를 통해 빠르게 기여하고 후원을 통해 지속가능성에 보탬이 되는 경험을 했다.
단발성 기여에서 더 나아가 지속적인 기여를 위해, 추후 11기 모임을 진행한다고 한다면 기꺼이 참여를 할 것이다.