티스토리 뷰
💥 오픈소스 구성원 역할
1) 저작자
: 오픈 소스 프로젝트를 만든 사람/조직
2) 메인테이너
: 프로젝트의 방향을 알고 있거나 직접 설정하고 프로젝트를 관리하는 컨트리뷰터
3) 사용자
: 오픈 소스 프로젝트를 사용하는 사람
4) 컨트리뷰터
: 오픈 소스 프로젝트에 컨트리뷰션(기여) 활동을 하는 모든 사람
5) 커미터
: 리뷰하는 컨트리뷰터로써 프로젝트에 반영할 지 말 지에 대한 결정 권한도 가지고 있는 컨트리뷰터
6) 그 외 다수...
💥 컨트리뷰션 활동 유형
보통 오픈 소스 프로젝트 기여를 했다고 하면 코드에 한정적으로 구현을 하거나 수정을 했다고 생각을 한다.
하지만 '프로젝트 기여' 라는 큰 틀을 담고 있기 때문에 코드에만 한정되는 것이 아닌 프로젝트 결과물이 나오기 까지의 모든 과정에서의 활동을 뜻하게 된다.
보통 '프로젝트' 란 요구사항이 있으면 해당 요구사항을 들어주면서 결과물을 만들어내는 것이라고 생각한다.
즉, 요구사항을 들어주기 위해 하는 모든 행동들이 '기여' 라는 것이다.
그 행동들엔 기획, 설계, 소스 코드 구현, 테스트, 배포, 가이드, 분석, ... 많은 내용들이 포함되어있다.
즉, 컨트리뷰터는 코드뿐만이 아니라 기획, 설계, 배포 등 많은 활동을 할 수 있다.
💥 컨트리뷰터의 유형 살펴보기
캐주얼한 컨트리뷰터의 활동을 알아볼 수 있는 사진이다. 예상했던대로 버그 수정이 1등이긴하다..👍
Bug Fix | 버그 수정 |
Documentation | 문서 작업 |
Add New Feature | 새로운 기능 추가 |
Refactoring | 리팩토링 |
Update Version/Dependencies | 버전/의존성 업데이트 |
Improve Error/Help Messages | 에러/도움말 개선 |
Improve Resource Usage | 리소스 사용량 개선 |
Add Test Cases | 테스트 케이스 추가 |
사진에 나와있는 보통의 활동은 이정도이지만 위에서도 말했듯이 더 많은 활동이 있다.
오타 수정, 번역, 문서 설명, 배너 문구 수정, 디자인 등 모든 활동들이 포함되어있다.
💥 컨트리뷰터 활동 이유
- 오픈 소스 '저작자' 기준
1) 컨트리뷰터들이 버그를 찾아준다.
2) 사용하면서 불편했던 점, 개선할 코드 등 혼자는 찾을 수 없는 사항들을 찾아준다.
- 오픈 소스 '사용자/컨트리뷰터' 기준
1) 오픈 소스 코드 분석(=코드 문해력) 길러진다.
2) 협업하는 방식을 알아갈 수 있고 성취감을 얻을 수 있다.
3) 내가 원하는 기능을 추가할 수 있고, 사용자 입장에서 코드 사용하는 데에도 편리하다.
4) 멋진 개발자분들에게 리뷰를 받을 수 있다!
5) 코드 퀄리티를 높일 수 있고 코드를 보는 시선/관점/시야가 올라간다.
6) 컨트리뷰션을 한 것들을 이력서 및 포트폴리오에도 적을 수 있다.
💥 컨트리뷰터 주의 사항(=협업 주의 사항)
1) 커뮤니케이션
: 본인의 태도, 자세, 말투를 한 번 더 생각하고 겸손하게 행동해야한다.
2) 소스 코드 충돌
: 컨트리뷰트 하고 싶은 내용을 이미 구현하고 있지 않은 지, 구현하지 않기로 결정한 건 아닌 지 확인해보기
: 시작하기 전에 내가 작업을 시작할 것을 미리 알리기(=이슈 오픈, Discussion, ...)
: 작업하고 싶은 내용이 너무 오래된 open 이슈에 있다면 Discussion, 커뮤니티에 문의를 넣기
: 오래된 이슈, 작업하지 않는 이슈, 정리되지 않은 이슈, ... 를 정리하기(일종의 컨트리뷰션)
3) 새롭고 큰 중요한 기능을 추가하고 싶을 때
: 이런 기능 추가해보고 싶은데 어떤 지 Discussion, 이슈에 제안하기
: 내부적으로 팀원 모집하는 것도 추천
4) Pull Request 를 던질 때
: 템플릿(틀) 이나 문서를 확인하면서 준수할 내용(테스트 유무, 컨벤션)을 체크하기
💥 컨트리뷰트 절차
1) 오픈 소스 프로젝트를 Fork 해온다.
2) 내 계정 - Fork 해온 레포지토리를 Clone => 내 로컬로 저장
3) 코드 컨벤션, 커밋 메세지 규칙 등 구현 전에 체크해야 하는 "규칙" 이 있는 지 확인
4) 코드 구현(수정) 하기 / 주석 수정도 가능! => Commit 하기
5) 내 계정 깃허브 레포지토리(Clone 했던)로 Push 하기
6) 깃허브 내 레포지토리 -> 오픈 소스 레포지토리로 Pull Request 던지기!
7) Contributor License Agreement
8) 리뷰어, 커미터, 메인테이너, 저작자 등.. 검토해줄 사람들이 나타나서 검토함!(검토 없이 merge 될 수도 있음)
9) merge 되면 Pull Request closed 알림이 온다
10) 컨트리뷰터 리스트에 내 계정이 추가됨!
'웹 개발 공부하기' 카테고리의 다른 글
[02.17] 오픈소스2 (1) | 2025.02.20 |
---|---|
[02.14] 오픈소스 (0) | 2025.02.19 |
[02.12] 메인 화면 구현하기 + 모바일 대응하기 (0) | 2025.02.18 |
[02.11] 다양한 UI 경험 (3) | 2025.02.17 |
[02.11] 도서 상세 - 리뷰 (2) | 2025.02.17 |