Дивлячись на популярні проекти з відкритим кодом, які мають на увазі, я не бачу жодної папки "contrib":
- jQuery ,
- Експрес ,
- Sass ,
- МЕНШЕ ,
- MongoDB ,
- Редіс ,
- Ляльковий ,
- Шеф-кухар
- NUnit ,
- Рубі на рейках ,
- Ларавель ,
- Дженкінс ,
- Clojure ,
- Рубін .
Єдина, яка має папку "contrib" - це Django. Для Django роль цієї папки вже пояснена в документації :
Django прагне дотримуватися філософії Python "включені батареї". Він постачається з різноманітними додатковими, необов'язковими інструментами, які вирішують поширені проблеми веб-розробки.
Цей код існує в django/contribдистрибуції Django. Цей документ дає змогу скинути пакунки в додаток, а також будь-які залежності, які вони мають.
Глава 16 книги "Джанго" містить більш детальний опис ролі цього каталогу та списку вмісту.
Інший приклад - Solr . З gitstats, ми можемо отримати статистичні дані про вкладників.
Robert Muir 22.09%
Michael McCandless 13.60%
Mark Robert Miller 9.73%
Uwe Schindler 8.17%
Yonik Seeley 5.56%
Steven Rowe 5.55%
Тоді ми можемо вибрати лише contribкаталог, запустивши:
git filter-branch --subdirectory-filter solr/contrib --prune-empty
і отримайте статистику ще раз:
Robert Muir 19.62%
Steven Rowe 8.87%
Mark Robert Miller 8.33%
Uwe Schindler 8.06%
James Dyer 7.80%
Тож провідні автори практично однакові, це означає, що це не внески сторонніх людей. Переглядаючи каталоги всередині contribпапки, здається, що це ще раз "різноманітні додаткові, необов'язкові інструменти", точно так само, як у Django. Наприклад, вам не потрібен обробник запитів на імпорт даних, щоб змусити Solr працювати, але якщо ви хочете імпортувати дані з бази даних або XML, приємно мати їх у contribпапці. Те ж саме для зменшення карт, можливо, вам це не потрібно, але є випадки, коли ви це робите.
Це плагіни чи додатки? Я б не використовував цей термін. Плагіни та додатки мають певну інтеграцію з основним додатком. Наприклад, не очікується, що плагін буде працювати окремо, але він розміщений в основній програмі. З іншого боку, contribмістить інструменти, які, ймовірно, можуть працювати окремо.