Я по-настоящему, безумно, глубоко люблю открытый исходный код. Но да, вместе с этим приходят и разочарования.
От установки до запуска программы Hello World и до ее работы с ВАШИМ приложением, определение OSS — это проверка терпения и решимости.
Эти советы охватывают общие случаи, когда вы уже установили OSS и используете его функции в своем приложении, а затем, б**!, вы получаете какие-то ошибки.
Да, вы рассмотрели основы. Но — правда ли?
Я имею в виду, вы читали какую-то документацию, верно? Но теперь чтение обычно означает беглое беглое чтение. Возможно, есть информация, которую вы пропустили. Так что гуглите, читайте, Stack Overflow. Также я считаю полезными примечания к выпуску, так что взгляните на них в проекте GH. [Подробнее об этом ниже].
Также старайтесь искать с умом. Если вы не можете получить ответ, просто распечатав сообщение об ошибке, попробуйте найти более общую тему, посвященную вашей ошибке.
Но перед всем этим вы проверили, что у вас установлена последняя версия OSS, верно? Правильно? Иногда просто получение последней версии устраняет вашу ошибку.
Вглубь через кроличью нору
Разработчику, использующему OSS, необходимо знать код. Знайте версию OSS, которая у вас установлена. Разветвите копию. Ознакомьтесь с его примечаниями к выпуску на GH. Некоторые из ваших проблем могли быть исправлены в предыдущем выпуске или нет, и они находятся в списках задач следующего выпуска. В последнем случае вы должны найти обходной путь или исправить его в своей локальной копии.
Просмотр кода (фактический код, комментарии, модульные тесты)
Некоторые из вас уже создали копию проекта с открытым исходным кодом. Когда вы запустите его, вы будете знать, где его стошнило. Полезно получить эту строку кода. Некоторые разработчики также могут оставлять комментарии в коде. Иногда эти комментарии могут быть полезны.
Если вы не можете понять, как функция должна работать, и вы уверены, действительно уверены, что этого нет в документации, посмотрите модульные тесты. В модульных тестах есть примеры того, как правильно использовать функцию и с какими данными функция правильно работает.
Изолировать и упростить
Попробуйте изолировать, а затем воспроизвести проблему. Ошибка может быть связана с вашими входными данными или с тем, как вы используете функцию.
Сделайте игрушечный пример. Посмотрите, как тестируемая функция работает на самом базовом уровне. И если код вырвет, вы можете отследить это в коде.
Контакт
Когда вы достигли точки, где ничто не покрывает ее. Общение с кем-то обычно является следующим шагом. Сделайте это в самое ближайшее время. Ответ, и тем более, правильный ответ не мгновенный, даже если у вас самый премиальный план поддержки (я смотрю на вас AWS). Чем раньше вы отправите свой вопрос, тем раньше вы окажетесь в их очереди.
Способы связи
Спросите в своей группе Google. Опубликовать в Slack-канале. Отправить вопрос Github. Сообщение о переполнении стека. Твит с запросом контактной информации. Напишите сопровождающему, если письмо есть в репозитории.
Будьте уважительны и придерживайтесь правил публикации. Основные из них будут проверять, есть ли открытая проблема GH для той же проблемы, ставить правильные теги, помещать полезную и актуальную информацию в ваш вопрос / отчет.
Предлагаемая информация для включения в ваш отчет/вопрос:
- Версия ОСС
- Соответствующая информация об окружающей среде — используемая ОС, используемая версия Java и т. д.
- Ошибка — та, которая напечатана в вашей консоли, и строка кода, вызвавшая ее.
- Данные, вызвавшие ошибку
- Игрушечный пример, который повторяет ошибку
- Краткий обзор расследования, которое вы провели до сих пор.
Разработчики обычно гордятся своей работой. Специалисты по сопровождению OSS берут на себя ответственность за программное обеспечение и часто реагируют на запросы. Крупные проекты с открытым исходным кодом рецензируются и проходят базовое тестирование. Но в открытом исходном коде нет никаких гарантий. Хорошо читать документы, знать код. Обычно вы изучаете хорошие привычки и стили кодирования во многих проектах с открытым исходным кодом. Так что давай, разветвляй этот проект! И если вы обнаружите проблему, будь то отсутствие документации или ошибка, сообщите об этом. И если вы исправили проблему в своей локальной сети, которая, по вашему мнению, может помочь другим, сделайте запрос на включение! Это дух Open Source.
Программное обеспечение с открытым исходным кодом рулит! Продолжай держать!