مجلة المعلوماتية مجلة المعلوماتية
المعرفة • البحث • التقنيةأعداد متاحة للقراءة الإلكترونية

ما الذي ينبغي معرفته قبل فتح مصدر مشروعك؟

العددالعدد 62
تاريخ النشر
عدد القراءات0
اقتباس

الملخص:

يناقش المقال الاستعداد لفتح مصدر مشروع مؤسسي، مؤكدًا أن نشر الشيفرة يصاحبه تغير في العمليات والثقافة والعلاقة مع المجتمع. ويبدأ بتحديد أهداف الشركة وفهم توقعات المساهمين، ثم يشرح أهمية بناء الثقة بالتواصل والتطوير العلنيين. ويتناول نقل القضايا إلى نظام عام بعد مراجعة المعلومات الخاصة، وفتح خريطة الطريق، وتوثيق مسار مساهمة موحد، وإتاحة عمليات البناء ومخرجاتها. كما يناقش الحوكمة والأدوات وإعلان القرارات وأسبابها، مع مراعاة حدود المعلومات الاحتكارية ومسؤوليات الشركة. ويؤكد أن المجتمع لا يتكون تلقائيًا بمجرد تغيير الترخيص، بل يحتاج تعاونًا واستجابة واحترامًا واستمرارية. ويعرض متطلبات تنظيمية ينبغي تكييفها مع المشروع، بحيث تدعم أهداف المؤسسة وتتيح مشاركة مفهومة وفعالة للمساهمين من داخلها وخارجها.

الكلمات المفتاحية: فتح المصدر، الحوكمة، مجتمعات البرمجيات، مسار المساهمة، التطوير العلني

مقدمة:

تستعد شركتك لإطلاق مشروع داخلي بوصفه مشروعًا مفتوح المصدر. تهانينا! تعرف أن الشفرة جاهزة، لكن هل أنت مستعد لجميع مسؤولياتك الجديدة؟

حين يطلق المشروع مفتوح المصدر، لا تصبح الشركة مسؤولة عن المشروع فقط، بل عن المجتمع الذي سيتشكل حوله أيضًا. وغالبًا ما يقتضي ذلك تغيير مسار التطوير والبناء والإصدار. فالمسألة لا تتعلق بالشفرة ذاتها، بل بالعمليات والبنية التي تحيط بها وتجعل المشروع ناجحًا.

إليك ما ينبغي معرفته وتوقعه قبل إطلاق مشروعك المفتوح المصدر.

حدد أهداف شركتك

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

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

افهم توقعات المجتمع

قد تظل الشركة صاحبة القرار بشأن المساهمات التي تُدمج ووقت تجميع الإصدار، لكن ينبغي إجراء التطوير كله علنًا، بالتواصل والتنسيق مع المجتمع الذي ينشأ حول المشروع.

أي إن على المشروع العمل وفق توقعات المجتمع الراسخة للمشروعات المفتوحة المصدر. وتشمل، على سبيل المثال لا الحصر، ما يأتي.

تجري جميع أعمال التطوير علنًا وبالتنسيق والتعاون مع المجتمع؛ بما فيها إصلاح الأخطاء، وتطوير الخصائص الجديدة، وخرائط طريق المنتج، والمناقشات وتتبع القضايا المتصلة بها.

تجري علنًا جميع عمليات البناء المتصلة بالشفرة، مثل التكامل والنشر المستمرين، وتكون متاحة للمجتمع ويمكنه الوصول إليها.

تقبل الشركة مساهمات المجتمع، ولا تعني المساهمة الشفرة فقط، بل التوثيق والتصميم والتوجيه بشأن خريطة الطريق والحوكمة وغير ذلك من شؤون المشروع. وينبغي مراجعة جميع المساهمات والنظر فيها سريعًا، وتقديم الإفادات عنها علنًا.

اعرف أن المجتمع هو الأساس

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

إذا كان الأمر يتطلب كل هذا العمل، فلماذا نفعله؟

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

تتحقق هذه الثقة بأداء العمل كله علنًا، والتواصل والتعاون مع المجتمع. وأي قرارات منفردة تمامًا أو سرية تتخذها الشركة تنتهك الثقة وتنفر المجتمع. وإذا نفر، غادر؛ وقد ينشئ نسخة متفرعة من الشفرة ليبدأ في مكان آخر.

لا يمكن الانتفاع من مجتمع يختفي. وستبقى الشركة عندئذ مع شفرة مفتوحة لا يستخدمها أحد ولا يهتم بها، فضلًا عن عجزها عن تحقيق الأهداف التي حددتها لفتح المصدر.

أطلق نظام تتبع القضايا العام

بمجرد إطلاق المشروع، يجب أن تتاح جميع تقارير الأخطاء، القديمة والجديدة، في نظامه العام لتتبع القضايا. وفيما يأتي بعض المطلوب.

انقل الأخطاء والتذاكر والقضايا القائمة إلى نظام المشروع. وقد يحتاج النقل إلى برنامج نصي. وقبل نقل أي شيء، راجع القضايا كلها وأغلق ما لا أمل واقعيًا في إصلاحه. وأزل أي معلومات مملوكة ملكية خاصة من القضايا القديمة قبل نقلها إلى النظام العام.

قرر هل تنقل الأخطاء والتذاكر والقضايا المغلقة. هذا اختياري، لكنه قد يقدم سياقًا مفيدًا للتطوير اللاحق. وأزل المعلومات الخاصة من أي قضايا مغلقة تعتزم إتاحتها علنًا.

أنشئ مسار عمل يوجه جميع الأخطاء والتذاكر والقضايا بكفاءة إلى النظام العام وعبره. ونسق مع جميع موظفي الشركة الذين يبلغون عنها أو يتعاملون معها ودربهم. وإذا كنت تستخدم أداة عامة للإبلاغ مثل ZenDesk، فيجب أن يضمن المسار نقل ما يبلّغ فيها بكفاءة إلى النظام العام، مع استمرار حصول المبلّغين، وهم عادة العملاء، على الخدمة والمعلومات التي اعتادوها.

استعد لفتح خريطة طريق المنتج

حين يصبح المشروع مفتوح المصدر، تصبح خريطة تطويره وجميع المناقشات المتصلة بها متاحة علنًا.

ينبغي أن تجري المناقشات والقرارات المتعلقة بما يدخل الخريطة وأسباب إدراجه علنًا، مع إسهام المجتمع. وينبغي إدماج إفاداته في الخريطة.

تنبيه: مع أن الخريطة ومناقشاتها علنية ويشارك فيها المجتمع، فقد تظل الكلمة الأخيرة للشركة، ما لم تتخذ ترتيبات أخرى، بشأن ما يدخل الخريطة ومتى ولماذا. وينبغي ممارسة ذلك باحترام للمجتمع الذي بات المشروع يخدمه ويدعمه.

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

عرّف مسار المساهمة

بعد فتح المصدر، يجب أن تمر جميع المساهمات في مسار واحد ظاهر للجمهور، سواء أتت من الشركة الأصلية أم المجتمع.

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

وعندما تجهز المساهمة، يرسلها إلى المستودع العام. وتختلف العملية باختلاف نظام ضبط الإصدارات وتفضيلات المشروع.

يراجع المساهمة علنًا أعضاء مؤهلون في المجتمع، يعرفون عادة بالمساهمين الأساسيين. ثم يختارون دمجها أو تأجيلها أو إغلاقها، أي رفضها. وإذا دُمجت، فقد يكون ذلك في master/head أو في فرع آخر، وفق احتياجات المشروع ومساره.

ينبغي لكل مشروع أن يحدد احتياجاته ومسار مساهماته الخاص، وأن يتيحهما علنًا في ملف CONTRIBUTING.md.

لا تنس عملية البناء

كثيرًا ما تُغفل عملية البناء عند التخطيط لفتح مصدر مشروع داخلي. وهذا مؤسف؛ لأنها تصبح علنية أيضًا بعد إطلاق المشروع.

عند فتح عملية البناء، تأكد من عدم وجود نسخة متفرعة احتكارية أو داخلية فقط من الشفرة؛ فوجودها يخون ثقة المجتمع فيغادر، ويزيد كثيرًا العمل المطلوب للدمج والصيانة.

يجب أن تستخدم جميع عمليات البناء شفرة متاحة للجمهور، سواء master/head أو فرعًا مستقرًا مخصصًا للبناء، بحسب الأنسب للمشروع والمنتج.

وينبغي إتاحة جميع مخرجات البناء علنًا فور اكتماله. أما كيفية توزيعها بعد ذلك، كإرسالها إلى العملاء، فقرار تجاري. لكن مخرجات البناء، بما فيها الملفات التنفيذية النهائية، تبقى متاحة دائمًا للجمهور.

ادعم النقاش العلني للحوكمة والأدوات

بعد إطلاق المشروع، يجب اتخاذ جميع القرارات المؤثرة فيه أو في مجتمعه علنًا، بما فيها تغييرات الحوكمة، وتعديل أدوات مثل ضبط الإصدارات أو التكامل المستمر، وتغيير مسارات الاتصال أو إضافتها.

ولا يعني ذلك بالضرورة إحالة كل قرار صغير إلى لجنة أو اشتراط نقاش شامل من المجتمع كله. فكثيرًا ما يكفي طلب المقترحات والإفادات من المجتمع والنظر فيها عند اتخاذ القرار.

ويجب إعلان القرارات النهائية وأسبابها ونتائجها المتوقعة علنًا وإتاحتها وتوثيقها في النظام الذي يستخدمه المشروع لهذه الأمور، وهو عادة قائمة بريدية مع نظام التوثيق أو ويكي.

افتح كل ما يتعلق بالمشروع المحدد

لقد اتضحت الفكرة الآن: كل ما يتعلق بالمشروع ينبغي إنجازه علنًا.

بمجرد إطلاق المشروع مفتوح المصدر، لا يعود ملكًا لـ«أنتم»، أي الشركة، بل يصبح ملكًا لـ«نحن»، أي المجتمع الذي تشكل الشركة جزءًا منه. ويعني ذلك إشراك المجتمع في جميع المراحل المقبلة.

جزيل الشكر لجون إس. جي. أندرسون على مراجعته ومقترحاته لهذا المقال. وأي عيوب فيه هي مسؤوليتي وحدي.

المراجع

  • https://twitter.com/genehack

اقتبس هذا المقال

في. إم. «فيكي» براسور (2018). «ما الذي ينبغي معرفته قبل فتح مصدر مشروعك؟». مجلة المعلوماتية، العدد 62. https://informaticsjournal.net/?p=50383

مشاركة:

مقالات ذات صلة