- Open UP -
|
○ 처음 오픈소스 기여를 시작하려면, 자신의 관심 분야와 역량에 맞고 꾸준히 참여할 수 있는 프로젝트를 선택하는 것이 중요함 - 평소 사용하는 소프트웨어나 익숙한 기술을 중심으로 프로젝트를 탐색하고, 프로젝트의 최근 활동, 신규 기여자를 위한 이슈, 커뮤니티 소통 환경 등을 살펴보는 과정이 필요 |
□ 첫 오픈소스 기여, 자신의 관심 분야와 역량에 맞고 지속적으로 활동하는 프로젝트를 선택하는 것이 효과적
○ 오픈소스는 현대 소프트웨어 대부분이 개발되는 방식이며, 이를 뒷받침하는 프로젝트들은 새로운 기여자가 지속적으로 유입되는 데 의존하고 있음
- 초보 기여자들은 오픈소스 프로젝트에 기여해 보고 싶어도 수많은 오픈소스 프로젝트 중에서 참여하기 적합한 프로젝트를 어떻게 찾고, 무엇부터 시작해야 할지 판단하는데 어려움을 겪을 수 있음
○ Linux Foundation는 2026년 9월 발간한 Getting Started with Open Source Development를 통해 초보 기여자를 위한 오픈소스 프로젝트 선택 및 기여 방법을 안내하고 있음
- 이 가이드에서 첫 기여를 준비할 때 자신의 관심 분야와 역량뿐 아니라 프로젝트가 활발하게 운영되고 있는지, 신규 기여자를 위한 참여 기회가 있는지 등을 살펴볼 것을 권장하고 있음
○ GitHub 역시 공식 가이드를 통해 관심 분야와 관련된 프로젝트를 탐색하고, 유지관리 활동과 기여 기회를 확인하는 방법을 안내하고 있음
○ 이번 글에서는 Linux Foundation와 GitHub의 가이드를 바탕으로 자신에게 적합한 오픈소스 프로젝트를 찾고, 기여하기 좋은 프로젝트인지를 판단하는 방법을 살펴보고자 함
① 익숙하고 관심 있는 분야에서 시작하기
○ Linux Foundation와 GitHub의 가이드 모두 평소 사용하는 오픈소스 도구나 익숙한 소프트웨어에서 시작할 것을 권장하고 있음
- 처음부터 유명하거나 규모가 큰 프로젝트를 선택하기보다 이미 사용해 봐서 기능과 사용 환경을 이해하고 있는 소프트웨어의 프로젝트를 선택하는 것이 프로젝트에 적응하는 데 필요한 시간을 상당히 줄일 수 있음
※ 첫 기여에는 인내심이 필요한데, 이미 관심있는 분야가 이러한 인내심을 지속하게 만들 수 있다고 설명
○ 또한, 처음 프로젝트에 기여할 때 자신이 얼마나 많은 시간을 투자할 수 있는지도 고려해야 한다고 조언함
- 짧은 시간에 큰 작업을 완료하려 하기보다, 자신이 감당할 수 있는 작은 작업부터 꾸준히 참여하는 것이 장기적으로 지속될 가능성이 높다고 설명
※ 첫 기여에는 작고 반복 가능한 범위의 작업부터 시작해 습관처럼 꾸준히 참여하는 것이 현실적이라고 조언
② GitHub에서 관심 있는 프로젝트 찾기
○ GitHub에서는 관심 분야에 맞는 오픈소스 프로젝트를 탐색하는 다양한 방법을 소개하고 있음
▷ 관심 분야별 프로젝트 탐색 : GitHub Topics
- AI, Python, npm 등 관심 있는 기술 분야의 토픽(Topic)을 선택해 관련 오픈소스 프로젝트 탐색이 가능함
[그림 1] GitHub Topics 메인 화면
- ‘http://github.com/topics/topic명’ 형식의 URL로 관심 있는 특정 토픽에 해당하는 저장소를 확인할 수 있으며, 프로그래밍 언어(Language)와 정렬 기준(Sort)을 설정하여 탐색 가능
[그림 2] AI Agent 토픽의 저장소 목록 화면
▷ 주목받는 프로젝트 탐색 : GitHub Trending
- 사용 언어(Spoken Language), 프로그래밍 언어(Language), 조회 기간(Date range)을 설정하여 최근 GitHub 커뮤니티에서 주목받는 인기 프로젝트 목록을 확인 가능
[그림 3] GitHub Trending 메인 화면
▷ 다양한 오픈소스 프로젝트 탐색 : GitHub Explore
- 인기 저장소, 인기 토픽, GitHub 추천 컬렉션 등 다양한 오픈소스 프로젝트를 살펴볼 수 있음
※ 기존 기여 이력, Star 등 사용자 활동을 기반으로 프로젝트에 대한 맞춤형 프로젝트 저장소를 보여줌
[그림 4] GitHub Explore 메인 화면
▷ 다양한 검색 조건을 활용 : GitHub 검색(http://github.com/search)
- 관심 있는 기술이나 프로젝트 이름 등을 검색해 관련 저장소를 찾을 수 있으며, Advanced search를 통해 검색 조건 활용도 가능함
[그림 5] GitHub 검색 메인 화면
[그림 6] GitHub 검색에서 ‘ai’를 검색한 결과 화면
③ 활발하게 유지관리되는 프로젝트인지 확인하기
○ 관심 있는 프로젝트를 찾은 후 살펴봐야할 것은 프로젝트가 현재도 개발되고 있고, 기여자의 참여에 대응하고 있는지를 확인하는 것임
- Linux Foundation는 최근 커밋(Commit) 활동, 이슈(Issue) 및 풀 리퀘스트(Pull Request, PR)에 대한 응답 속도 등을 프로젝트의 활동 상태를 판단할 수 있는 주요 기준으로 제시함
- GitHub 역시 프로젝트에 기여하기 전에 저장소가 활발하게 유지관리되고 있는지 확인할 것을 권장하고 있음
○ 단순히 프로젝트의 인지도나 규모만 고려하기보다 실제로 기여자의 참여를 검토하고 응답하는 환경인지 확인하는 것이 중요함
- Linux Foundation도 유명한 프로젝트라도 PR이 수개월 동안 검토되지 않는 프로젝트보다 기여자의 요청에 며칠 내 응답하는 프로젝트가 초보 기여자에게 더 적합하다고 설명함
○ GitHub에서는 프로젝트 저장소의 활동 기록과 이슈·PR 처리 현황 등을 통해 유지관리 상태를 확인할 수 있음
▷ 최근 커밋(Commit) 활동 확인
- 커밋은 저장소에 기록된 변경 이력으로, 저장소의 Code 화면에서 커밋 이력으로 개발 활동이 계속 이루어지고 있는지 확인할 수 있음
[그림 7] GitHub node.js 저장소 Code 탭 화면
※ 저장소 Code 탭에서 Commits 또는 시계 모양 아이콘을 클릭하면, 최근 커밋 목록을 확인할 수 있으며 변경 날짜, 작성자, 변경 내용을 확인할 수 있음
[그림 8] GitHub node.js 저장소의 Commit 목록 화면
▷ Issues 및 PR 응답 현황 확인
- 저장소의 Issues와 Pull requests 탭에서 최근 게시물을 열어 새로 등록된 이슈나 PR에 유지관리자의 응답이 이루어지고 있는지 확인이 필요
※ Issue에 질문이나 문제 제기가 올라왔을 때 다른 참여자의 답변이 있는지, PR에 리뷰가 진행되고 있는지, 오래 방치된 요청은 없는지 살펴볼 수 있음
[그림 9] GitHub node.js 저장소의 Issues 탭 화면
[그림 10] GitHub node.js 저장소의 Pull Requests 탭 화면
▷ Insights의 Pulse 기능을 통해 프로젝트 최근 활동 확인
- GitHub 저장소의 Insights 탭에서 Pulse를 선택하면 일정 기간의 커밋, PR 및 이슈 활동 등 종합적으로 프로젝트의 최근 활동 현황 확인할 수 있음
[그림 11] GitHub node.js 저장소의 Insights 탭 내 Pulse 화면
④ 초보 기여자가 참여하기 좋은 환경인지 살펴보기
○ 프로젝트가 활발하게 운영되고 있더라도 처음 참여하는 사람이 수행할 수 있는 작업이 있는지 기여자와의 소통이 원활하게 이루어지는지 확인할 필요가 있음
- Linux Foundation는 ‘good first issue’ 또는 ‘help wanted’ 라벨이 붙은 이슈는 해당 프로젝트가 신규 기여자의 참여를 적극적으로 원하고 있음을 의미한다고 설명
※ 오픈소스 프로젝트는 GitHub의 이슈를 통해 버그 수정, 기능 개선, 문서 보완 등 필요한 작업을 관리할 수 있으며, 일부 프로젝트는 신규 기여자를 위한 작업을 별도로 표시하고 있음
- 또한, 최근 이슈와 PR에서 이루어진 대화와 리뷰 내용을 통해 신규 기여자를 대하는 커뮤니티의 태도를 살펴볼 것을 권장하고 있음
○ GitHub에서는 신규 기여자를 위한 이슈와 커뮤니티 활동을 통해 프로젝트의 참여 환경을 확인할 수 있음
▷ GitHub Issue에서 good first issue 및 help wanted 라벨 확인
- GitHub 저장소의 Issues 탭의 Label 필터에서 good first issue 또는 help wanted를 선택하여 표시된 이슈를 열어 작업 설명과 기존 논의를 확인할 수 있음
- ‘good first issue’는 처음 프로젝트에 참여하는 기여자가 시작하기에 적합한 작업을 표시할 때 사용하는 라벨
- ‘help wanted’는 프로젝트에서 다른 사람의 도움이나 기여를 원하는 작업을 표시할 때 사용하는 라벨
[그림 12] GitHub node.js 저장소의 Issues 탭 Labels 필터의 검색 선택 화면
[그림 13] GitHub node.js 저장소의 Issues 탭 Labels에 ‘hep wanted’ 검색 결과 화면
- GitHub 전체 이슈 검색을 통해 전체 프로젝트의 good first issue 또는 help wanted를 확인할 수 있음
[그림 14] GitHub 검색의 advanced search에서 Issues 옵션을 통한 검색
[그림 15] GitHub advanced search(http://github.com/search/advanced)를 통한 ‘good first issue’ 검색 결과
▷ 커뮤니티 소통 방식 살펴보기
- GitHub 저장소의 Issues 탭과 Pull Requests 탭에서 최근 이슈와 PR을 확인하여 신규 기여자의 질문이나 제안에 코드 리뷰 대화의 분위기가 협력적인 방식으로 이루어지는지를 살펴볼 수 있음
- README, CONTRIBUTING, CODE_OF_CONDUCT 등의 문서를 통해 프로젝트의 참여 방법과 기본적인 행동 규칙을 파악할 수 있음
□ (정리) 첫 오픈소스 기여를 위한 프로젝트 선택 체크리스트
○ 첫 기여를 위한 프로젝트 선택 시 자신의 관심 분야와 역량에 적합한지, 지속적인 활동과 소통이 이루어지고 있는지 등을 종합적으로 고려하는 것이 중요
✔ 평소 사용하는 기술이나 관심 분야와 관련 있는가?
✔ 최근에도 Commit 등 개발 활동이 이루어지고 있는가?
✔ Issue와 PR에 대한 응답 및 리뷰가 진행되고 있는가?
✔ good first issue 또는 help wanted로 표시된 작업이 있는가?
✔ 최근 리뷰나 커뮤니티 대화에서 신규 기여자에게 우호적인 소통이 이루어지고 있는가?
* 다음 호에서는 선택한 프로젝트에 첫 기여를 하기위해 준비해야 할 기본 사항을 살펴볼 예정임
|
※ 참고문헌 Reference · Getting Started with Open Source Development: A Practical Guide for New Contributors, Linux Foundation Research, 2026.9., https://www.linuxfoundation.org/research/getting-started-oss-development · GitHub에서 오픈소스에 기여할 수 있는 방법 찾기, GitHub Docs, · GitHub Trending : https://github.com/trending · GitHub Topics : https://github.com/topics · GitHub Explore : https://github.com/explore · GitHub 검색 : https://github.com/search/ · GitHub, github 저장소 예시 : https://github.com/nodejs/node |