Я считаю, что есть две группы драгоценных камней.
Сначала «Хорошо известные жемчужины», которые, по совпадению, являются бигестами и с большим (иногда неясным для моих навыков) кодом / логикой. Но эти драгоценные камни рассматриваются многими другими разработчиками.
Тогда есть «Незначительные драгоценные камни» (то есть, которые не так широко используются и распространены). Эти драгоценные камни используют, чтобы иметь низкие версии, бета-состояния и так далее.
Мое простое правило: я доверяю первой группе и читаю весь код из второй группы драгоценных камней.
Это не совсем верно, так как у меня нет времени, чтобы прочитать код каждого драгоценного камня в моей системе, но я стараюсь обращаться к источникам всякий раз, когда мне нужно понять вызов метода, или как определенная функция Реализовано, что мне движет, почти всегда читать как минимум 2-3 исходных файла.
Если я собираюсь установить определенную для определенной функции функцию, которую я использую для поиска в github и просмотра реализации, количества форков и разработчиков, активности (по количеству и частоте коммитов) и так далее.
Тем не менее, я использую доверие к драгоценным камням, потому что я никогда не нашел ничего преднамеренно вредного, кроме плохих реализаций и некоторых дыр в безопасности.