![[OSSCA] 2025 오픈소스 컨트리뷰션 아카데미 활동 후기](https://image.inblog.dev?url=https%3A%2F%2Finblog.ai%2Fapi%2Fog%3Ftitle%3D%255BOSSCA%255D%25202025%2520%25EC%2598%25A4%25ED%2594%2588%25EC%2586%258C%25EC%258A%25A4%2520%25EC%25BB%25A8%25ED%258A%25B8%25EB%25A6%25AC%25EB%25B7%25B0%25EC%2585%2598%2520%25EC%2595%2584%25EC%25B9%25B4%25EB%258D%25B0%25EB%25AF%25B8%2520%25ED%2599%259C%25EB%258F%2599%2520%25ED%259B%2584%25EA%25B8%25B0%26logoUrl%3Dhttps%253A%252F%252Finblog.ai%252Finblog_logo.png%26blogTitle%3Dcode-with-me&w=2048&q=75)

1. 들어가며
특히 이번 아카데미에서 제가 주목한 것은 평소 관심 있던 Git 활용과 PR Agent 프로젝트였습니다. 코드 리뷰는 개발 과정에서 빼놓을 수 없는 중요한 부분이지만, 때로는 시간이 많이 걸리고 놓치는 부분들이 있어 아쉬웠던 경험이 많았습니다. 그런데 AI의 힘을 빌려 이런 과정을 개선할 수 있다는 점이 매우 흥미로웠고, 직접 기여해보고 싶다는 생각이 들었습니다.
PR-Agent는 자동화된 GitHub PR(Pull Request) 분석과 요약, 피드백, 코드 제안 등을 제공하는 AI 기반 도구입니다. 이 도구는 PR 기반의 코드 리뷰 과정에서 AI의 도움을 받아 코드 리뷰를 보다 효과적이고 효율적으로 진행할 수 있도록 돕습니다. Python으로 구현되어 있어 제가 익숙한 언어였고, LLM(Large Language Model) 관련 지식도 함께 쌓을 수 있어 일석이조의 학습 기회라고 생각했습니다.
2. 아카데미 참여 과정
지원부터 선발까지의 여정

홈페이지에서 참여 신청을 누르면 1지망 프로젝트 선택하고 자기소개, 지원동기, 프로젝트 경험을 묻는 문항이 나옵니다. 그리고 2지망 프로젝트를 선택하고 자기소개, 지원동기, 프로젝트 경험을 묻는 문항이 나옵니다. 저는 2지망이 없었기에 똑같은 프로젝트를 선택했습니다.
그리고 좀 지나고 서류 발표일에 합격되었다는 메일을 받은 것 같은데 지금 찾아보니까 메일을 지웠는지 안보이네요.
팀 구성과 첫 만남
1주차엔 일하느라 바빠서 오프라인 발대식에 참여를 못했습니다. 너무 아쉬웠으나 못 온 분들을 위해서 기념품을 배송해준다고 하셔서 주소를 보냈더니 멋진 자동 우산이 선물로 왔습니다~ 아주 유용한 기념품 같습니다!
그리고 5인 1팀으로 배정되었고 자기소개하면서 이런 저런 얘기했던 것 같습니다.
3. 프로젝트 진행 과정
1주차는 멘토링 진행 OT 및 Git 사용법 심화 학습, GitHub Flow 기반 협업 워크플로우 이해, 조별소개서 작성을 통한 실전 Git 협업 경험을 진행했습니다.
2주차는 PR Agent의 아키텍처와 핵심 기능을 이해하고, 다양한 AI 코드리뷰 도구를 조사하여 PR Agent와의 차이점을 분석했습니다. AI 코드리뷰 도구의 장단점과 활용 방안을 비교하여 실무 적용 가능성을 탐색하였습니다.
3주차는 PR Agent 로컬 개발 환경 설정 및 주요 태스크 코드 분석을 했습니다. LLM은 Gemini API를 연동하고, config 섹션의 옵션들을 조정했습니다. 그리고 주요 Tool 코드, 프롬프트 및 설정(configuration) 분석을 진행했습니다. (/describe, /review, /improve) PR Agent를 설정하고 Tool별 세부 설정에 대해 이해하고 직접 사용해보고 정리하면서 주요 도구의 동작 방식을 코드 레벨에서 이해할 수 있었습니다.
4주차는 PR Agent Contribution Ideation을 진행했습니다. 3주차 학습을 이어나가면서 기여할만한 아이디어를 고민해야하는데, 많이 써봐야 알 수 있고 옵션 같은 경우도 이미 있는 옵션에 대해 알아야 다시 하지 않을 수 있습니다. 구현이 아니라 아이디어 논의 및 정리 정도까지가 목표였고 제가 속한 조는 문서화, 리팩토링, 다이어그램 생성 기능에 대해서 아이디어를 냈습니다.
5주차는 2주 내 PR 가능한 범위의 아이디어를 선정해서 어떤 방식으로 기여할 지 정하고 범위 나눠서 작업을 진행하면 되었습니다. 저희 조는 테스트코드를 추가하기로 결정했고 핵심 로직에 모든 단위테스트가 있는게 아니기 때문에 이미 있는 단위테스트 파일을 분석하고 기여할 수 있는 부분에 대해서 테스트 코드 작성해오는게 목표였습니다.
6주차에 제가 맡은 부분은 PR과 관련된 이슈(티켓)을 추출 및 캐싱 기능을 테스트하는 코드였는데 Github 외에 다른 플랫폼 관련 테스트 코드를 작성하고 싶었습니다. AI의 도움을 받아 기존의 코드 스타일을 살려서 PR을 날려봤는데 PR Agent 리뷰를 보니까 다른 플랫폼 관련 로직이 없기 때문에 없는 로직에 대한 테스트 코드라고 해서 바로 PR을 내렸습니다. 저는 실제로 기여하지 못했지만 팀원 분 중에 PR 승인이 된 분도 있고 다른 팀도 승인되신 분들이 꽤 있었던 것 같습니다.
4. 성과와 배운 점
이번 아카데미를 통해 여러 측면에서 값진 경험과 학습을 얻을 수 있었습니다.
PR Agent 아키텍처 분석을 통해 AI 기반 도구가 실제로 어떻게 구현되고 동작하는지 깊이 있게 이해할 수 있었습니다. /describe, /review, /improve 등 각 도구의 세부 설정을 조정하며 AI 도구의 동작 방식을 코드 레벨에서 이해하게 된 것은 향후 AI 기반 개발에 큰 도움이 될 것 같습니다.
다양한 AI 코드리뷰 도구들을 조사하고 비교 분석하는 과정에서 오픈소스 생태계의 다양성과 각 도구들의 특징을 파악할 수 있었습니다. 특히 실제 기여를 시도해보면서 오픈소스 프로젝트의 기여 프로세스, 코드 리뷰 문화, 그리고 프로젝트 유지보수자들의 관점을 이해하게 되었습니다.
기존 단위테스트 파일을 분석하고 새로운 테스트 코드를 작성하면서 코드 품질 향상에 대한 중요성을 깨달았습니다. 테스트 코드를 통해 기존 코드의 동작을 더 깊이 이해할 수 있었고, 안정적인 소프트웨어 개발을 위한 기반 지식을 쌓을 수 있었습니다.
5. 아쉬웠던 점과 개선 방안
1주차 오프라인 발대식에 참여하지 못한 것이 가장 아쉬웠습니다. 업무와 학습의 균형을 맞추는 것이 생각보다 어려웠고, 이로 인해 초기 네트워킹 기회를 놓친 것 같습니다. 향후에는 중요한 이벤트 일정을 미리 파악하고 업무 스케줄을 조정하는 등 보다 적극적인 시간 관리가 필요할 것 같습니다.
실제 PR이 승인되지 못한 점이 아쉬웠습니다. 다른 플랫폼 관련 테스트 코드를 작성하려 했지만, 해당 로직이 존재하지 않는다는 피드백을 받고 PR을 철회하게 되었습니다. 이는 사전 조사가 부족했음을 의미합니다. 기여하고자 하는 기능이나 개선사항이 실제로 필요한지, 그리고 프로젝트의 로드맵과 부합하는지 미리 확인하는 과정이 필요했습니다.
앞으로 오픈소스 기여를 할 때는 다음과 같은 점들을 개선하겠습니다. 먼저 기여하기 전에 프로젝트의 이슈 트래커, 로드맵, 그리고 최근 PR들을 충분히 분석하여 실제로 필요한 기여인지 판단하겠습니다.
6. 마무리
이번 아카데미 참여는 단순한 학습을 넘어서 실제 오픈소스 생태계에 발을 담글 수 있는 귀중한 경험이었습니다. 비록 실제 기여까지는 완성하지 못했지만, 그 과정에서 얻은 지식과 경험은 앞으로의 개발 여정에 큰 자산이 될 것입니다.
특히 AI 기반 개발 도구에 대한 이해와 Git을 활용한 협업 경험은 현재의 개발 트렌드에 발맞춰 나가는 데 큰 도움이 될 것 같습니다. PR Agent와 같은 도구들이 개발 프로세스를 어떻게 개선할 수 있는지 직접 경험해보면서, AI와 개발자가 협력하는 미래의 개발 환경에 대한 구체적인 그림을 그릴 수 있게 되었습니다.
또한 함께 참여한 팀원들과의 협업 경험도 값진 자산입니다. 서로 다른 배경과 전문성을 가진 개발자들과 함께 문제를 해결해나가는 과정에서 다양한 관점과 접근 방식을 배울 수 있었습니다.
앞으로도 오픈소스 기여를 지속해나가면서, 이번 경험에서 얻은 교훈들을 바탕으로 더 의미 있는 기여를 만들어가고 싶습니다. 특히 AI와 개발 도구의 융합 영역에서 지속적으로 학습하고 기여할 수 있는 개발자로 성장해나가겠습니다.
마지막으로 이런 소중한 기회를 제공해주신 아카데미 운영진과 멘토님, 그리고 함께 참여한 모든 분들께 감사드립니다. 이 경험은 제 개발자 여정에서 중요한 전환점이 될 것 같습니다.
Share article