
🌟 오픈소스 컨트리뷰션 가이드
👥 오픈소스 구성원의 역할
🎨 저작자 (Author)
오픈소스 프로젝트를 만든 사람 또는 조직
💻 사용자 (User)
오픈소스 프로젝트를 사용하는 사람
🔧 메인테이너 (Maintainer)
프로젝트를 관리하는 사람 (대장은 아니고 책임이 있는 사람!)
- 프로젝트의 방향을 알고 있는 사람
- 직접 방향을 설정한 사람
📝 커미터 (Committer)
컨트리뷰터가 컨트리뷰션을 하면 리뷰를 하는 사람 (이 사람도 컨트리뷰터!)
- 프로젝트에 반영할지 말지 결정 권한을 가진 컨트리뷰터
✨ 컨트리뷰터 (Contributor)
오픈소스 프로젝트에 기여 활동을 하는 모든 사람
🎯 컨트리뷰션 활동의 범위
오픈소스 프로젝트 기여 = 코드 구현, 수정만?
아니요! 프로젝트는 생각보다 광범위합니다.
예를 들어, 네이버라는 대형 프로젝트 안에도
등 수많은 작은 프로젝트들이 존재합니다.
📋 프로젝트의 구성 요소
요구사항이 있고, 그것을 결과물로 보여주는 모든 것이 프로젝트입니다!
- 기획
- 설계
- 분석
- 소스 코드 구현
- 테스트
- 배포
- 가이드 작성 (문서화)
→ 결과물
💡 컨트리뷰션을 하는 이유
📌 오픈소스 저작자 입장
- ✅ 컨트리뷰터들이 버그를 찾아줌
- ✅ 사용하면서 불편했던 점, 개선할 코드 등 혼자는 찾을 수 없는 사항들을 발견
🚀 오픈소스 사용자/컨트리뷰터 입장
- 🌟 멋진 개발자들에게 리뷰를 받을 수 있음
- 🎨 내가 원하는 기능을 직접 추가할 수 있음
- 📚 오픈소스 코드 분석을 통해 코드 문해력 향상
- 🏆 성취감과 협업 경험
- 💎 코드 퀄리티 향상 - 코드를 보는 시선/관점/시야가 넓어짐
- 📝 이력서, 포트폴리오에 큰 도움 - "이 사람 개발 문화에 진심이구나!"
⚠️ Contribution 주의사항
협업 주의사항과 동일합니다!
1️⃣ 커뮤니케이션
- 태도, 자세, 말투에서 예의를 지키기
- "겸손"이 핵심!
2️⃣ 소스 코드 충돌 방지
🔍 작업 시작 전 확인사항
- Contribute하고 싶은 내용을 이미 구현하고 있진 않은지
- 구현하지 않기로 결정한 건 아닌지
- 너무 오래된 open 이슈의 경우 → 디스커션이나 커뮤니티에 문의!
- 💡 오래된 이슈, 작업하지 않는 이슈, 정리되지 않은 이슈를 정리하는 것도 Contribution!
📢 작업 시작 알리기
- 작업을 시작할 것을 미리 알리기 (이슈 오픈, 디스커션)
🆕 새롭고 중요한 기능 추가 시
- 이슈를 먼저 열어서 "나 이런 기능 추가하고 싶은데, 생각 어때?" 물어보기
- 내부적으로 팀원 모집도 추천