오픈소스 기여 후기 (feat.크립토 좀비)

taeheeyoon·2022년 2월 25일
3

Review

목록 보기
3/5
post-thumbnail

지난 2주간 틈틈히 Solidity언어를 배우기 위해 크립토 좀비를 진행했다.

지난 주 좀비 공장 만들기, 좀비가 희생물을 공격하다, 좀비 전투 시스템 과정 완수에 이어서 이번 주는 고급 솔리디티 개념 ,ERC721 & 크립토 수집품 , 앱 프론트엔드 & Web3.js 과정까지 전부 완수했다.

6개의 과정이 전부 한국어로 번역되어 있어서 너무 편하게 Solidity언어를 배울 수 있었고, 배움과 동시에 실제 코드를 입력하면서 이더리움 기반 게임을 만드니까 시간가는 줄 모르고 재밌게 즐길 수 있었다.

그런데 중간 중간 미번역된 부분이나 오타가 약간 있어서 해당 부분을 고치면 좋을 것 같아 이 오픈소스 프로젝트에 기여하기로 했다.

"오타 수정" 으로 컨트리뷰터가 되는게 별 것 아닌 것 처럼 보이겠지만,
코드나 문서를 정말로 열심히 봤기 때문에 오타를 발견한 것입니다.
...(중략)
다른 사람이 오픈소스의 오타수정을 해서 컨트리뷰터가 된 것에 대해 별 것 아닌 듯 보시면 안됩니다.
만약 그런 생각이 드신다면 나는 오픈소스에 얼마나 컨트리뷰트를 해봤는가 돌아보시길 바랍니다.
-지상 최강의 개발자 쥬니니-

프로젝트 Fork 하기

먼저 내가 직접 해당 프로젝트를 수정 후 push할 수 있는 권한이 없기 때문에 내 개인 repository로 fork를 해야된다.

빨간 네모박스안에 있는 fork버튼을 누르면 된다.
그럼 잠시 후 내 개인 repository에 프로젝트가 fork된 것을 확인할 수 있다.

프로젝트 clone하기

내 개인 repository에서 Clone url을 확인 한 다음 해당 프로젝트를 clone해준다.

기여하기

그럼 내 로컬환경에 해당 프로젝트가 clone되고 내가 기여할 부분을 찾아 기여하면 된다.
나는 레슨 중 미번역된 부분 및 오탈자 수정이 눈에 띄여서 해당 부분 수정이 목적이였기 때문에 해당 부분을 찾아 수정를 했다.

해당 부분 외에도 총 4개의 commit을 발행해 PR요청을 했다.
프로젝트마다 commit message convention이 다를 수 있기 때문에 먼저 프로젝트 Docs나 기여 관련 문서를 읽어보고 commit을 하는 게 좋다.
대부분 commit message에 이슈 번호(issue number)를 다는게 관례이기 때문에 commit전에 issue를 먼저 발행해준다.

프로젝트 Issue 발행

이슈(Issue) 발행을 하는 이유는 프로젝트를 진행하면서 발생하는 다양한 이벤트를 위해 사용한다. 발견된 버그나 추가할 기능, 개발해야될 새로운 이슈나 설계사항등을 이슈로 만들어서 동료와 협업을 진행 할 수 있다.
여기서는 Issue를 발행하고 내가 직접 수정을해서 PR을 보낼 수도 있지만 그냥 요청만 할 수도 있다.

이런 식으로 Issue를 발행하면 자동으로 제목 옆에 이슈 번호(issue number)가 붙는다.

commit 하기

이 프로젝트에서는 아래와 같은 형식을 주로 따르고 있어서 이와 같이 커밋을 했다.

//commit type : description (issue number) 

Fix Translated in lesson 6 chapter 7 (#637)

fork한 repository에 수정 사항을 commit해주자.
주의 할 점은 새로운 브랜치를 생성하고 commit을 해야한다.

Pull Request(PR) 요청하기

이슈 발행도 하고 커밋도 완료 했으면 남은 것 메인 브랜치로 병합을 요청하는 것이다.

아래와 같이 Pull Request(PR)을 요청하면 해당 프로젝트의 Maintainer가 확인 후 메인 브랜치로 Merge 승인을 해준다.

만약 Merge가 안됐다면 해당 프로젝트에 기여하고 있는 사람들이 review를 달아주거나 그 이유를 설명해주는 것이 일반적이기 때문에 수정 후 다시 pr요청을 시도해볼 수도 있다.

완료

Maintainer가 확인 후 Merge 승인을 했다면 개인 repository로 fork한 프로젝트가 아닌 해당 오픈소스에 내가 직접 수정한 부분이 반영됐음을 의미한다.
해당 오픈소스 프로젝트의 master 브랜치에서 나의 이름을 찾아 볼 수 있다.

크립토 좀비 오픈소스에 기여가 완료되었다.
Star 855개 프로젝트의 198명 기여자 중 한 명이 됐다는 것에 가슴이 웅장해졌다.
앞으로도 오픈소스 프로젝트들에 번역뿐만 아니라 코드 리팩토링등을 통해 기여를 많이 할 수 있었으면 좋겠다.
이 글을 읽는 분들도 사소한 것이라도 오픈소스 생태계에 기여하는 경험을 해봤으면 좋겠다.
나의 사소한 행동으로 누군가에게는 큰 도움이 될 수 있을 것이라고 생각한다.

profile
생각하는 대로 살지 않으면, 사는 대로 생각하게 된다.

0개의 댓글