[weekly] [nb] 버전 관리 및 협업하기(2)
toss 오픈 소스 프로젝트 중에서 하나를 골라 어떻게 git과 Github을 통해 협업이 이루어지는지 설명해 주세요.
es-hangul
레포지토리 주소 : https://github.com/toss/es-hangul
선정 이유
다른 프로젝트는 개인 하나의 개발자가 issues 올리고 PR 까지 가는 경우가 많았다.
그런데 es-hangul 은 사용자의 요청/제보 가 PR 까지 이루어지는 경우가 많아서 흐름을 파악하기가 좋았따.
issues
목록
es-hangul 프로젝트가 특히 좋은 점은 issues 가 한글로 작성되어 있다.
다른 프로젝트는 영어로 작성된 경우가 많은데, 역시 한글 라이브러리 프로젝트라서 그런가.
의외로 es-hangul 은 github에 올라간 issues는 그렇게 많지 않다.
toss 내부적으로 사용되면서 어느정도 issues들이 처리된 라이브러리라서 그런 걸 수도 있고, 기존 베이스가 되는 Hnagul.js 가 워낙 완성도가 높은 상태여서 일 수도 있다.
이슈 작성
아무튼 이 issues 에 요청 / 제보 를 적으면 된다.
담당자가 확인
그러면 담당자가 확인 후 '아, 이건 bug 구나 혹은 요청이구나' 같은 것을 확인하고 태그를 다는 등 작업을 진행한다.
그리고 확인이 되었다는 댓글을 달아서 확인했다는 것을 알려준다.
조치
조치하고 나서 올리는 pull request 에 해당 issues 번호와 함께 변동사항을 기입한다.
어떠한 issue 가 있었고, 이것을 해결하기 위해서 어떠한 방법을 썼고, 혹은 지금 당장 조치할 수 없는 이유 같은 것을 적는다.
issue 는 항상 동기적으로 처리될 필요는 없다!
위의 사례 처럼, 이유가 있는 경우엔 issue 는 다른 issue 보다 나중에 해결되어도 된다.
중요도가 상대적으로 덜 할 수도 있고,
치명적인 오류나 굳이 들어갈 필요 없는 기능일 수도 있고,
수정되거나 추가되면 좋지만 시간이 부족할 수도 있다.
중요한 것은 PR 에 충분히 설명하는 것이다.