- Що стосується фреймворку, то, як правило, я маю лише великі та зрілі рамки з великою кількістю попередньо написаних модулів та великою спільнотою. Взагалі, вибір одного фрейму над іншим насправді не значно зменшить кількість роботи, яку потрібно витратити на власний код, деякі рамки можуть сприяти більш красивому коду, інші можуть полегшити певні операції, але вони, як правило, підсумовують дуже незначна різниця в загальних зусиллях з розвитку. Однак популярні фреймворки мали б більше заздалегідь написаних модулів, на які ви можете скористатися, і саме так ви можете заощадити набагато більше часу та зусиль.
- Для невеликої бібліотеки, яка не є рамковою, зазвичай ви можете самостійно вносити зміни, якщо це потрібно без особливих проблем, тому зазвичай я вважаю, що спільнота є додатковим бонусом. Більшістю невеликих бібліотек керує лише одна людина, але вони все ж краще, ніж самі будувати. Однак для великих бібліотек важливо мати зріле, активне співтовариство та документацію, оскільки ви навряд чи зможете самостійно вносити зміни.
- Ліцензія є важливою. Для бібліотек, що мають одну людину, ймовірно, вам потрібно буде внести зміни в бібліотеку, тому важливо, щоб їх ліцензія дозволяла робити це за умовами, з якими ви погоджуєтесь.
Для невеликих бібліотек завжди слід вважати, що вам потрібно буде роздрібнитись і що проект уже покинутий. Зазвичай це не є проблемою, особливо якщо проект розміщений на Github або BitBucket, оскільки вони роблять розсилку чужих проектів дурно простими. Для невеликих бібліотек ви завжди можете самостійно взяти на себе обслуговування проекту, якщо оригінального технічного сервісу немає або якщо вони планують перенести напрямок проекту до місць, у які ви не хочете відвідувати.
Я менше переймаюся проектною діяльністю, зрілою бібліотекою, яка досягла свого відчуття "досконалості", як правило, потрібно було б лише виправити помилки, тому їх активність сповільнилася. Діяльність за проектом важлива лише в тому випадку, якщо бібліотека включає ціль, яка активно розвивається, наприклад, обгортку для зовнішньої служби потрібно постійно оновлювати по мірі розвитку зовнішньої служби, тому активний розвиток є важливим, але математичній бібліотеці не потрібно буде багато нова розробка, коли вона буде мати всю необхідну їй функцію.
Для більших бібліотек все стає складніше. Переймання займає набагато більше, на щастя, великі бібліотеки, як правило, не так швидко рухаються, оскільки вони, як правило, більш зрілі.
Як сказав @Sam у своїй відповіді, я погоджуюся, що найголовніше в оцінці бібліотеки з відкритим кодом - це наскільки вона відповідає вашим вимогам. Після того, як будь-яка проблема з ліцензією буде впорядкована, використання бібліотеки з відкритим кодом рідко є помилкою, оскільки ви завжди можете роздрібнитись, якщо все піде на південь.