YOLO Vision 2025를 놓치지 마세요!
2025년 9월 25일
10:00 — 18:00 BST
하이브리드 이벤트
Yolo Vision 2024

Ultralytics 오픈 소스 프로젝트에 기여를 시작하는 팁

Abirami Vina

4분 소요

2024년 8월 28일

Ultralytics 오픈 소스 프로젝트에 기여하는 방법과 문서화, PR 검토 및 필수 도구 사용과 관련된 최상의 팁을 알아보세요.

오픈 소스 소프트웨어의 기본은 협업, 학습 및 공유입니다. 오픈 소스 프로젝트는 사람들이 함께 모여 자신보다 더 큰 것을 구축할 수 있는 좋은 방법입니다. Ultralytics에서는 오픈 소스 원칙을 소중히 여기며 항상 오픈 소스 프로젝트에 기여하도록 권장합니다. 

문서 작성, 코드 검토 또는 문제 해결 등 기여에 대한 의욕은 있지만 어디서부터 시작해야 할지 모르거나 몇 가지 문제에 직면한 경우 시작하는 데 도움을 드리겠습니다. 이 기사에서는 Ultralytics 오픈 소스 프로젝트에 기여를 시작하는 몇 가지 팁을 안내합니다. 바로 시작해 보겠습니다!

Ultralytics 커뮤니티 기여의 중요성

기여 방법에 대해 살펴보기 전에 기여가 왜 그렇게 중요한지에 대한 질문에 답해 보겠습니다. 우리는 Ultralytics 커뮤니티의 기여의 중요성을 굳게 믿습니다. 오픈 소스 프로젝트에 참여함으로써 단순히 더 나은 소프트웨어를 구축하는 데 도움을 주는 것 이상을 하고 있습니다. 기여자는 우리 기술이 개방적이고 협력적이며 끊임없이 진화하는지 확인하는 데 중요한 역할을 합니다. 귀하의 기여는 우리 프로젝트를 번성하고 접근 가능하며 전 세계 사용자 및 개발자에게 유익하게 유지합니다!

최첨단 소프트웨어를 만드는 것 외에도 Ultralytics 프로젝트에 기여하는 것은 여러분이 성장할 수 있는 환상적인 기회이기도 합니다. 숙련된 개발자들과 함께 코딩, 문제 해결 및 팀워크 기술을 개발하고 지침을 제공하고 모범 사례를 공유할 수 있습니다. 여러분의 노력은 전 세계 수천 명의 사람들이 사용하는 도구에 실질적인 영향을 미칠 수 있습니다. 우리 커뮤니티에 참여하면 전문 네트워크를 확장하고, 새로운 기회를 열고, 고용주에게 눈에 띄도록 포트폴리오를 향상시키는 데 도움이 될 수 있습니다.

Fig 1. 기여해야 하는 이유. 이미지 출처: 작성자.

Ultralytics 오픈 소스 기여를 시작하는 방법

시작하기 좋은 곳은 공식 Ultralytics 기여 가이드를 확인하는 것입니다. 기여를 최대한 활용하는 데 도움이 되는 모범 사례와 팁이 가득합니다. 첫 번째 단계는 기여 지침을 이해하고 코드를 자세히 살펴봄으로써 프로젝트의 일부인 내용을 숙지하는 것입니다. 

개발에 기여하고 싶거나 최신 코드를 탐색하고 싶다면 다음 단계는 Ultralytics 저장소를 복제하는 것입니다. 완료되면 프로젝트 디렉토리로 이동하여 아래 코드 스니펫에 표시된 대로 편집 가능한 모드로 패키지를 설치할 수 있습니다.

도움이 필요하시면 빠른 시작 가이드에 원활하게 시작하는 데 필요한 모든 정보가 있습니다.

기여할 수 있는 다양한 분야

환경을 설정하고 프로젝트에 익숙해지면 의미 있는 영향을 줄 수 있는 다양한 영역을 탐색할 수 있습니다. Ultralytics는 다양한 참여 방법을 제공하며, 여러분의 기술과 관심사에 따라 기여 방법을 선택할 수 있습니다. 

다음은 몇 가지 옵션에 대한 소개입니다.

  • 문서: 문서에 기여하는 것은 글쓰기 능력을 연마하면서 프로젝트에 뛰어들 수 있는 좋은 방법입니다. 기존 문서를 개선하거나 누락된 세부 정보를 추가하거나 다른 사람들이 더 쉽게 기여할 수 있도록 새로운 가이드를 만들어 도움을 줄 수 있습니다.
  • 버그 수정: 코딩 경험이 있다면 버그 수정 작업을 고려해 보세요. 이는 사소한 조정부터 더 복잡한 문제까지 다양하며, 프로젝트에 실질적인 영향을 미칠 수 있는 기회를 제공합니다.
  • 기능 개선: 더 깊이 파고들 준비가 된 사람들에게 기능 개선 작업은 어렵고 보람 있을 수 있습니다. 여기에는 새로운 기능 추가, 기존 기능 개선 또는 프로젝트 로드맵 작업이 포함될 수 있습니다.
  • Pull Request 검토: Pull Request를 검토하는 것은 특히 프로젝트의 표준 및 모범 사례에 익숙한 경우 기여할 수 있는 또 다른 가치 있는 방법입니다. 피드백을 제공하고 개선 사항을 제안함으로써 코드베이스의 품질과 무결성을 유지하는 데 도움이 됩니다.
  • 커뮤니티 토론: 커뮤니티 토론에 참여하는 것은 협업과 아이디어 공유를 즐기는 경우 기여할 수 있는 훌륭한 방법입니다. 진행 중인 대화에 참여하고, 새로운 아이디어를 제안하거나, 통찰력과 솔루션을 제공하여 다른 사람들을 도우십시오.

이러한 각 영역은 고유한 기여 방법을 제공하며 자신의 강점과 관심사에 가장 적합한 영역을 선택할 수 있습니다. 아무리 작더라도 모든 기여는 Ultralytics가 성장하고 발전하는 데 중요한 역할을 한다는 점을 기억하십시오.

그림 2. 성장하는 커뮤니티에서 모든 기여는 소중합니다. 이미지 출처: Envato Elements.

Ultralytics 오픈 소스 문서에 기여하기

Ultralytics 문서에 기여할 때는 기존 문서를 검토하고 개선이 필요한 영역을 강조하는 문제나 토론이 있는지 확인하십시오. 이렇게 하면 기여가 가장 필요한 곳에 집중될 수 있습니다. 

작성하거나 편집할 때 일관성을 유지하기 위해 프로젝트 지침을 따르는 것이 중요하다는 점을 명심하십시오. 다음은 몇 가지 서식 지정 팁입니다.

  • 항상 마크다운 서식을 사용하세요.
  • 각 문서를 명확한 소개로 시작하고, 언어를 간단하고 이해하기 쉽게 유지하세요.
  • 목록에는 글머리 기호를 사용하고, 링크에는 설명 텍스트를 사용하고, 페이지 로드 속도를 높이려면 1MB 미만의 이미지를 사용하세요.
  • 서식에 대한 질문이 있는 경우 이전 문서의 서식 형식을 확인하여 서식을 쉽게 다시 확인할 수 있습니다.
Fig 3. 마크다운 서식의 예시 (왼쪽) 및 최종 시각화된 문서 (오른쪽). 이미지 출처: 작성자.

초안을 작성했으면 문서를 로컬로 빌드하여 미리 보는 것이 중요합니다. 제출하기 전에 문제를 발견할 수 있습니다. 이렇게 하려면 먼저 리포지토리를 복제하고 프로젝트 디렉터리로 이동합니다.

다음으로, 필요한 종속성을 설치할 수 있습니다.

마지막으로, 변경 사항을 검토하기 위해 문서를 로컬에서 제공합니다.

웹 브라우저에서 `http://127.0.0.1:8000/`으로 이동하여 로컬에서 빌드한 문서를 볼 수 있습니다. 

명확성, 정확성 및 일관성을 검토한 후 작성한 문서에 대한 명확한 설명을 담아 풀 리퀘스트를 제출할 수 있습니다. 문서가 속하고 가장 적합한 위치(가이드, 솔루션, 통합 등)에 따라 해당 섹션에 문서를 배치해야 합니다. 또한 관련 섹션의 index.md 파일과 전체 mkdocs.yml 파일을 살펴보고 필요한 업데이트를 수행하십시오. 세부 사항에 주의를 기울이면 검토 프로세스가 원활하게 진행되고 기여가 프로젝트에 잘 통합되도록 할 수 있습니다.

오픈 소스 코드에 기여할 때 명심해야 할 사항

Ultralytics 프로젝트에 코드 기여를 할 때는 코드가 깔끔하고 유지 관리하기 쉬우며 통합하기 쉽도록 보장하는 데 도움이 되는 모범 사례를 따르는 것이 중요합니다. 다음은 명심해야 할 몇 가지 핵심 사항입니다.

  • 코드 중복 방지: 가능한 한 기존 코드를 재사용하고 불필요한 인수를 최소화합니다.
  • 더 작고 집중적인 변경을 수행하십시오: 큰 수정보다는 더 작고 대상이 명확한 변경에 집중하십시오.
  • 코드 단순화 또는 제거: 코드를 단순화하거나 불필요한 부분을 제거할 기회를 찾으십시오.
  • 효과적인 docstring 작성: 코드의 기능을 명확하게 설명하고 관련 리소스에 연결합니다.
  • 불필요한 종속성 방지: 종속성이 절대적으로 필요한 경우에만 추가하십시오.
Fig 4. 소스 코드 문서화 모범 사례.

코드베이스의 장기적인 유지 관리 가능성을 고려하는 것도 중요합니다. 변경하기 전에 Ultralytics를 사용하여 기존 코드를 사용하는 다른 사람의 코드를 수정 사항이 손상시킬 수 있는지 자문해 보십시오. 그렇다면 이 문제를 해결하는 방법을 고려하고 변경 사항이 최대한 호환되도록 하십시오.

기여할 코드 조각을 개발했으면 테스트해야 합니다. pytest와 같은 프레임워크를 사용하여 제출하기 전에 변경 사항을 테스트할 수 있습니다. 일관된 코드 포맷팅은 매우 중요한 기여의 또 다른 측면입니다. Ruff Formatter와 같은 도구는 스타일 일관성을 유지하고 코드에서 논리적 버그나 불일치를 감지하는 데 도움이 될 수 있습니다. 

풀 리퀘스트 검토

풀 리퀘스트(PR)를 검토하는 것은 훌륭한 기여 방법입니다! PR은 누군가가 자신의 변경 사항을 메인 프로젝트에 병합하도록 요청할 때 발생합니다. 이는 Ultralytics 프로젝트가 원활하게 실행되도록 돕습니다. PR을 검토할 때는 변경 사항이 적용된 이유를 이해해야 합니다. 작성자는 업데이트의 목적과 이점을 명확하게 설명해야 하며, PR에서 철저한 테스트 증거를 확인할 수 있어야 합니다. 

Fig 5. 풀 리퀘스트란 무엇입니까?

집중해야 할 몇 가지 핵심 사항을 살펴보겠습니다.

  • 단위 테스트 확인: PR에 새 기능이나 변경 사항에 대한 테스트가 포함되어 코드가 예상대로 작동하는지, 문제가 발생하지 않는지 확인합니다.
  • 문서 업데이트 검토: 예제, API 참조 및 기타 관련 세부 정보를 포함하여 변경 사항 또는 새로운 기능을 반영하도록 문서가 업데이트되었는지 확인합니다.
  • 성능 영향 평가: 변경 사항이 성능에 미치는 영향을 고려하십시오. 필요한 경우 성능 벤치마크 또는 추가 테스트를 요청하십시오.
  • CI 테스트 확인: 코드 포맷팅 및 단위 테스트 결과에 대한 검사를 포함하여 모든 지속적 통합(CI) 테스트가 통과되었는지 확인합니다.
  • 수정 사항 협업: 테스트에 실패할 경우, PR을 승인하기 전에 작성자와 협력하여 문제를 해결하십시오.

검토자로서 문제나 우려 사항에 대해 구체적이고 명확한 피드백을 제공해야 합니다. 개선을 위한 제안을 제공하고 저자가 잠재적인 문제를 생각하는 데 도움이 되는 질문을 하십시오. 코딩, 테스트 및 문서화에 대한 모범 사례를 따르도록 권장하고 도움이 될 수 있는 리소스를 주저하지 말고 알려주십시오. 마지막으로 저자가 PR에 들인 노력을 항상 인정하십시오. 긍정적인 피드백은 오픈 소스 커뮤니티에서 우호적이고 협력적인 분위기를 유지하는 데 도움이 됩니다.

기여는 커뮤니티에 관한 모든 것입니다.

Ultralytics와 같은 오픈 소스 프로젝트에 기여하면 커뮤니티에 대한 영감을 주는 감각을 얻을 수 있습니다. 코드를 작성하든, PR을 검토하든, 문서를 업데이트하든, 토론에 참여하든 모든 노력은 프로젝트가 성장하고 발전하는 데 도움이 됩니다. GitHub, Discord, Subreddit 또는 기타 포럼에서 문제를 해결하거나 대화에 참여하는 것은 기여하고 다른 사람들과 연결하는 데 유용한 방법입니다. 아무리 작더라도 귀하의 기여는 큰 영향을 미치고 관련된 모든 사람에게 협력적이고 지원적인 환경을 조성하는 데 도움이 된다는 점을 기억하십시오!

Ultralytics는 오픈 소스 커뮤니티의 혁신을 주도하는 데 열정을 가지고 있습니다. GitHub 저장소를 방문하여 최신 개발 소식을 확인하세요. 활발한 커뮤니티에 참여하여 농업제조업과 같은 산업 전반에 걸쳐 어떠한 영향을 미치고 있는지 확인해 보세요.

함께 미래의 AI를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요

무료로 시작하기
클립보드에 링크가 복사되었습니다.