Ось мій контрольний список щодо терміну дозрівання проекту:
Чи досяг проект початковий рубіж?
Я б уникнув додавання будь-якого коду, якби він не досяг свого первинного етапу. Я не пропоную завжди довіряти розробнику, який стверджує, що його проект готовий до виробництва, і завжди намагатися оцінити такі вимоги, але ви обов'язково повинні довіряти їй, коли вона скаже вам це, тобто маркуючи програмне забезпечення версією 0.x, альфа, бета, випуск кандидата тощо.
Чи є відповідна документація?
Ідеальний проект запропонував би:
- Посібник користувача з прикладами
- Посібник з інтеграції / розширення, якщо це бібліотека
- Документація API
- Повністю задокументований вихідний код
- Відстежувач публічних випусків
Чи розробники все ж прихильні до проекту?
Ви ніколи не можете сказати, чи залишаться розробники в майбутньому, якщо, звичайно, це проект, який підтримує фундація / компанія. Але ви майже завжди можете сказати, чи вони скоєні зараз, перевіривши:
- Нещодавня активність у вчиненні
- Останні функції (не лише виправлення помилок)
- Останні дії з документацією (оновлення документів, повідомлення в блогах тощо)
Також хорошим показником зрілості проекту є друге покоління розробників, активних розробників, які долучилися після початкових етапів.
Чи доступні розробники?
- Чи відповідають вони на помилки?
- Чи надають вони інші засоби зв’язку, крім загального трекера випуску? Це незначний пункт у контрольному списку, однак для окремих проектів розробників альтернативні засоби зв’язку можуть допомогти у випадках, таких як "справа відсутнього розробника" .
Тепер для ваших більш конкретних питань:
Швидкість
У проекті з трекером публічних випусків я обов'язково перевіряю, скільки часу потрібно, щоб питання закрилися. Звичайно швидкість не завжди означає якість, тому я, мабуть, переживаю закриті проблеми, вибираю декілька, які я вважаю важливими, і оцінюю час і якість відповідей розробників.
Сумісність ліцензії
Що стосується юридичних питань, ніколи не інтегруйте проект з відкритим кодом у свою кодову базу, якщо ви не впевнені на 100%, що ваше використання його сумісне з його ліцензією. Якщо ви сумніваєтесь, ви завжди можете запитати розробників проекту або навіть запитати тут.
Суспільний галас
Ви завжди повинні оцінювати ажіотаж. Рекомендації колег-розробників майже завжди є досить хорошим показником зрілості проекту.
Кожен пункт у контрольному списку є необов’язковим, крім сумісності ліцензій. Я інтегрував у свій код багато мертвих та / або недокументованих проектів, це завжди залежить від ваших конкретних потреб і як ви бачите свій власний код.