dev.toJanessa Tran 님이 작성한 A Beginner’s Guide to Contributing to Open Source 번역 자료입니다. 번역에 문제가 있다면 댓글 달아주시구요. 원문을 보시기를 추천드립니다.

beavers

초보 개발자에게는 오픈 소스 소프트웨어에 기여하는 것이 상당히 어려워 보입니다. 다른 개발자와 프로젝트를 수행 한 적이 없거나 의미있게 기여할 수 있는 기술이 없다고 생각할 수도 있습니다.

작년은 오픈 소스 소프트웨어에 기여한 첫 해 였습니다. 저는 시작하기 전에 이 두 가지를 확실히 느꼈습니다. 우려에도 불구하고 나는 기여를 했고 여러분도 그렇게 할 수 있음을 알려주고 싶었습니다!

오픈 소스에 관심이 있고 비슷한 두려움이 있는 경우 시작하는 방법에 대한 제안을 읽으십시오.

 

⌛ 요약 (TL;DR)

  • 초보자라도 오픈 소스 소프트웨어에 의미있는 기여를 할 수 있습니다!
  • 코드보다 더 많은 기여 방법이 있습니다.
  • 명확하게 분류된 이슈와 행동 강령(Code of Conduct)이 포함된 철저하게 문서화된 프로젝트는 초보자를 환영하는 프로젝트의 좋은 신호입니다.
  • 기여(contributing) 할 때는 코드 기여(code contributions), PR 등에 대한 기대치(expectations)를 이해하기 위해 문서를 완벽하게 읽으십시오.
  • 여러분의 단순한 시도는 훌륭합니다!

독자에 대한 가정 :

이 글은 git과 같은 버전 컨트롤 시스템에 익숙하고 오픈 소스가 무엇인지 이해한다고 가정합니다. 이 두 가지 중 하나 또는 둘 다에 익숙하지 않은 경우 다음과 같은 좋은 자료를 참조하십시오.

 

코드보다 더 많은 기여 방법이 있다는 것을 기억하십시오!

오픈 소스 소프트웨어에 대한 일반적인 오해는 기여를 위해 코드 작성 방법을 알아야한다는 것입니다. 사실이 아닙니다. 이 스터디에 따르면 오픈 소스 프로젝트에는 이슈 추적 및 라벨링, UX 디자인 및 문서화를 포함하여 수많은 작업이 포함됩니다.

코드를 작성하여 기여하는 것이 어려운 경우 프로젝트를 도울 수 있는 다른 방법을 살펴보십시오!

프로젝트를 처음 접하는 것이 자산이 될 수 있다는 점도 주목할 가치가 있습니다. 새로운 시각을 가진 사람은 프로젝트에 익숙한 사람이 알아 채지 못할 수 있는 코드베이스의 버그 또는 문서의 간격을 보다 쉽게 식별 할 수 있습니다.

예를 들어 현재 문서를 사용해서 프로젝트를 로컬로 실행해보고 알려줄 수 있습니다. 문서에서 해결되지 않은 문제가 발생하면 유사한 문제가 발생할 수있는 다른 사람들을 위해 업데이트를 요청 할 수 있습니다.

 

적합한 프로젝트 찾기

자신에게 적합한 오픈 소스 프로젝트를 선택은 많은 것에 의존할 수 있으며 개인의 선택입니다. 다음은 첫 기여자가 적합한 프로젝트로 좁히는 몇 가지 방법입니다.

잘 분류된 이슈와 철저한 문서화가 있는 프로젝트를 찾으십시오

  • 프로젝트 및 설정에 대한 자세한 README
  • 기여의 기대에 관한 리소스 또는 위키 페이지
  • 행동 강령. (A code of conduct.)
  • 분류가 잘된 이슈 (“초보자”또는 “초보자 친화적”으로 분류된 이슈).
  • 질문 하거나 안내 받을 수있는 슬랙 채널 또는 이와 동등한 커뮤니케이션 포럼.

 

언어/기술 스택을 기반으로 결정

특정 언어 또는 프레임워크로 작업하고 이를 활용하는 프로젝트를 찾으려면 CodeTriage와 같은 웹 사이트를 사용하여 선택 항목으로 필터링된 프로젝트를 찾을 수 있습니다.

관심사에 따라 프로젝트를 선택하십시오

또 다른 고려 사항은 관심이나 가치에 따라 당신과 공명하는 프로젝트를 선택하는 것입니다. 아마도 당신은 게임을 즐기고 오픈 소스 게임에 기여하고 싶거나 당신에게 정말 유용하고 감사 표시로 기여하고 싶은 라이브러리를 발견했을 것입니다. 특히 여러분의 기여가 본인의 자유 시간에 이루어질 것이라는 점을 고려할 때 정말 관심있는 프로젝트를 선택하면 그 시간에 더 동기를 부여하고 더 잘 활용할 수 있습니다.

작업할 오픈 소스 프로젝트를 찾기위한 리소스

초보자가 첫 번째 기여 프로젝트를 찾는 데 도움이되는 몇 가지 웹 사이트가 있습니다.

  • https://github.com/MunGell/awesome-for-beginners
  • https://www.firsttimersonly.com/
  • http://up-for-grabs.net/#/
  • https://firstcontributions.github.io/

 

첫 번째 기여

작업 할 프로젝트를 확인한 후 다음 단계는 참여 방법을 결정하는 것입니다.

기여할 방법 확인

앞서 언급했듯이 기여의 한 가지 방법은 프로젝트를 설정하는 동안 발견되지 않거나 잘못된 문서를 업데이트하는 것입니다.

또한 프로젝트의 기존 “issues”목록을 참조하여 열려있는 항목을 선택할 수 있습니다. 문제가 이미 클레임되었다고 해서 문제를 해결할 수 없다는 것을 의미하지는 않습니다.

예를 들어 소유주가 클레임된 이슈에 직면했지만 소유자는 오랫동안 문제를 해결하지 못했습니다. 그들에게 연락하여 문제의 소유권을 인수할 수 있는지 물어볼 수 있습니다.

다른 시나리오에서는 누군가 이미 해결하기 시작한 문제를 발견했지만 관심이 있습니다. 마찬가지로, 그들에게 손을 내밀어 함께 일할 수 있는지 살펴볼 수도 있습니다!

 

Pull Request 제출

코드, 문서 또는 기타 작업을 수행 할 작업을 선택하고 해결 한 후 변경 사항을 검토하도록 Pull Request(PR)를 제출합니다. 그러나 제출하기 전에 확인해야 할 몇 가지 사항이 있습니다:

  • PR 제출 가이드라인 (있는 경우)을 따르십시오.
  • 코드를 제공하는 경우 코드가 기존 테스트를 중단하지 않는지 확인하십시오.
  • 코드를 제공하는 경우 코드를 테스트해야합니다 (필요한 경우/적용 가능한 경우).
  • 브랜치에 병합 충돌(merge conflicts)이 없는지 확인하십시오.

또한 당신이 당신의 기여(your contribution)가 아니라는 것을 기억하는 것은 중요하며 그것을 개선할 방법에 대한 제안은 인간 또는 기여자로서 당신의 값어치 또는 가치(your worth)있음을 반영하지 않는다는 것을 기억해야 합니다!

 

축하합니다!

마지막으로 Pull Request의 승인 및 병합되는지 여부에 관계없이 첫 번째 오픈 소스 기여 시도를 자랑스럽게 생각해야합니다! 🎉

커버 이미지에 대한 말

비버가 공동 생물이라는 것을 알고 있습니까? 그들은 댐과 음식 보관소를 만들기 위해 함께 일합니다! 이 아티클은 오픈 소스에 관한 것이기 때문에이 글에 비버 그림이 적절하다고 생각했습니다. 작품에 대해 Jennifer Tran(@botanical)에게 감사드립니다!