오픈소스 기여, 첫걸음을 뗀 개발자의 생생한 후기 및 가이드
🤖 AI 추천
오픈소스 프로젝트에 기여하고 싶지만 어디서부터 시작해야 할지 막막한 프론트엔드 및 백엔드 개발자, 특히 주니어 개발자에게 추천합니다. 오픈소스 기여의 전반적인 과정, 오픈소스 선택 방법, 코드 분석 및 PR 작성 방법 등 실질적인 경험을 공유하여 큰 도움이 될 것입니다.
🔖 주요 키워드

핵심 기술: 이 글은 오픈소스 프로젝트에 기여하기 위한 전 과정을 생생한 경험담과 함께 상세하게 안내합니다. 특히, 오픈소스 선택부터 시작하여 'good first issue' 활용법, 코드 분석을 통한 버그 원인 파악, git blame
과 같은 유용한 개발 도구 활용, 그리고 PR(Pull Request) 작성 및 머지(merge)까지 개발자가 알아야 할 실질적인 방법론을 제공합니다.
기술적 세부사항:
- 오픈소스 기여 동기: 동료들의 일상적인 오픈소스 기여 모습과 거대한 코드베이스 이해 훈련의 필요성을 계기로 기여를 결심.
- 오픈소스 프로젝트 선택: 처음에는 사용 경험이 있는
mcp-go
를 검토했으나 감을 잡지 못함. 이후 'good first issue' 라벨이 붙은 이슈를 탐색하며docs
폴더의 아이콘 깨짐 문제를 해결하려 했으나 다른 기여자에 의해 먼저 해결됨. es-hangul
프로젝트 선택: 지인의 추천으로 토스 오픈소스 프로젝트인es-hangul
에 집중. 고등학교 국어 공부를 연상시키는 테스트 케이스에 흥미를 느낌.- 기여 지점 탐색 및 버그 발견: 처음에는 코드 개선점을 찾기 어려웠으나,
es-hangul
소개 문서에서 표가 제대로 표시되지 않는 문제를 발견함. - 버그 원인 분석: VS Code의
git blame extension
을 활용하여 문제가 발생한 코드 라인의 변경 이력을 추적.docs: es-hangul의 신뢰성을 나타낼 수 있는 문서를 만듭니다 #302
PR을 통해 이전에는 표가 정상적으로 출력되었음을 확인. coverage-summary.json
분석:yarn test
실행 시 생성되는coverage-summary.json
파일의 구조를 파악하고,isValidFilePath
함수의 정규식(//src/[^/]+/[^/]+(?<!..+).ts$/
)이src
아래 3-depth 이상의 경로를 허용하지 않아 발생하는 문제임을 규명. 과거 코드베이스 분석을 통해 당시에는 2-depth였으나, 이후 변경으로 인해 3-depth가 되어 문제가 발생했음을 확인.- 오픈소스 기여 워크플로우: 팀 프로젝트와 달리 오픈소스는
fork
후 작업하고 원본 레포에PR
을 날리는 방식으로 진행됨 (upstream
vsorigin
개념 설명). - PR 작성 및 머지: 문제 상황, 원인, 해결 방법, 결과를 명확하고 간결하게 작성하고 UI 버그 수정을 위해 이미지/동영상을 첨부하여 이해도를 높임.
shottr
과 같은 편리한 스크린샷 도구 활용을 추천. - 결과 및 향후 계획: 성공적으로 PR이 머지되었고 컨트리뷰터 배지를 획득. OSSCA 프로그램 참여를 통해 더 깊이 있는 오픈소스 기여를 희망.
개발 임팩트: 오픈소스 프로젝트에 직접 기여하는 경험을 통해 코드 베이스 이해도를 높이고, 다양한 개발자의 코드를 학습하며 실력 향상을 도모할 수 있습니다. 또한, Git 워크플로우 숙달 및 커뮤니케이션 능력을 향상시키는 데에도 큰 도움이 됩니다. 컨트리뷰터로서의 성취감 또한 얻을 수 있습니다.
커뮤니티 반응: 원문에서는 동료 개발자들이 오픈소스에 일상적으로 기여하는 모습에서 영감을 받았다는 내용이 강조됩니다.
📚 관련 자료
es-hangul
이 글의 핵심 오픈소스 프로젝트로, 한글의 자음과 모음을 분리하고 조합하는 라이브러리입니다. 글에서 제시된 버그 수정 및 코드 분석 과정이 이 저장소를 중심으로 이루어졌습니다.
관련도: 95%
gitignore
글에서 `coverage-summary.json`과 같은 빌드/테스트 관련 파일이 생성되는 점을 언급하며, 이를 효율적으로 관리하기 위한 `.gitignore` 파일의 중요성을 간접적으로 시사합니다. 이 저장소는 다양한 언어와 환경에 대한 `.gitignore` 템플릿을 제공합니다.
관련도: 60%
Awesome-Self-Hosted
글에서는 오픈소스 기여를 시작하기 위한 프로젝트 탐색 과정을 보여줍니다. 이 저장소는 자기 호스팅 가능한 다양한 오픈소스 프로젝트들을 모아놓아, 새로운 프로젝트를 탐색하고 기여할 기회를 찾는 개발자들에게 유용한 정보를 제공합니다.
관련도: 50%