٥، ٢، المساهمة في مشروع
 — مقدمة

أكبر مشكلة في شرح كيف تساهم في مشروع هي تعدد أساليب المساهمة. فإن الناس يتعاونون بطرائق شتى بسبب مرونة جت الكبيرة. فيصعب شرح كيف عليك أن تساهم؛ فكل مشروع مختلف. من العوامل المؤثرة: عدد المساهمين النشِطين، وأسلوب التطوير المتبع، وهل لديك إذن بالإيداع في المشروع أم لا، وربما أسلوب المساهمة من خارج الفريق الأساسي.

العامل الأول هو عدد المساهمين النشطين: كم مبرمجًا يساهم بهمّة ونشاط في المشروع، وكل متى؟ كثيرًا ما ستجد للمشروع مطورَيْن أو ثلاثة، وبضعة إيداعات في اليوم، أو ربما أقل للمشروعات الخاملة نسبيا. أما الشركات والمشروعات الكبيرة، فقد تجد لها آلاف المطورين، ومئات أو آلاف من الإيداعات كل يوم. هذا مهم، لأن مع زيادة المطورين، ستواجه مشاكل في التحقق أن تعديلاتك تُدمج بسهولة وبنظافة. فتعديلاتك قد تصير باطلة أو شديدة التلف بسبب دمج تعديلات أخرى خلال عملك أو خلال انتظارك قبول عملك أو دمجه. فكيف إذًا يمكنك إبقاء مصدرك البرمجي محدَّثًا وإيداعاتك صالحة؟

العامل التالي هو أسلوب التطوير المتبع. هل هو مركزي وكل المطورين متساوون في أن لديهم إذن الدفع إلى الفرع الرئيس؟ هل للمشروع مشرف أو مدير دمج ينظر في كل الرقع؟ هل يجب أن يراجع كل الرقع المساهمون الآخرون ويقبلوها (‪“peer-review”‬)؟ هل أنت جزء من هذه العملية؟ هل تتبعون نظام الزعيم والمساعدين وعليك تقديم عملك إلى المساعد أولًا؟

العامل التالي هو الإذن لك بالإيداع، فالأسلوب المطلوب للمساهمة في مشروع سيختلف كثيرًا إذا كنت تستطيع الدفع إلى المستودع مباشرةً أم لا. فإذا لم تكن، فكيف يحب المشروع قبول الأعمال المساهَم بها؟ هل لديهم سياسة معينة؟ ما قدر العمل الذي تساهم به في كل مرة؟ كم مرة تساهم؟

كل هذه الأسئلة لها أثر في تحديد كيفية مساهمتك الفعالة في مشروع وفي تحديد الأساليب المناسبة أو المتاحة لك. سنتناول جوانب من كل هؤلاء في سلسلة من المواقف المحتملة، منتقلين من الأيسر إلى الأعقد؛ ستستطيع من هذه الأمثلة بناء الأساليب المحددة التي تحتاجها.