Я по-настоящему, безумно, глубоко люблю открытый исходный код. Но да, вместе с этим приходят и разочарования.

От установки до запуска программы Hello World и до ее работы с ВАШИМ приложением, определение OSS — это проверка терпения и решимости.

Эти советы охватывают общие случаи, когда вы уже установили OSS и используете его функции в своем приложении, а затем, б**!, вы получаете какие-то ошибки.

Да, вы рассмотрели основы. Но — правда ли?

Я имею в виду, вы читали какую-то документацию, верно? Но теперь чтение обычно означает беглое беглое чтение. Возможно, есть информация, которую вы пропустили. Так что гуглите, читайте, Stack Overflow. Также я считаю полезными примечания к выпуску, так что взгляните на них в проекте GH. [Подробнее об этом ниже].

Также старайтесь искать с умом. Если вы не можете получить ответ, просто распечатав сообщение об ошибке, попробуйте найти более общую тему, посвященную вашей ошибке.

Но перед всем этим вы проверили, что у вас установлена ​​последняя версия OSS, верно? Правильно? Иногда просто получение последней версии устраняет вашу ошибку.

Вглубь через кроличью нору

Разработчику, использующему OSS, необходимо знать код. Знайте версию OSS, которая у вас установлена. Разветвите копию. Ознакомьтесь с его примечаниями к выпуску на GH. Некоторые из ваших проблем могли быть исправлены в предыдущем выпуске или нет, и они находятся в списках задач следующего выпуска. В последнем случае вы должны найти обходной путь или исправить его в своей локальной копии.

Просмотр кода (фактический код, комментарии, модульные тесты)

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

Если вы не можете понять, как функция должна работать, и вы уверены, действительно уверены, что этого нет в документации, посмотрите модульные тесты. В модульных тестах есть примеры того, как правильно использовать функцию и с какими данными функция правильно работает.

Изолировать и упростить

Попробуйте изолировать, а затем воспроизвести проблему. Ошибка может быть связана с вашими входными данными или с тем, как вы используете функцию.

Сделайте игрушечный пример. Посмотрите, как тестируемая функция работает на самом базовом уровне. И если код вырвет, вы можете отследить это в коде.

Контакт

Когда вы достигли точки, где ничто не покрывает ее. Общение с кем-то обычно является следующим шагом. Сделайте это в самое ближайшее время. Ответ, и тем более, правильный ответ не мгновенный, даже если у вас самый премиальный план поддержки (я смотрю на вас AWS). Чем раньше вы отправите свой вопрос, тем раньше вы окажетесь в их очереди.

Способы связи

Спросите в своей группе Google. Опубликовать в Slack-канале. Отправить вопрос Github. Сообщение о переполнении стека. Твит с запросом контактной информации. Напишите сопровождающему, если письмо есть в репозитории.

Будьте уважительны и придерживайтесь правил публикации. Основные из них будут проверять, есть ли открытая проблема GH для той же проблемы, ставить правильные теги, помещать полезную и актуальную информацию в ваш вопрос / отчет.

Предлагаемая информация для включения в ваш отчет/вопрос:

  1. Версия ОСС
  2. Соответствующая информация об окружающей среде — используемая ОС, используемая версия Java и т. д.
  3. Ошибка — та, которая напечатана в вашей консоли, и строка кода, вызвавшая ее.
  4. Данные, вызвавшие ошибку
  5. Игрушечный пример, который повторяет ошибку
  6. Краткий обзор расследования, которое вы провели до сих пор.

Разработчики обычно гордятся своей работой. Специалисты по сопровождению OSS берут на себя ответственность за программное обеспечение и часто реагируют на запросы. Крупные проекты с открытым исходным кодом рецензируются и проходят базовое тестирование. Но в открытом исходном коде нет никаких гарантий. Хорошо читать документы, знать код. Обычно вы изучаете хорошие привычки и стили кодирования во многих проектах с открытым исходным кодом. Так что давай, разветвляй этот проект! И если вы обнаружите проблему, будь то отсутствие документации или ошибка, сообщите об этом. И если вы исправили проблему в своей локальной сети, которая, по вашему мнению, может помочь другим, сделайте запрос на включение! Это дух Open Source.

Программное обеспечение с открытым исходным кодом рулит! Продолжай держать!