Критерии выбора библиотеки для корпоративного использования

StackOverflow https://stackoverflow.com/questions/1954920

Вопрос

Каковы ваши критерии выбора библиотеки (или фреймворка) с открытым исходным кодом для корпоративного использования?

Некоторые библиотеки довольно малы, и их можно легко проверить на наличие недостатков в системе безопасности или протестировать на производительность.Но большинство библиотек слишком велики, чтобы их можно было просмотреть, прежде чем вы сможете начать их использовать.

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

  1. Сколько разработчиков работает над проектом?Мне кажется, что все больше разработчиков обнаружат больше ошибок и проблем с безопасностью.Кроме того, будет сложнее намеренно вводить проблемы безопасности.
  2. Насколько хороша поддержка?По сравнению с библиотеками с закрытым исходным кодом у меня такое ощущение, что поддержка open source часто намного лучше, поскольку у вас есть сообщество по всему миру, которое будет доступно всякий раз, когда вам это понадобится.
  3. Насколько широко распространена библиотека?Есть ли какие-нибудь книги об этом на рынке?Какие еще проекты используют библиотеку?

Каковы ваши критерии?Не стесняйтесь редактировать эту заметку в качестве вики сообщества.

Это было полезно?

Решение

Для меня это зависит от того, оплачено это или нет.В вашем случае создается впечатление, что вы смотрите на библиотеки с открытым исходным кодом.

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

Дело не в том, что я не ценю работу, которая уже проделана при предоставлении библиотеки, но код в проектах, подобных этому, должен уже иметь модульные тесты с хорошим охватом, чтобы набирать обороты.

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

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

Другие советы

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

  1. Вам нужно уметь читать часто беспорядочный и недокументированный код.
  2. Техническая возможность задавать правильные вопросы нужным людям - то есть этим людям платят не за то, чтобы они решали проблемы, и они ответят вам только в том случае, если вы сделаете это достаточно простым для них.
  3. Затем вам нужна возможность исправить ошибку и получить принятый патч - потому что , если патч не будет принят .....

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top