كيفية إنشاء برنامج مفتوح المصدر

مكتمل

نناقش هنا الاعتبارات الرئيسية لإنشاء برنامج مفتوح المصدر.

ماذا نعني ب "مفتوح المصدر؟"

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

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

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

أهداف مفتوحة المصدر

باختصار، توجد ثلاثة أبعاد للمشاركة في البرمجيات مفتوحة المصدر كما يلي:

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

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

رسم تخطيطي لمستوي العمليات مفتوحة المصدر.

  • خاص، أي لا يحتوي على عملية مناسبة. أي إن النجاح يعتمد على الجهود الفردية.
  • مُدار، أي يحتوي على عملية موثَّقة جزئياً. أي إن النجاح يعتمد على الالتزام.
  • مُحدد، أي يحتوي على عملية موثَّقة، وموحدة، ومتكاملة. أي إن النجاح يعتمد على الأتمتة.
  • قابل للقياس، أي له عملية مُدارة كمياً. أي إن النجاح يعتمد على قياس المقاييس مقابل أهداف العمل.
  • محسن، والذي يحتوي على عملية تتحسن باستمرار وموثوقية من خلال كل من التغييرات التزايدية والمبتكرة. أي إن النجاح يعتمد على تقليل مخاطر التغيير.

للتعرف بصورة أفضل على وضع مؤسستك، يرجى إجراء التقييمات الذاتية مفتوحة المصدر.

ما المشاريع التي ينبغي أن تكون مفتوحة المصدر؟

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

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

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

  • هل يُعد مشروعك مفيداً للأشخاص خارج شركتك؟ إذا لم يكن الأمر كذلك، فمن المحتمل أنك لن تحصل على أي مشاركة.

  • هل يمكن للأشخاص من خارج شركتك المساهمة؟ يحتاجون إلى الوصول إلى جميع تبعيات المشروع وعمليات الإنشاء وأي شيء آخر مطلوب لتشغيل المشروع. إذا لم يتمكنوا من تشغيله، فلن يتمكنوا من المساهمة.

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

تُعد هذه الأسئلة مجرد جزء بسيط من الأسئلة الشائعة التي ينبغي مراعاتها. قد تواجه مؤسستك مشكلات أخرى في العمل أو التوافق يجب أن تضعها في الاعتبار.

تصميم برنامج مفتوح المصدر

يشبه تشغيل برنامج مفتوح المصدر تشغيل برنامج InnerSource، ولكن يكون ذلك للجمهور العام. ونتيجة لذلك، هناك بعض الاعتبارات الأخرى.

تحديد توقعات المجتمع

تعد الملفات مثل README.md و CONTRIBUTING.md أكثر أهمية لأنها تتعرض للأشخاص الذين ليس لديهم سياقك التنظيمي. يجب تقييمها من منظور شخص من خارج الشركة لضمان الوضوح.

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

إعداد الموظفين للحفاظ على مستودع

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

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

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

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

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

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

  • دليل اتصالات يقدم إرشادات مشرفي المستودعات لبعض الموضوعات التي تفضل عدم تضمينها في الملفات العامة مثل README.mdأو CONTRIBUTING.mdأو CODE_OF_CONDUCT.md. قد تكون هذه المواضيع مواضيع تجارية حساسة، مثل عدم مناقشة المنافسين؛ أو مواضيع سلوك أكثر عمومية، مثل كيفية التعرف على أفضل المساهمين بشكل مناسب.

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

  • سياسة ترخيص تسرد التراخيص التي وافقت عليها الإدارة القانونية أو رفضتها فيما يتعلق بالاستهلاك أو المساهمة مفتوحة المصدر.