오픈소스 구성원
- 저작자 : 오픈소스 플젝 만든 사람 or 조직
- 사용자 : 오픈소스 플젝 사용하는 사람
- Maintainer 메인테이너 : 프로젝트를 관리하는 책임이 있는 사람
- 방향을 알고, 설정한 저작자 또는 컨트리뷰터 중 한명
- 없어도 돌아가기는 한다. > 컨트리뷰터가 날린 pr 을 관리하는 커미터 존재
- contributor 컨트리뷰터 : 컨트리뷰션 활동을 하는 모든 사람
- Commitor 커미터 : 컨트리뷰션을 리뷰하는 사람. 컨트리뷰터 중 하나
- 프로젝트에 반영할지 말지 결정 권한을 가지고 있는 컨트리뷰터
- 없어도 된다
컨트리뷰터의 유형
코드에 한정되지 않음 > 소스코드 뿐만 아니라 + 테스트, 배포, 가이드(문서화), 기획, 설계, 분석 등등....
리액트 컨트리뷰터 1000명 이상.....~
공식문서에서 가이드를 제공한다.
- 오타 수정
- 번역 + 제안
- 문서 설명 추가
- 배너 문구 수정 제안
- UI/UX 제안
- 버그 픽스 + 제안
- 기능 제안
- 문서작업
- 기능 추가/수정/삭제
- 리팩토링 e > expired
- 버전, 외부모둘 변경 제안
- 에러 메시지 구체화
- 리소스
- 테스트 케이스 추가
활동 이유?
저작자의 입장
- 버그
- 사용하면서 불편했던 점, 개선할 코드
- 등등 혼자서는 절대 찾을 수 없는 사항들을 찾아줄 듯
사용자/컨트리뷰터 입장
- 협업, 성취감
- 코드 분석 > 코드 문해력 성장
- 코드 보는 시선, 관점, 시야를 넓힐 수 있다.
- 내가 원하는 기능을 추가하고, 코드 짜는데도 편리함 > 객관적인 평가를 받아볼 경험
- 전세계 멋진 개발자에게 코드 리뷰를 받을 수 있다.
- 이력서, 포트폴리오 > 개발 문화에 진심이다.
OSS.kr(Open Source Software) 오픈소스 소프트웨어.한국
소스코드는 공개 + 라이선스 = 소프트웨어
* 한국 공공기관 : 공개 소프트웨어
세계 오픈소스 담당 협회 OSI : 오픈소스 인증 마크
한국 저작권협회 OLIS : 라이선스 관련 정보
오픈소스 소프트웨어 통합지원센터 https://www.oss.kr/
과학기술정보통신부 등 공공기관에서 관리한다
열린마당의 문의하기가 활성화되어있다.
오픈소스 해커톤 > 아카데미로 변경됨. 컨트리뷰션 현업자들이 참여하는 멘토링 행사
트렌드에 민감하게 반응하려고 잘 찾아보자!
(협업) 주의사항
- ⭐ 커뮤니케이션 : 자세와 태도, 말투 예의와 무례함을 조심하도록 하기 겸손한 자세👍
- 소스코드 충돌
- contribute 하고 싶은 내용을 이미 구현하고 있지는 않은지, 구현하지 않기로 결정한 건 아닌지 체크 필수!
- 시작하기 전에 내가 작업을 시작할 것을 알리는 것이 좋다(=이슈 오픈, discusion)
- 너무 오래된 open issue > discusion이나 커뮤니티로 직접 질문하기 > stop or 진행됨 or 취소 > 오래된, 작업하지 않은, 정리되지 않은 이슈 정리해라! > 일종의 contribution
- 새롭고, 크고, 중요한 기능을 추가하고 싶을때?
- 이런 기능 추가해보고 싶은데 의견을 먼저 물어보는 이슈 > 구현했는데 방향성이 안맞을 수도 있으니 미리 문의 필수
- 내부적으로 함께 기능 개발할 팀 구하기
- PR 던질때 템플릿 가이드 나 문서를 확인하면서 준수할 내용(테스트 유무, 컨벤션 등) 체크한다
컨트리뷰트 절차
contributing 문서 등에 절차 가이드를 제공하고 있다.
한국어 버전
개요, 역할, 참고, 절차를 설명하고 있음.
- 오픈소스 프로젝트 Fork > 내 레포
- 내 레포 > 내 로컬 pc 로 clone
- 코드 컨벤션, 커밋 메시지 등 코드 구현 전에 체크해야 하는 규칙 확인 및 준수하며 작업
- 코드 구현, 수정 + 주석 수정 + 명명법 등
- 내 레포로 Push
- 오픈소스 레포로 Pull Request
- Contributor License Agreement : 오픈소스에 기여한 사람으로써 라이선스에 동의함? 확인
- 리뷰어, 커미터, 메인테이너, 저작자 등 검토할 사람에게 리뷰 후 머지 (검토 생략하고 바로 머지되는 경우도 있음)
- merge 되었다 PR 닫혔다 등의 깃허브 이메일이 날라온다.
- 오픈소스 깃허브 Contributor 리스트에 내 계정이 추가됨
이때 내 로컬 과 저작자 레포는 연결되어 있지 않다.. > 내계정에서 PR 만 안날라면 무관한 레포나 다름없음
☑️ 배운 점
포트폴리오가 된다..... 실무에서 새 기능을 런칭하는 경우도 있겠지만, 기존 코드를 리팩토링하는 경우가 더 많을 수도 있다. 그럴 경우 컨트리뷰트 경험이 큰 도움이 될 것이라고 생각했다.