ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Git] 오픈소스 프로젝트에 기여하기
    development/기타 2022. 8. 5. 18:25

    안녕하세요. 요즘 날씨가 무척 덥습니다. 

    오늘은 오픈소스 프로젝트에 기여하는 정말 기초적인 방법에 대해서 포스팅 해보려고 합니다.

    저는 이번이 첫 기여인데요, 항상 하고싶다는 마음은 있었는데 직접 기여하려고 하니까 방법을 잘 모르겠더라구요.

     

    그래서 모든게 정답은 아니겠지만, 조금이나마 도움이 됐으면 하는 마음으로 가볍게 작성해봅니다. 

    저는 이번에 Recoil 라이브러리의 한국어 공식 문서 오타를 수정하는 작업을 하려고 합니다. 

    이번 포스팅은 Github을 기준으로 작성했습니다. 

     

    기여하는 방식은 프로젝트마다 달라요

    가장 우선적으로 오픈소스 프로젝트에 기여하는 방식은 정답이 없습니다.

    각 프로젝트별로 요구하는 방식이 다르기 때문에, 항상 Readme 문서를 정독하는 습관을 들이는 것이 좋습니다.

     

    별 거 아니더라도 용기를 가져요

    사실 저는 이번에 오타를 발견하고 너무나 작은 오타였던지라.. 고민이 됐습니다.

    고작 이런 내용을 수정하고 PR을 요청해도 되는건가.. 너무나 보잘것 없다.... 

    그렇지만 오픈소스 기여 중 많은 비율을 차지하는 것이 바로 문서 수정이라고 합니다. 

    작은 타이포 하나라도 수정해 프로젝트의 질을 높일 수 있다면 그것 또한 좋은 기여니까요, 용기를 가지고 수정해요 우리!!

     

    보통은 이런식이더라구요

    1. 가장 먼저 동일한 내용의 작업이 선행되었는지 확인합니다.

    열심히 수정했는데, 이미 누군가가 똑같은 내용을 수정했다면 속이 쓰릴 것 같습니다.

    그러니 Issue나 PR을 열심히 탐색해서 동일한 수정이 없는지 확인하고 작업을 시작해야 합니다.

     

    2. 기여하고자 하는 프로젝트의 Repo를 Fork 합니다. 

    당연히 Star는 꾹...

    레포 우측 상단의 Fork 버튼을 클릭하여 진행할 수 있습니다.

    당연히 원본 저장소에 바로 수정할 순 없습니다. 그러면 정말 대혼돈이 아닐까요? 

    3. Fork한 Repo에서 브랜치를 파 열심히 수정합니다.

    이 과정을 작업에 따라 알아서 잘 진행해주시면 됩니다. 

    주변 개발자분들에게 여쭤보니 브랜치 이름이나 커밋 규칙에 대한 규약이 정해져 있는 오픈소스는 딱히 없다고 하더라구요.

     

    그런데 이제 아무래도 보기 좋은 떡이 먹기도 좋다는 말이 있잖아요.

    기본적인 커밋과 브랜치 관련 규약을 어느정도 지켜서 올리면 더 깔끔할 것 같습니다.

    물론 필수는 아닙니다 당연히! 

     

    참고할 만한 규약에 대한 상세한 설명은 좋은 글이 있어 달아두기만 하겠습니다.

     

    https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716

     

    Semantic Commit Messages

    Semantic Commit Messages. GitHub Gist: instantly share code, notes, and snippets.

    gist.github.com

    https://gist.github.com/seunggabi/87f8c722d35cd07deb3f649d45a31082

     

    semantic-branch-names.md

    semantic-branch-names.md. GitHub Gist: instantly share code, notes, and snippets.

    gist.github.com

     

    4. 마지막으로, Pull Request를 생성합니다.

    우왓!

    이제 요청한 작업이 메인테이너에게 머지 되기만을 기다리면 됩니다.

    고생하셨습니다!

    참고

    페이스북의 경우엔 오픈소스에 기여하려면 라이센스에 미리 동의하는 과정이 필요하더라구요. (CLA)

     

    모든 오픈소스 기여에 필수인지는 처음이라 잘 모르겠지만, 이러한 과정이 필요한 프로젝트의 경우는 미리 동의하지 않으면 PR이 Merge 되지 않을테니 주의하시면 좋을 것 같아요.

     

    참고 자료

    https://naver.github.io/OpenSourceGuide/book/BetterContribution/why-contribute-to-open-source.html#aftercontribute

     

    - 컨트리뷰션의 유형 · GitBook

    No results matching ""

    naver.github.io

    + 도움을 주신 주변 개발자분들에게 감사합니다..

Designed by Tistory.