เมื่อมองไปที่โครงการโอเพนซอร์ซยอดนิยมที่นึกถึงฉันไม่เห็นชื่อโฟลเดอร์“ contrib”:
- jQuery ,
- เอ็กซ์เพรส ,
- Sass ,
- น้อยกว่า
- MongoDB ,
- Redis ,
- หุ่นกระบอก ,
- พ่อครัว
- NUnit ,
- Ruby on Rails ,
- Laravel ,
- เจนกินส์ ,
- Clojure ,
- ทับทิม
อันเดียวที่มีโฟลเดอร์“ contrib” คือ Django สำหรับ Django บทบาทของโฟลเดอร์นี้มีการอธิบายไว้ในเอกสารประกอบแล้ว :
Django มุ่งมั่นที่จะปฏิบัติตามปรัชญา“ รวมแบตเตอรี่” ของ Python มาพร้อมกับเครื่องมือเสริมที่หลากหลายและเป็นตัวเลือกที่ช่วยแก้ปัญหาการพัฒนาเว็บทั่วไป
รหัสนี้อาศัยอยู่django/contrib
ในการกระจาย Django เอกสารนี้ให้บทสรุปของแพคเกจใน contrib พร้อมกับการอ้างอิงใด ๆ ที่แพ็คเกจเหล่านั้นมี
บทที่ 16 ของหนังสือ Djangoมีคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับบทบาทของไดเรกทอรีนี้และรายการเนื้อหา
อีกตัวอย่างหนึ่งคือ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 ตัวอย่างเช่นคุณไม่จำเป็นต้องใช้ Data Import Request Handler เพื่อให้ Solr ทำงานได้ แต่ถ้าคุณต้องการนำเข้าข้อมูลจากฐานข้อมูลหรือ XML ก็ดีที่มีในcontrib
โฟลเดอร์ เช่นเดียวกันกับการลดขนาดแผนที่คุณอาจไม่จำเป็นต้องใช้ แต่ก็มีหลายกรณีที่คุณต้องทำ
ปลั๊กอินหรือส่วนเสริมเหล่านั้นหรือไม่ ฉันจะไม่ใช้คำนี้ ปลั๊กอินและส่วนเสริมมีการรวมเฉพาะกับแอปพลิเคชันหลัก ตัวอย่างเช่นปลั๊กอินไม่คาดว่าจะเรียกใช้แบบสแตนด์อโลน แต่โฮสต์ภายในแอปพลิเคชันหลัก ในทางกลับกันcontrib
มีเครื่องมือที่สามารถเรียกใช้แบบสแตนด์อโลน