Я бы определенно рекомендовал прочитать эссе Джоэлса по этому вопросу:
"В защиту синдрома не изобретенного здесь"
Для зависимости наилучшей метрикой, которую я могу придумать, было бы "остановился бы мир, если бы он исчез". Например, если STL C ++ волшебным образом исчезнет, тонны программ перестанут работать. Если .Net или Java исчезнут, наша экономика, вероятно, обанкротится из-за количества продуктов, которые перестали работать ...
Я бы так подумал. Конечно, многие вещи имеют оттенок серого между «концом света» и «ме», если они исчезли. Чем ближе зависимость к потенциальному концу света, если она исчезнет, тем больше вероятность того, что она будет стабильной, будет иметь активную пользовательскую базу, хорошо знать свои проблемы и т.д. Чем больше пользователей, тем лучше.
Это аналог маленького потребителя некоторого аппаратного компонента. Иногда аппаратные средства устаревают. Зачем? Потому что никто не использует это. Если вы небольшая компания и вам нужен компонент для вашего продукта, вы выберете то, что обычно доступно - то, что «крупные игроки» заказывают в больших количествах, надеясь, что это означает, что (а) компонент не исчезнет (б) проблемы с компонентом хорошо известны, (в) имеется большая, информированная база пользователей и (г) он может стоить дешевле и быть более доступным.
Иногда, тем не менее, вам нужна эта специальная часть конденсатора, и вы рискуете, что компания, продающая ее вам, может не захотеть продолжать выпуск конденсаторов, если вы заказываете только 20 в год, и никого это не волнует :). В этом случае может стоить разработать собственный конденсатор, вместо того чтобы полагаться на ненадежного Doc Brown Inc. Просто не покупайте плутоний у ливийцев.
Если вы занимались производством чего-либо (особенно когда вы производите намного меньше, чем миллионы из них в год), вам приходилось сталкиваться с этой проблемой. Я полагаю, что зависимости программного обеспечения следует понимать в очень схожих терминах.
Как измерить это в реальной метрике? Приблизительно посчитайте, сколько людей зависит от чего-либо. Если оно высокое, риск причинения вам вреда гораздо ниже, и вы можете решить, в какой момент риск слишком велик.