Зелёная проверка
Ссылка копируется в буфер обмена

Советы, как начать участвовать в проектах с открытым исходным кодом Ultralytics

Узнай, как вносить свой вклад в проекты с открытым исходным кодом Ultralytics , и изучи лучшие советы, связанные с документацией, рецензированием PR и использованием основных инструментов.

Основа программного обеспечения с открытым исходным кодом - это сотрудничество, обучение и совместное использование. Проекты с открытым исходным кодом - это отличный способ для людей объединиться, чтобы построить что-то большее, чем они сами. На сайте Ultralytics мы храним принципы open-source близко к сердцу и всегда призываем тебя вносить свой вклад в наши open-source проекты. 

Если ты хочешь внести свой вклад, будь то написание документации, рецензирование кода или решение проблем, но не уверен, с чего начать, или сталкиваешься с какими-то трудностями, мы готовы помочь тебе начать. В этой статье мы дадим тебе несколько советов, как начать участвовать в проектах с открытым исходным кодом 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 предлагает несколько способов участия, и ты можешь выбрать, как внести свой вклад, исходя из своих навыков и интересов. 

Вот обзор некоторых вариантов:

  • Документация: Вклад в документацию - это отличный способ погрузиться в проект и одновременно отточить свои писательские навыки. Ты можешь помочь, улучшая существующую документацию, добавляя недостающие детали или создавая новые руководства, чтобы другим было проще вносить свой вклад.
  • Исправления ошибок (Bug fixes): Если у тебя есть некоторый опыт в кодинге, подумай о том, чтобы поработать над исправлением ошибок. Они могут варьироваться от незначительных корректировок до более сложных проблем, что даст тебе возможность оказать ощутимое влияние на проект.
  • Улучшение характеристик: Для тех, кто готов погрузиться глубже, работа над улучшением функций может быть одновременно и сложной, и полезной. Это может включать в себя добавление новых функций, улучшение существующих или работу над дорожной картой проекта.
  • Отзывы о Pull request: Рецензирование запросов на исправление - еще один ценный способ внести свой вклад, особенно если ты знаком со стандартами и лучшими практиками проекта. Предоставляя обратную связь и предлагая улучшения, ты помогаешь поддерживать качество и целостность кодовой базы.
  • Обсуждения в сообществе: Участие в обсуждениях сообщества - отличный способ внести свой вклад, если тебе нравится сотрудничать и делиться идеями. Участвуй в текущих дискуссиях, предлагай новые идеи или помогай другим, предлагая свои идеи и решения.

Каждое из этих направлений предлагает уникальный способ внести свой вклад, и ты можешь выбрать то, что лучше всего соответствует твоим сильным сторонам и интересам. Помни, что каждый вклад, каким бы маленьким он ни был, играет ключевую роль в том, чтобы помочь Ultralytics расти и развиваться.

Рис. 2. В нашем растущем сообществе ценится каждый вклад. Источник изображения: Envato Elements.

Вклад в документацию Ultralytics с открытым исходным кодом

Внося свой вклад в документацию Ultralytics , обязательно просмотри существующую документацию и проверь, нет ли в ней проблем или обсуждений, которые указывают на области, требующие улучшения. Это поможет сделать так, чтобы твой вклад был направлен туда, где он больше всего нужен. 

Когда пишешь или редактируешь, помни, что главное - следовать рекомендациям проекта, чтобы сохранить последовательность. Вот несколько советов по форматированию:

  • Всегда используй форматированиеMarkdown .
  • Начинай каждый документ с четкого вступления, сохраняй простой и доступный язык. 
  • Используй пулевые точки для списков, описательный текст для ссылок и изображения размером менее 1 МБ, чтобы страницы загружались быстро.
  • Если у тебя возникнут вопросы по поводу форматирования, то простой способ перепроверить свое форматирование - посмотреть, как была отформатирована предыдущая документация.
Рис. 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 , важно следовать лучшим практикам, которые помогут гарантировать, что твой код будет чистым, поддерживаемым и легко интегрируемым. Вот несколько ключевых моментов, о которых стоит помнить:

  • Избегай дублирования кода: По возможности повторно используй существующий код и сведи к минимуму ненужные аргументы.
  • Вноси небольшие, целенаправленные изменения: Сосредоточься на небольших, целенаправленных изменениях, а не на крупных модификациях.
  • Упрости или удали код: Ищи возможности упростить код или удалить ненужные части.
  • Пиши эффективные docstrings: Четко объясни, что делает твой код, и дай ссылки на соответствующие ресурсы.
  • Избегай ненужных зависимостей: Добавляй зависимости только в том случае, если они абсолютно необходимы.
Рис 4. Лучшие практики документирования исходного кода.

Также важно учитывать долгосрочную ремонтопригодность кодовой базы. Прежде чем вносить какие-либо изменения, спроси себя, могут ли твои модификации сломать чей-то существующий код, использующий Ultralytics. Если да, то подумай, как решить эту проблему и сделать так, чтобы твои изменения были максимально совместимы.

После того как ты разработал кусок кода, который хочешь внести, тебе нужно будет его протестировать. Ты можешь использовать фреймворки вроде pytest, чтобы проверить свои изменения перед отправкой. Последовательное форматирование кода - еще один аспект твоего вклада, который очень важен. Такие инструменты, как Ruff Formatter , помогут тебе поддерживать стилистическую последовательность и выявлять любые логические ошибки или несоответствия в коде. 

Просмотр запросов на вставку

Просмотр запросов на слияние (PR) - отличный способ внести свой вклад! PR поднимается, когда кто-то просит слить его изменения в основной проект. Это помогает поддерживать проект Ultralytics в рабочем состоянии. Когда ты просматриваешь PR, убедись, что понимаешь, почему были внесены изменения. Автор должен четко объяснить цель и преимущества обновления, а ты должен увидеть в PR доказательства тщательного тестирования. 

Рис. 5. Что такое pull request?

Давай пройдемся по нескольким ключевым моментам, на которых стоит сосредоточиться.

  • Проверь наличие юнит-тестов: Проверь, включает ли PR тесты для новых функций или изменений, чтобы подтвердить, что код работает так, как ожидалось, и не вызывает проблем.
  • Проверь обновления документации: Убедись, что документация обновлена с учетом изменений или новых возможностей, включая примеры, ссылки на API и другие важные детали.
  • Оцени влияние производительности: Подумай, как изменения влияют на производительность. Если нужно, запроси контрольные показатели производительности или дополнительное тестирование.
  • Проверяй тесты CI: Убедись, что все тесты непрерывной интеграции (Continuous Integration, CI) проходят, включая проверку форматирования кода и результатов юнит-тестов.
  • Сотрудничай с автором над исправлениями: Если какие-то тесты прошли неудачно, поработай с автором над решением проблем, прежде чем одобрять PR.

Будучи рецензентом, обязательно предоставь отзыв, который будет конкретным и четким в отношении любых вопросов или проблем. Предлагай предложения по улучшению и задавай вопросы, которые помогут автору обдумать потенциальные проблемы. Призывай его следовать лучшим практикам в кодировании, тестировании и документировании и не стесняйся указывать ему на ресурсы, которые могут помочь. И последнее, но не менее важное: всегда отмечай усилия, которые автор вложил в пиар. Положительные отзывы помогают поддерживать дружескую и совместную атмосферу в сообществе open-source.

Вклад - это все о сообществе

Вклад в такие проекты с открытым исходным кодом, как Ultralytics , может дать тебе вдохновляющее чувство сообщества. Неважно, пишешь ли ты код, проверяешь PR, обновляешь документацию или участвуешь в дискуссиях, - каждое усилие помогает проекту расти и развиваться. Ответы на вопросы или участие в дискуссиях, будь то на GitHub, Discord, Subreddit или других форумах, - это ценный способ внести свой вклад и наладить контакт с другими людьми. Помни, что твой вклад, каким бы маленьким он ни был, оказывает значительное влияние и помогает создать атмосферу сотрудничества и поддержки для всех участников!

На сайте Ultralytics мы увлечены инновациями в сообществе open-source. Будь в курсе наших последних разработок, посетив наш репозиторий GitHub. Присоединяйся к нашему активному сообществу и узнай, как мы влияем на такие отрасли, как сельское хозяйство и производство.

Логотип FacebookЛоготип ТвиттераЛоготип LinkedInСимвол копирования-ссылки

Читайте больше в этой категории

Давай вместе построим будущее
искусственного интеллекта!

Начни свое путешествие с будущим машинного обучения