지난 시간에는 깃허브에서 오픈 소스를 다루는 방식에 대해 알아보았어요. 이번 시간에는 오픈 소스 생태계의 구성원과 프로젝트에 기여하는 컨트리뷰션(Contribution)의 전반적인 내용을 살펴볼게요.
오픈 소스 프로젝트를 이끌고 참여하는 사람들은 역할에 따라 크게 다섯 가지로 구분할 수 있어요.
PR 을 리뷰하고 프로젝트에 실제 반영할지 결정하는 권한을 가진 컨트리뷰터예요.컨트리뷰터들이 오픈 소스에 기여하는 방식은 매우 다양해요. 단순히 코드를 작성하는 것 외에도 많은 활동이 포함돼요.
이처럼 코드를 직접 수정하지 않고 이슈를 통해 개선 사항을 제안하는 것만으로도 훌륭한 기여 활동으로 인정받을 수 있어요. 리액트 같은 대형 프로젝트들도 공식 문서를 통해 어떻게 기여할 수 있는지 상세한 가이드를 제공하고 있어요.
오픈 소스 기여는 프로젝트 저작자와 참여자 모두에게 긍정적인 영향을 줘요.
저작자 입장에서는 수많은 컨트리뷰터들이 버그를 대신 찾아주고, 다양한 환경과 관점에서 개선 사항을 제안해 주기 때문에 프로젝트의 품질을 크게 높일 수 있어요.
사용자 및 참여자 입장에서는 내가 필요한 기능을 직접 추가해 볼 수 있고, 전 세계의 훌륭한 개발자들로부터 코드 리뷰와 피드백을 받을 수 있어요. 이 과정을 통해 다른 사람의 코드를 분석하는 시야가 넓어지고 본인의 코드 퀄리티도 자연스럽게 향상돼요. 무엇보다 협업 경험과 기여에 대한 성취감을 얻을 수 있다는 것이 가장 큰 장점이에요.
오픈 소스 프로젝트에 기여하기 전에 반드시 확인해야 할 몇 가지 주의 사항이 있어요.
PR 템플릿이 있다면 규격에 맞게 작성해야 해요.일반적으로 깃허브를 통한 컨트리뷰션은 다음과 같은 순서로 진행돼요.
Fork : 원본 오픈 소스 레포지토리를 내 개인 계정으로 복제해요.Clone : 복제된 내 레포지토리를 로컬 컴퓨터로 다운로드해요.Push 와 Pull Request : 로컬에서 작업한 내용을 내 레포지토리로 푸시한 뒤, 원본 프로젝트로 PR 을 생성하여 반영을 요청해요.Contributor License Agreement (CLA): 기여한 코드에 대한 권리 및 라이선스 동의 절차를 진행해요.