분류 기타

오픈 소스 프로젝트에 기여하는 방법 – 초보자 가이드

컨텐츠 정보

  • 조회 563 (작성일 )

본문

개발자라면 "오픈 소스"라는 용어를 접했을 것입니다. 그것이 무엇인지, 어떻게 기여할 수 있는지 궁금해 한 적이 있다면 정확히 올바른 위치에 있습니다.


저는 Hacktoberfest 2020 동안 어떻게 그리고 무엇에 기여해야 할 지에 대한 모든 두려움을 제쳐두고 오픈 소스 세계에 처음으로 기여했습니다. 처음 이니까 초보자 친화적인 프로젝트로 시작해서 천천히 더 발전했습니다.


이제 새로운 개발자라면 오픈 소스가 정확히 무엇인지 궁금 할 것입니다. 어떻게 시작할 수 있습니까? 무엇을 기대해야 합니까? 이 기사에서는 이 모든 것을 다룰 것입니다.


오픈 소스란 무엇입니까? 


오픈 소스는 허용 라이선스에 따라 일반인이 보고, 사용하고, 수정하고, 배포 할 수 있는 소스 코드를 의미합니다.


개인이든, 기업이든, 소규모 기업이든, 비영리 기관이든, 정부 기관이든 상관없이 회사 또는 개인에게 코드를 공개하는 것이 가장 큰 이익입니다.


오픈 소스 프로젝트에 기여하는 것은 경험을 배우고, 가르치고, 공유하고, 구축하는 보람 있는 방법이 될 수 있습니다. 오픈 소스 프로젝트에 기여 해야 하는 이유는 다음과 같습니다.


  • 매일 의존하는 소프트웨어를 개선하려면
  • 필요한 경우 멘토를 찾으려면
  • 새로운 기술을 배우려면
  • 기술을 공유하려면
  • 사용 중인 소프트웨어에 대한 더 깊은 지식을 얻으려면
  • 명성을 쌓고 경력 성장을 돕기 위해
  • 또한 재미 있고 개인적인 만족도를 제공합니다.

오픈 소스 프로젝트에 기여하려는 동기는 무엇입니까? 이 게시물에 회신하거나 larymak1을 통해 알려주십시오.


오픈 소스에 기여하는 방법 


오픈 소스 프로젝트에 기여한다고 해서 반드시 코드베이스에 기여해야 하는 것은 아닙니다. 다음과 같은 다양한 방법으로 오픈 소스에 기여할 수 있습니다.

  • 프로젝트 문서에 설명을 추가하여 특정 지점을 자세히 설명 할 수 있습니다.
  • 특정 프로젝트에 대한 지침을 제공 할 수 있습니다.
  • 프로젝트에 대한 튜토리얼을 작성할 수 있습니다.
  • 프로젝트에 대한 번역을 추가 할 수 있습니다.
  • 프로젝트에 대한 질문에 답할 수 있습니다 (예 : Stack Overflow 또는 Reddit).
  • 다른 기여자에게 멘토를 제공 할 수 있습니다.
  • 오타를 수정하고 프로젝트의 작업 폴더를 올바르게 정렬 할 수 있습니다.

이러한 모든 방법과 더 많은 방법이 오픈 소스 프로젝트에 기여하는 데 중요합니다.


오픈 소스 프로젝트에 참여하기 전에 알아야 할 사항 


모든 오픈 소스 커뮤니티는 다릅니다. 각 커뮤니티에는 다른 역할과 보상이 제공되는 다른 사람들이 있습니다. 그들은 또한 기여에 대한 자체 규칙과 기대치를 가지고 있습니다.


일반적인 오픈 소스 프로젝트에는 다음과 같은 사람들이 있습니다. 


  • 작성자-프로젝트를 만든 사람입니다. 그들은 프로젝트의 유지 관리를 돕기 위해 다른 구성원에게 새로운 역할을 할당 할 수 있는 권한이 있습니다.
  • 소유자-소유자는 프로젝트의 관리 소유권을 가지고 있으며 작성자와 동일한 사람 일 수 있습니다.
  • 관리자-이 사람들은 프로젝트의 비전과 목표를 추진할 책임이 있습니다. 그들은 일반적으로 프로젝트의 방향에 대해 책임감을 느끼고 개선에 전념하는 사람들입니다.
  • 기여자-기여자는 어떤 방식으로든 프로젝트에 추가합니다. 그들은 동일한 코드 검토 프로세스를 따르고 코드 스타일에 대한 동일한 요구 사항이 적용됩니다.
  • 커뮤니티 구성원/사용자-커뮤니티의 이 소중한 구성원은 기능, 버그 보고서 등에 대한 피드백을 제공 할 수 있습니다.

모든 오픈 소스 프로젝트가 가져야 하는 중요한 요소 


모든 오픈 소스 프로젝트에는 다음 지침과 정보가 있어야 합니다.


  • 라이선스-프로젝트에 오픈 소스 라이선스가 없는 경우 오픈 소스가 아닙니다. 이 라이선스는 기여자와 사용자를 보호하는 데 도움이 됩니다. 기업과 정통한 개발자는 일반적으로 이러한 보호 없이 프로젝트를 건드리지 않습니다. 구하는 방법이 궁금하다면 여기를 클릭하여 자세한 내용을 확인하십시오.
  • README-이것은 프로젝트를 시작하는 방법을 설명하는 매뉴얼입니다. 좋은 README는 잠재적 인 기여자가 프로젝트에 대해 알고 싶어하는 다른 모든 것을 포함해야 합니다. 여기에서 좋은 README 파일을 작성하는 방법에 대해 자세히 읽을 수 있습니다.
  • 기여 방법-이 지침은 사람들이 기여하고 어떤 유형의 기여자가 필요한지 보여줄 수 있도록 도와줍니다 (이 파일은 필수 항목이 아님)
  • CODE_OF_CONDUCT-행동 강령은 기여자와 참가자의 행동 방식에 대한 기대치를 설정하는 문서입니다. 행동 강령을 채택하고 시행하면 지역 사회에 긍정적 인 환경을 조성하는 데 도움이 될 수 있습니다.

오픈 소스 프로젝트를 만들려면 사람들이 도전 과제를 공유하고 심도 있는 토론을 할 수 있는 환경을 만들고 싶을 것입니다. 이는 다음 도구를 통해 가능합니다.

  • 이슈 트래커-사람들이 프로젝트와 관련된 이슈를 논의하는 곳입니다.
  • Pull Requests-사람들이 진행 중인 변경 사항을 검토하는 곳입니다.
  • 동기식 채팅 채널-특히 사람들이 자신의 아이디어를 공유하고 대화를 나누기 위한 것입니다 (예 : Slack, Discord 등).

기여할 프로젝트를 찾는 방법 


이제 오픈 소스 프로젝트의 작동 방식을 알았으므로 기여할 프로젝트를 찾을 때입니다.


기여는 모든 수준에서 작동합니다. 어떻게 할 것인지 지나치게 생각하지 마십시오. 대신 이미 사용하고 있는 일부 프로젝트와 프로젝트를 변경하거나 개선 할 수 있는 방법을 생각하십시오.


연구에 따르면 캐주얼 기여의 약 30 %는 문서, 오타 수정 또는 번역입니다. 


여러분이 처음으로 기여한 사람이라면 – 모두가 언젠 가는 – 오픈 소스 세계에서 시작할 수 있는 몇 가지 링크가 있습니다.

오픈 소스 소프트웨어의 세계에서 문제는 매우 빠르게 보고 되고 수정됩니다. 따라서 문제를 해결하려면 즉시 문제를 해결해야 합니다.


오픈 소스 프로젝트를 선택하는 방법 


돕고 싶은 프로젝트를 찾은 후 다음 기준을 충족하는지 확인하여 좋은 후보인지 확인하십시오.


먼저 다음 사항을 확인해야 합니다.


  • 라이센스 파일이 있습니까?
  • 최근 커밋은 언제 완료 되었습니까? 최근인가요? (즉, 프로젝트가 적극적으로 유지 / 작업 되고 있습니까?)
  • 얼마나 많은 기여가 있습니까?
  • 사람들은 얼마나 자주 커밋을 합니까?

최근 활동을 많이 본다면 좋은 것입니다. 이는 활동을 유지하는 커뮤니티가 있다는 의미입니다.


이제 다음을 확인해야 합니다.

  • 미해결 문제가 몇 개 있습니까?
  • 관리자가 응답하는 데 얼마나 걸립니까? 그들은 신속합니까?
  • 문제에 대한 활발한 토론이 있습니까?
  • 문제가 정기적으로 종결되고 있습니까?
  • 오픈 풀 리퀘스트가 몇 개 있습니까?
  • 최근 풀 리퀘스트는 얼마나 최근에 병합 되었습니까? 최근에?
  • 풀 리퀘스트가 먼저 검토됩니까? (그럴 것입니다.)
  • 관리자가 기여한 사람들에게 감사합니까?

위의 모든 조건이 귀하의 요구를 충족한다면 그것을 위해 가서 해당 프로젝트에 기여하기 시작하십시오.


오픈 소스로 가기 전에 고려해야 할 사항 


좋습니다. 첫 번째 OS 프로젝트에 기여하기를 기다릴 수 없습니다. 작업 할 항목을 선택하는 데 도움이 될 수 있는 몇 가지 팁을 살펴 보겠습니다.


프로젝트에서 사용하는 프로그래밍 언어는 무엇입니까? 


모든 응용 프로그램의 가장 기본적인 기술은 사용하는 프로그래밍 언어입니다. GitHub에서 가장 많이 사용되는 언어는 JavaScript, Python, Java, Ruby 및 PHP입니다.하지만 더 많은 언어가 있습니다.


귀하의 기술과 관심에 맞는 다양한 프로젝트가 있습니다. 그러니 편안하게 작업 할 수 있는 것을 찾으십시오.


프로젝트 유형 


작업 할 언어를 선택한 후 선호하는 프로젝트 유형을 선택해야 합니다. 주변을 둘러보고 관심 있는 주제에 대한 프로젝트를 선택하십시오.


프로젝트를 찾으면 실제로 기여하고 싶을 것입니다. 그리고 풀 리퀘스트를 제출하면 됩니다. 이제 그것에 대해 이야기합시다.


풀 요청을 제출하는 방법 


이 단계에 있다면 프로젝트를 찾은 것입니다. 이제 실제로 풀 요청을 제출하는 방법에 대해 이야기 해 보겠습니다.


첫째, 풀 리퀘스트 란 무엇입니까? GitHub에서 업데이트를 요청하는 방법이며 다른 브랜치에 병합하기 전에 다른 사람이 코드를 확인하도록 하는 방법입니다.


PR 제출 단계 


  • 저장소 포크


오른쪽 상단에 "포크"라는 용어가 표시됩니다. 클릭하기 만하면 계정에 동일한 프로젝트의 사본이 생성됩니다. URL은 다음과 같이 변경됩니다.


https://github.com/<YourUserName>/projectname
  • 로컬 컴퓨터에 복제

컴퓨터에 Git이 설치되어있는 경우 CMD를 열고 이 명령을 실행합니다. 아직 Git이 없는 경우 여기에서 Git을 시작하는 방법을 참조하십시오. 그런 다음 아래 단계를 진행하십시오.

git clone https://github.com/<YourUserName>/<projectname>

이렇게 하면 로컬 컴퓨터에 프로젝트 사본이 생성됩니다. 이제 저장소를 복제 했으므로 두 가지 작업을 수행해야 합니다.


먼저 브랜치를 생성해야 합니다. 컴퓨터의 저장소 디렉토리로 변경하십시오 (아직 없는 경우) : 다음과 같이 할 수 있습니다.

cd project folder name

이제 git checkout 명령을 사용하여 브랜치를 만듭니다.

git checkout -b your-new-branch-name

예를 들면 :


git checkout -b lary-mak-blog

다음으로 필요한 사항을 변경하고 해당 변경 사항을 커밋해야 합니다. 변경하고 새 파일을 추가 한 후에는 해당 변경 사항을 생성 한 분기에 추가해야 합니다.


모든 변경 사항을 보려면 git status 명령을 실행하십시오.

git status

최근에 변경 한 사항이 모두 표시됩니다. 이제 추가하려면 git add * 명령을 사용하십시오.

git add *

이제 git commit 명령을 사용하여 변경 사항을 커밋합니다.

git commit -m "<initial commit> "
  • GitHub에 변경 사항 푸시

`git push 명령을 사용하여 쉽게 수행 할 수 있습니다.

git push origin <add-your-branch-name>

<add-your-branch-name>을 이전에 생성 한 브랜치의 이름으로 바꿉니다.



  • 검토를 위해 변경 사항 제출


GitHub의 저장소로 이동하여 페이지를 새로 고치면 비교 및 ​​가져 오기 요청 버튼이 표시됩니다. 그 버튼을 클릭하십시오.


곧 관리자는 모든 변경 사항을이 프로젝트의 마스터 브랜치에 병합 할 것입니다 (변경 사항이 필요하지 않은 경우). 변경 사항이 병합되면 알림 이메일을 받게 됩니다.


다른 repo에 대한 pull 요청은 "push"와 유사합니다. 그러나 다음과 같은 몇 가지 사항이 허용됩니다.


첫째, 리포지토리를 변경하기 위해 관리 권한 없이도 다른 리포지토리에 기여할 수 있습니다.


둘째, 다른 사용자가 변경 사항을 검토하고 수정, 추가, 편집 등을 제안 할 수 있습니다.


셋째, 리포지토리 관리자가 프로젝트 리포지토리에 추가되는 항목을 제어 할 수 있습니다.


첫 번째 풀 요청 후 다음은 무엇입니까? 


축하합니다! 기여자로서 자주 접하게 될 표준 포크-> 복제-> 편집-> 풀 요청 워크 플로우를 방금 완료했습니다!


이제 프로젝트를 찾고 더 많은 기여를 하십시오. 그리고 디지털 오션이 주최하는 오픈 소스의 달을 조심해서 Hacktoberfest에 참여하고 멋진 물건을 얻을 수 있는 기회를 얻으세요.


오픈 소스에 대한 기여의 이점 


이제 OS에 기여할 수 있는 방법을 확인 했으므로 기여하면 어떤 이점이 있습니까?


  • 오픈 소스 프로젝트에 기여하는 사람들은 단순히 기술을 사용하는 것보다 훨씬 더 깊은 수준에서 기술을 알게 됩니다.
  • 실제 세계에서 작동하는 것과 작동하지 않는 것에 대한 경험을 바탕으로 비즈니스에 도움이 되는 기능을 추가하고 활용하는 데 집중할 수 있습니다.
  • 그것은 당신의 사기와 평판을 구축합니다. 오픈 소스 프로젝트에 기여하는 사람들은 다른 커뮤니티 구성원의 통찰력과 경험에 액세스 할 수 있습니다.
  • 오픈 소스에 기여하면 프로젝트의 미래에 대한 명확한 시각을 제공합니다.
  • GitHub를 사용하는 경우 해당 플랫폼에서 수행하는 작업의 상당 부분이 공개됩니다. 기여하고 동료 기여자들과 소통 할 때 항상 최선을 다하여 이를 활용하십시오. 누가 찾고 있는지 절대 알지 못합니다. 다음 고용주가 있을 수 있습니다 ?


오픈 소스에 기여해야 하는 이유 


개발자로서 오픈 소스에 기여해야 한다고 생각하는 이유입니다.

  • 더 깔끔한 코드 작성을 도와줍니다.
  • 커뮤니티와 동료들이 귀하를 알 수 있도록 도와줍니다. 이러한 인정은 경력에서 많은 기회를 제공 할 수 있습니다.
  • 프로젝트에 대해 더 많이 배우는 데 도움이 됩니다.
  • 코딩 기술을 향상 시킵니다.

https://www.freecodecamp.org/news/how-to-contribute-to-open-source-projects-beginners-guide/