دليل الممارس: استدامة المساهم
المقاييس الأولية:
إذا لم تكن قد قرأت بالفعل دليل الممارس: مقدمة - الأشياء التي يجب التفكير فيها عند تفسير المقاييس، يرجى التوقف الآن وقراءة هذا الدليل.
تعد استدامة المساهمين جزءًا مهمًا من تقييم ما إذا كان المشروع مفتوح المصدر والمجتمع لديهم ما يكفي من المساهمين لاستدامة المشروع على المدى الطويل، وبالتالي فإن استدامة المساهمين لها تأثير كبير على استدامة المشروع بشكل عام. هناك الكثير من المشاريع مع مشرف واحد (انظر تبعية xkcd)، وتكافح العديد من المشاريع للعثور على عدد كافٍ من الأشخاص للمشاركة بنشاط في مشاريعها والاستمرار في صيانتها على المدى الطويل (Egbahl 2016). أفيلينو وآخرون. (2019) وجد أنه حتى المشاريع الشعبية قد يتم التخلي عنها بشكل دائم وتفشل في التعافي من فقدان الكثير من المساهمين الرئيسيين.
الحقيقة هي أن هناك الكثير من المشاريع مفتوحة المصدر ولا يوجد عدد كافٍ من المساهمين، لذلك فإن المشرفين في حاجة ماسة إلى المساعدة عبر مختلف أنواع المساهمات اللازمة للحصول على مشروع مفتوح المصدر ناجح ومستدام. ومع ذلك، من المهم التفكير في كيفية قيام كل مساهمة جديدة بإنشاء عمل إضافي للمشرفين لمراجعته وقبوله، وهو ما يمكن تخفيفه من خلال وجود أتمتة وعمليات ووثائق مناسبة لمساعدة المساهمين على تحقيق النجاح، ولكن في النهاية، بعض هؤلاء المساهمين سوف بحاجة إلى أن يصبحوا مشرفين للتعامل مع عبء العمل الإضافي من المساهمين الجدد (Eghbal 2020).
إذا لم يكن هناك ما يكفي من المساهمين والمشرفين للحفاظ على المشروع، فهذا يزيد من مخاطر فشل المشروع، مما يخلق مجموعة متنوعة من التحديات الكبيرة في كثير من الأحيان للمستخدمين والمشاريع الأخرى التي تعتمد عليه.
الخطوة 1: تحديد الاتجاهات
هناك عدد من الأشياء التي يمكن أن تؤثر على استدامة المساهمين. بالبدء بـ عامل غياب المساهم، يمكنك تقييم المخاطر التي يتعرض لها المشروع إذا قرر المساهمين / المشرفين الرئيسيين المغادرة، ولكن من المهم أيضًا النظر إلى الاتجاهات الأخرى المتعلقة المساهمين جنبا إلى جنب مع أنواع المساهمات التي يقوم بها الأشخاص لتحديد المخاطر المساهمة المحتملة التي قد تؤثر على الاستدامة الشاملة لمشروعك.
عامل غياب المساهم
يعد عامل غياب المساهم مهمًا لفهم استدامة المساهمين لأنه يتصور السؤال "كم عدد المساهمين الذين يمكن أن نخسرهم قبل توقف المشروع؟" فهو يساعد على تحديد مدى توزيع العمل في المشروع على المساهمين وتحديد الأشخاص الرئيسيين في المشروع الذين يقومون بمعظم العمل. إذا كان يتم تنفيذ غالبية العمل من قبل شخص واحد أو عدد صغير من الأشخاص، فهذا يزيد من خطر أن يصبح المشروع غير مستدام إذا توقف هذا الشخص أو الأشخاص عن العمل في المشروع (Avelino et al. 2019).
المساهمين
ينظر مقياس المساهمين على نطاق واسع إلى من يساهم في المشروع ويمكن تصوره بعدة طرق مختلفة. على الرغم من أنه يمكنك النظر إلى هذا كعدد واحد من المساهمين بمرور الوقت، فقد يكون من المفيد تقسيم ذلك لمساعدتك على فهم عدد المساهمين النشطين بالإضافة إلى عدد الأشخاص الذين لديهم نشاط متزايد أو متناقص بمرور الوقت. في حين أن مقياس عامل غياب المساهم جيد في تحديد المساهمين الرئيسيين، يجب عليك أيضًا محاولة فهم استدامة المساهم على نطاق أوسع للنظر في الاتجاهات العامة عبر جميع المساهمين لمعرفة ما إذا كنت تعاني من نمو المساهم أو انخفاضه.
أنواع المساهمات
تؤثر المساهمات المتعددة والمتنوعة على صحة المشروع مفتوح المصدر واستدامته، وقد تشمل المساهمات كتابة التعليمات البرمجية، أو إدارة المجتمع، أو فرز الأخطاء، أو تبشير المشروع، أو دعم المستخدمين، أو المساعدة بطرق أخرى. يمكن لمجموعة متنوعة من أنواع المساهمة أن تثبت أن المشروع ناضج ومتكامل مع نشاط كافٍ للحفاظ على جميع جوانب المشروع، وتمكين مسارات القيادة التي تدعم مجموعة متنوعة من أنواع المساهمة والأشخاص ذوي الخبرات المتنوعة خارج نطاق البرمجة.
الخطوة الأولى: التشخيص
كما هو مذكور في مقدمة دليل الممارس، يجب أن تبدأ بالتحدث مع عدد قليل من الأشخاص المشاركين بشكل وثيق في المشروع حتى تتمكنوا من النظر معًا إلى الاتجاهات وتفسيرها بطريقة منطقية للمشروع. على سبيل المثال، توضح الصورة أدناه أن أكثر من 60% من الالتزامات في هذا المشروع في العام الماضي تمت بواسطة فرد واحد، مما يزيد في معظم الحالات من خطر أن يصبح المشروع غير مستدام إذا توقف هذا الشخص أو الأشخاص عن العمل حول المشروع. ومع ذلك، من المهم أيضًا التفكير في هذا في ضوء الجوانب الأخرى للمشروع. على سبيل المثال، إذا كان هذا المشروع في الغالب عبارة عن وثائق يمتلك العديد من الأشخاص المعرفة لتحديثها أو إذا كان رمزًا بسيطًا إلى حد ما وسهل على الآخرين فهمه أو إذا كان المشروع يستخدم في الغالب من قبل فرد واحد، فإن المخاطرة منخفضة نسبيًا. من ناحية أخرى، إذا كان المشروع معقدًا وكبيرًا و/أو مستخدمًا على نطاق واسع، فستكون المخاطر عالية ويجب أن يركز المشروع على توظيف المزيد من المساهمين والمشرفين لزيادة استدامة المساهمين.
من المهم أيضًا النظر إلى الاتجاهات الأخرى المتعلقة بالمساهمين. على سبيل المثال، يوضح الرسم البياني أدناه أن المساهمين النشطين بلغوا ذروتهم ثم انخفضوا في هذا المشروع، لذلك سيكون من المهم تشخيص سبب حدوث ذلك. إذا كان المشروع شيئًا محددًا زمنيًا (على سبيل المثال، يتعلق بمؤتمر أو ورشة عمل) تم الانتهاء منه أو مشروع تم الانتهاء من معظم العمل فيه ولا تتم صيانته بشكل بسيط، فسيكون هذا نمطًا طبيعيًا يمكن رؤيته. ومع ذلك، إذا كان هذا مشروعًا نموذجيًا مفتوح المصدر، فقد يشير ذلك إلى وجود مشكلات خطيرة تؤثر على الاحتفاظ بالمساهمين ويجب تشخيصها ومعالجتها.
الخطوة 3: جمع بيانات إضافية إذا لزم الأمر
لدى CHAOSS مقاييس أخرى تتعلق باستدامة المساهمين والتي يمكن أن تساعد في تشخيص مشكلات محددة داخل مجتمعك.
مقاييس إضافية:
الخطوة 4: إجراء التحسينات
يعد توظيف مساهمين جدد يمكن أن يصبحوا مشرفين أمرًا بالغ الأهمية لنجاح المشاريع التي تشكل فيها استدامة المساهمين مصدر قلق، بل إنه من الممكن لبعض المشاريع أن تتعافى من التخلي عنها من قبل مطوريها الأساسيين من خلال توظيف مشرفين جدد (Avelino et al. 2019). من خلال التركيز على تجنيد مساهمين جدد قبل أن تفقد المطورين الرئيسيين لديك، يمكنك الحصول على الوقت لضم المساهمين ومنع حدوث أزمة بشكل استباقي لاحقًا.
هناك بعض الأشياء التي يمكن أن يخبرك بها عامل غياب المساهم والتي يمكن استخدامها للمساعدة في دفع تحسينات المساهم التي تجعل مشروعك أكثر استدامة. أولاً، يساعدك ذلك على تحديد مدى استدامة وضع المساهم الحالي لديك. إذا كان شخص واحد هو الذي يقدم معظم المساهمات وكان المشروع كبيرًا أو معقدًا، فيجب عليك التركيز على طرق توزيع العبء وإشراك المزيد من الأشخاص في المشروع. ثانيًا، يمكن أن يساعدك مقياس عامل غياب المساهم في العثور على الأشخاص الذين قد يساهمون بأكثر مما أدركت، مما قد يساعدك على التفكير في من يمكنك تشجيعه على المساهمة بشكل أكبر أو ربما العثور على شخص يمكنه الانتقال إلى دور قيادي (على سبيل المثال، مراجع أو معيل). فيما يتعلق بالأدوار القيادية، قد تنظر إلى شخص يقدم عشرة بالمائة من المساهمات وتقرر أنه مستعد ليصبح مشرفًا. إحدى الطرق للقيام بذلك هي تقليل نطاق المشرفين الجدد. إذا لم يكونوا مستعدين للقيام بصيانة المشروع بأكمله، فربما يمكنهم صيانة مشروع فرعي أو قسم معين من المشروع أثناء بناء خبراتهم في مجالات أخرى. إحدى الطرق للقيام بذلك هي باستخدام OWNERS أو ملفات CODEOWNERS لمنح الأشخاص المسؤولية عن مناطق مختلفة داخل مستودعك، بما في ذلك المستندات أو أقسام المجتمع. قد يكون الأشخاص الذين يقدمون مساهمات أقل ولكن منتظمة مرشحين جيدين للإرشاد أو أن يصبحوا مراجعين بهدف جعلهم مشرفين بعد اكتسابهم المزيد من الخبرة.
من المهم أيضًا الاطلاع على أدلة المساهمة الخاصة بك أو وثائق الإعداد الأخرى للتأكد من أنه يمكن للمساهمين الجدد البدء بسهولة في مشروعك (راجع قسم القراءة الإضافية للحصول على الروابط). التوثيق الجيد هو كيفية توسيع نطاق الأشياء التي تستهلك وقتًا ثمينًا للمشرفين المثقلين بالفعل وتحرير وقتهم للعمل على أشياء أخرى. كحد أدنى، يحتاج المساهم الجديد إلى فهم كيفية إنشاء بيئة يمكنهم من خلالها إجراء التطوير، وتوقعات الاختبار وكيفية تشغيل الاختبارات، وأي عمليات أو توقعات لديك لطلبات السحب، وتعليمات للمتطلبات الأخرى. إذا تم توثيق ذلك جيدًا، فيمكن للمساهمين الجدد البدء بأقل قدر من المساعدة من المشرفين الحاليين، مما يمكن أن يوفر لك الكثير من الوقت على المدى الطويل (إغبال 2020). عندما لا يحتوي المشروع على مستندات إعداد جيدة، يمكن أن يشعر المشرفون بالإحباط بسبب مقدار الوقت الذي يقضونه في الإجابة على أسئلة المساهمين الجدد، مما قد يجعل من الصعب على المساهمين الجدد أن يشعروا بالترحيب ويستغرقون وقتًا طويلاً حتى يصبحوا منتجين. هذه هي الطريقة التي يشعر بها الناس بالإحباط والابتعاد عن مشروعك. هذا لا يعني أنك بحاجة إلى قضاء أيام وأسابيع في كتابة مستندات الإعداد المثالية. أي شيء أفضل من لا شيء، وإذا بدأت ببعض الأشياء التي ستساعد الأشخاص على البدء بسرعة، فيمكن للمساهمين الجدد المساعدة في الواقع في تحسين مستندات الإعداد عن طريق إضافة المزيد من التفاصيل والتعليمات الإضافية للأشياء التي وجدوها مربكة أو التي واجهوا صعوبة في حلها .
في حين أن التوثيق يعد وسيلة رائعة لبدء الأشخاص على نطاق واسع، فقد ثبت أن التوجيه هو وسيلة فعالة وفعالة لتأهيل المساهمين الجدد لمساعدتهم على أن يكونوا منتجين في مشروعك بسرعة أكبر (Fagerholm et al. 2014). ومع ذلك، فإن التوجيه يستغرق وقتًا طويلاً من المشرف على المدى القصير على أمل جعل المشروع أكثر استدامة على المدى الطويل، لذلك من المهم التفكير في المساهمين المتكررين الذين قد يكونون مرشحين جيدين للإرشاد (Egbahl 2020).
يعد الحصول على مشكلات أولية جيدة أو تسميات المساعدة المطلوبة أماكن ممتازة للبدء لأنها تساعد الأشخاص في العثور على شيء يمكنهم العمل عليه أثناء تعلمهم المزيد عن المشروع، ولكنك تحتاج إلى التفكير في صياغة هذه المشكلات في شيء يحتوي على معلومات كافية لأشياء جديدة المساهمين في الاستخدام. يجب استهداف الإصدارات الأولى الجيدة كشيء بسيط يمكن للمساهم الجديد التقاطه وإكماله في فترة زمنية قصيرة لمساعدته على معرفة المزيد حول عملية مساهمتك. يمكن أن تكون ملصقات المساعدة المطلوبة مخصصة للقضايا التي تنطوي على قدر أكبر من الاهتمام حتى يتمكن الأشخاص الذين بدأوا بالفعل في المساهمة من العثور على شيء آخر للعمل عليه. تساعدك الإصدارات الأولى الجيدة وعلامات المساعدة المطلوبة بالإضافة إلى أدلة المساهمة الجيدة في بناء مجموعة مستدامة من المساهمين لمشروعك.
ومع ذلك، فإن المشكلات الأولى الجيدة والتسميات المطلوبة للمساعدة هي طلبات سلبية للمساعدة، لذلك أشجع المشرفين أيضًا على أن يكونوا استباقيين ومحددين بشأن الطرق التي يمكن للأشخاص المساعدة بها. إن مطالبة شخص محدد بمراجعة العلاقات العامة أو الإجابة على سؤال من أحد المستخدمين يدل على أنك تعرف خبرته الفريدة وتريد مساعدته. إن معرفة أننا مرغوبون ومقدرون يجعلنا نشعر بالرضا، وهو ما يمكن أن يكون حافزًا قويًا للمساهمة في مشروع مفتوح المصدر أو مواصلة المساهمة. إن التواصل مع شخص ما والاعتراف بعمله مع تشجيعه على بذل المزيد من الجهد يمكن أن يساعدك في توظيف الأشخاص الذين يمكنهم تحمل مسؤوليات متزايدة (على سبيل المثال، مراجع أو مشرف) داخل مشروعك. لا تخف من التواصل مع مستخدميك المتميزين بالإضافة إلى المساهمين لديك، وإذا كنت تعمل في إحدى الشركات، فيمكنك استخدام علاقات شركتك مع المؤسسات الأخرى للعثور على الأشخاص الذين قد يكونون مهتمين بالمساهمة.
يمكن أن يساعد تحديد أدوار ومسؤوليات المساهمين والمراجعين والمشرفين في توظيف أشخاص جدد في هذه الأدوار. قد يكون من المفيد التفكير في هذا باعتباره سلم المساهم حيث يمكن للمساهمين أن يصعدوا ليصبحوا مراجعين ويمكن لهؤلاء المراجعين أن يصبحوا مشرفين. المهم هو توثيق ذلك والتأكد من أن الأشخاص يفهمون كيف يمكنهم تسلق السلم واكتساب المزيد من المسؤوليات داخل المشروع. يمكن أن يساعد نقل المزيد من الأشخاص إلى أدوار قيادية، مثل المراجع والمشرف، في تقليل عامل الناقل وجعل مشروعك أكثر استدامة بمرور الوقت.
المشكلة هنا ومع العديد من المقاييس هي أننا لا نريد أن نفكر فقط في الأشخاص الذين يقدمون مساهمات في التعليمات البرمجية. هذه بداية جيدة، ولكن يجب عليك أيضًا التفكير في كيفية نقل الأشخاص إلى مناصب قيادية ليكونوا مسؤولين عن أشياء قد لا تظهر في GitHub أو GitLab، مثل التوثيق وإدارة المجتمع والتسويق والأدوار المهمة الأخرى. ولهذا السبب من المهم جدًا النظر أيضًا إلى مقياس أنواع المساهمات. من الشائع أن نرى المشرفين يقللون من مقدار الوقت الذي يقضيه في بعض هذه المهام، كما أن تعيين المزيد من الأشخاص في أدوار أخرى يمكن أن يزيد من توزيع عبء العمل وزيادة استدامة المساهمين.
ينبغي أن يكون لدى المشرفين على مشروع ذي عامل غياب مساهم منخفض، خاصة إذا كانوا المشرفين الوحيدين، نوعًا ما من خطة الخلافة. على الأقل، يجب أن يتمتع شخص آخر بحق الوصول الإداري إلى كل ما هو مطلوب لتحديث البرنامج ونشر الإصدارات (بما في ذلك النشر إلى مديري الحزم ذات الصلة) بالإضافة إلى الوثائق الخاصة بكيفية القيام بذلك. من الناحية المثالية، يوجد مشرف آخر في المشروع يمكنه تقاسم المسؤوليات بالتساوي ولديه بالفعل الوصول والمهارات والمعرفة اللازمة لأداء جميع مهام المشروع، وهذا أحد الأسباب التي تجعل المناقشات المذكورة أعلاه حول بناء قاعدة المساهمين وتوظيف المشرفين مهمة جدًا . على الرغم من أنه ليس مثاليًا، إلا أن التخطيط لخلافة مشاريع المشرف الفردي يمكن أن يشمل توفير الوصول والتوثيق إلى زميل أو صديق موثوق به. إن مفتاح التخطيط للخلافة هو وضعه موضع التنفيذ الآن، قبل أن تعتقد أنك بحاجة إليه.
الخطوة 5: مراقبة النتائج
ستعتمد كيفية مراقبة النتائج على التحسينات التي قررت إجراؤها. يعد الاستمرار في مراقبة هذه المقاييس الثلاثة بداية جيدة. إذا استخدمت بيانات أخرى من الخطوة 3، فيجب عليك أيضًا مراقبة هذه المقاييس.
إذا كنت تقوم بتعيين مساهمين ومعتمدين ومشرفين جدد، فقد يستغرق الأمر بعض الوقت لرؤية نتائج هذه الجهود، لذلك قد لا ترى تحسينات كبيرة لمدة 3 إلى 6 أشهر، لذلك ستحتاج إلى مراقبة ذلك على مدى فترة أطول من الوقت.
تحذيرات واعتبارات
- من المهم التفكير في الديناميكيات البشرية التي يمكن أن تؤثر على استدامة المساهمين ومعاملة الأشخاص بلطف واحترام أثناء عملك على إجراء التحسينات.
قراءة إضافية
- لدينا فيديو قصير (<3 دقائق) مخصصة لهذا الدليل على قناة CHAOSS على اليوتيوب.
- حلقة بودكاست CHAOSScast حول هذا الدليل.
- لدى CNCF العديد النماذج لكتابة جيدة المساهمة. md دليل و سلم المساهم.
- تشير دليل ممارس الاستجابة يحتوي أيضًا على بعض الاقتراحات المماثلة التي يمكن تطبيقها على استدامة المساهمين.
- العمل في الأماكن العامة: صنع وصيانة البرمجيات مفتوحة المصدر by نادية اقبال يحتوي على عدد لا بأس به من الاقتراحات والمراجع الجيدة حول هذا الموضوع في الفصل الخامس، إدارة تكاليف الإنتاج.
مشاركة الرأي
نود أن نحصل على تعليقات لمعرفة المزيد حول كيفية استخدام الأشخاص لأدلة ممارسي CHAOSS وكيف يمكننا تحسينها بمرور الوقت. يرجى إكمال هذا إستطلاع رأى قصير لتقديم ملاحظاتك.
المساهمين
ساهم الأشخاص التالية أسماؤهم في هذا الدليل:
- داون فوستر
- تشان فونج
- جيفري أوسير ميكسون
- لويس كانياس دياز
مراجع حسابات
- أفيلينو، جي، كونستانتينو، إي، فالينتي، إم تي، وسيريبرينيك، أ. (2019، سبتمبر). حول التخلي عن المشاريع مفتوحة المصدر وبقائها: دراسة تجريبية. في الندوة الدولية ACM/IEEE لعام 2019 حول هندسة البرمجيات التجريبية والقياس (ESEM) (الصفحات 1-12). IEEE.
- إقبال، ن. (2016). الطرق والجسور: العمل غير المرئي وراء بنيتنا التحتية الرقمية. نيويورك، نيويورك: مؤسسة فورد.
- إقبال، ن. (2020). العمل في الأماكن العامة: صنع وصيانة البرمجيات مفتوحة المصدر. الصحافة الشريطية.
- فاجيرهولم، ف.، غينيا، AS، مونش، ج.، وبورنشتاين، ج. (2014، سبتمبر). دور التوجيه وخصائص المشروع للتأهيل في مشاريع البرمجيات مفتوحة المصدر. في وقائع الندوة الدولية الثامنة لـ ACM/IEEE حول هندسة البرمجيات التجريبية والقياس (الصفحات 8-1).
أدلة ممارس CHAOSS هي وثائق حية مرخصة من معهد ماساتشوستس للتكنولوجيا (MIT)، ونحن نرحب بتعليقاتك ومدخلاتك. يمكنك اقتراح تعديلات على هذا المستند على https://github.com/chaoss/wg-data-science/blob/main/practitioner-guides/contributor-sustainability.md