녹색 확인
링크가 클립보드에 복사됨

Ultralytics 오픈소스 프로젝트에 기여하기 위한 팁

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

오픈 소스 소프트웨어의 기본은 협업, 학습, 공유입니다. 오픈소스 프로젝트는 사람들이 함께 모여 자신보다 더 큰 무언가를 만들 수 있는 좋은 방법입니다. Ultralytics 에서는 오픈소스의 원칙을 가슴 깊이 새기며 항상 여러분이 오픈소스 프로젝트에 기여해 주실 것을 권장합니다. 

문서 작성, 코드 검토, 문제 해결 등 기여하고 싶지만 어디서부터 시작해야 할지 모르거나 몇 가지 문제에 직면해 있는 경우, 시작을 도와드리겠습니다. 이 글에서는 Ultralytics 오픈소스 프로젝트에 기여하기 위한 몇 가지 팁을 안내해 드리겠습니다. 지금 바로 시작해보세요!

Ultralytics 커뮤니티 기여의 중요성

기여 방법을 살펴보기 전에 기여가 왜 그렇게 중요한지에 대한 질문에 답해 보겠습니다. 저희는 Ultralytics 커뮤니티의 기여가 중요하다고 굳게 믿고 있습니다. 오픈소스 프로젝트에 참여함으로써 여러분은 더 나은 소프트웨어를 만드는 데 도움을 주는 것 이상의 일을 하는 것입니다. 기여자는 기술이 개방적이고 협력적이며 지속적으로 발전하는 데 중요한 역할을 합니다. 여러분의 기여는 전 세계 사용자와 개발자에게 도움이 되는 프로젝트의 번창과 접근성을 유지시켜 줍니다!

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

그림 1. 기여해야 하는 이유. 작성자 이미지.

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

시작하기 좋은 곳은 공식 기여 가이드( Ultralytics )를 확인하는 것입니다. 여기에는 기여를 최대한 활용하는 데 도움이 되는 모범 사례와 팁이 가득합니다. 첫 번째 단계는 기여 가이드라인을 이해하고 코드를 살펴봄으로써 프로젝트에 이미 포함되어 있는 내용을 숙지하는 것입니다. 

개발에 기여하고 싶거나 최신 코드를 살펴보고 싶다면 다음 단계는 Ultralytics 리포지토리를 복제하는 것입니다. 복제를 완료한 후에는 프로젝트 디렉토리로 이동하여 아래 코드 스니펫과 같이 편집 가능한 모드로 패키지를 설치할 수 있습니다.


# Clone the ultralytics repository
git clone https://github.com/ultralytics/ultralytics

# Navigate to the cloned directory
cd ultralytics

# Install the package in editable mode for development
pip install -e .

도움이 필요하다면 빠른 시작 가이드에서 원활하게 시작하는 데 필요한 모든 것을 확인할 수 있습니다.

기여할 수 있는 다양한 분야

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

다음은 몇 가지 옵션입니다:

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

각 영역마다 고유한 기여 방법을 제공하며, 자신의 강점과 관심사에 가장 잘 맞는 방법을 선택할 수 있습니다. 아무리 작은 기여라도 모든 기여는 Ultralytics 의 성장과 발전에 중요한 역할을 한다는 사실을 잊지 마세요.

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

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

Ultralytics 문서에 기여할 때는 기존 문서를 검토하고 개선이 필요한 부분이나 논의 사항이 있는지 확인하세요. 이렇게 하면 가장 필요한 곳에 기여가 집중될 수 있습니다. 

글을 작성하거나 편집할 때는 일관성을 유지하기 위해 프로젝트의 가이드라인을 따르는 것이 중요하다는 점을 명심하세요. 다음은 몇 가지 서식 지정 팁입니다:

  • 항상 Markdown 형식을 사용합니다.
  • 각 문서는 명확한 소개로 시작하고, 언어를 단순하고 접근하기 쉽게 유지하세요. 
  • 목록에는 글머리 기호, 링크에는 설명 텍스트, 1MB 미만의 이미지를 사용하여 페이지를 빠르게 로드할 수 있습니다.
  • 서식 지정에 대해 궁금한 점이 있는 경우 이전 문서에서 서식이 어떻게 지정되었는지 확인하면 쉽게 서식을 다시 확인할 수 있습니다.
그림 3. Markdown 서식의 예(왼쪽)와 시각화된 최종 문서(오른쪽). 작성자 이미지.

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


git clone https://github.com/ultralytics/ultralytics
cd ultralytics

그런 다음 필요한 종속성을 설치할 수 있습니다:


pip install -e ".[dev]"

마지막으로 로컬에 문서를 제공하여 변경 사항을 검토합니다:


mkdocs serve -f mkdocs.yml

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

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

오픈소스 코드 기여 시 유의해야 할 사항

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

  • 코드 중복을 피하세요: 가능하면 기존 코드를 재사용하고 불필요한 인수를 최소화하세요.
  • 작고 집중적으로 변경하세요: 대규모 수정보다는 작고 목표에 맞는 변경에 집중하세요.
  • 코드를 단순화하거나 제거하세요: 코드를 단순화하거나 불필요한 부분을 제거할 수 있는 기회를 찾아보세요.
  • 효과적인 문서 문자열: 코드가 수행하는 작업을 명확하게 설명하고 관련 리소스로 연결하세요.
  • 불필요한 종속성을 피하세요: 꼭 필요한 경우에만 종속성을 추가하세요.
그림 4. 소스 코드 문서화 모범 사례.

또한 코드베이스의 장기적인 유지관리 가능성도 고려해야 합니다. 변경하기 전에 Ultralytics 을 사용하여 수정한 내용이 다른 사람의 기존 코드를 손상시킬 수 있는지 스스로에게 물어보세요. 그렇다면 이 문제를 해결하는 방법을 고려하고 변경 사항이 가능한 한 호환되는지 확인하세요.

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

풀 리퀘스트 검토

풀 리퀘스트(PR)를 검토하는 것은 기여하는 좋은 방법입니다! 누군가 자신의 변경 사항을 메인 프로젝트에 병합해 달라고 요청하면 PR이 발생합니다. 이는 Ultralytics 프로젝트가 원활하게 운영되는 데 도움이 됩니다. PR을 검토할 때는 변경이 이루어진 이유를 이해해야 합니다. 작성자는 업데이트의 목적과 이점을 명확하게 설명해야 하며, PR에서 철저한 테스트의 증거를 볼 수 있어야 합니다. 

그림 5. 풀 리퀘스트란 무엇인가요?

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

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

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

기여는 커뮤니티의 모든 것

Ultralytics 같은 오픈소스 프로젝트에 기여하면 영감을 주는 공동체 의식을 느낄 수 있습니다. 코드를 작성하든, PR을 검토하든, 문서를 업데이트하든, 토론에 참여하든, 모든 노력이 프로젝트의 성장과 발전에 도움이 됩니다. GitHub, Discord, Subreddit 또는 기타 포럼에서 이슈에 답변하거나 대화에 참여하는 것은 다른 사람들과 기여하고 소통할 수 있는 소중한 방법입니다. 여러분의 기여는 아무리 작은 것이라도 큰 영향을 미치며 관련된 모든 사람을 위한 협업과 지원 환경을 조성하는 데 도움이 된다는 사실을 기억하세요!

Ultralytics 에서는 오픈소스 커뮤니티의 혁신을 주도하는 데 열정을 쏟고 있습니다. GitHub 리포지토리를 방문하여 최신 개발 소식을 놓치지 마세요. 활기찬 커뮤니티에 참여하여 농업, 제조업 등 다양한 산업에 어떻게 영향을 미치고 있는지 알아보세요.

Facebook 로고트위터 로고LinkedIn 로고복사 링크 기호

이 카테고리에서 자세히 보기

인공지능의 미래
를 함께 만들어 갑시다!

머신 러닝의 미래와 함께하는 여정 시작하기