كيف تساهم في المشاريع مفتوحة المصدر – الدليل الشامل للمبتدئين

كيف تساهم في المشاريع مفتوحة المصدر – الدليل الشامل للمبتدئين

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

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

هذا جزء مما تستطيع تحقيقه، سيكون لديك الفرصة أيضًا للقيام بما يلي:

  • إحداث أثر من خلال عملك
  • بناء معرض أعمالك
  • التواصل مع مطورين آخرين
  • تنمية مجتمع المطورين

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

فهرس المحتويات

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

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

ببساطة هي الشيفرة المصدرية والمشاريع المتاحة للكل كي يقوموا بمشاهدتها أو استخدامها أو التعديل عليها أو توزيعها تحت رخصة.

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

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

خصائص البرمجيات مفتوحة المصدر

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

أنواع الرخص مفتوحة المصدر

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

من أكثر أنواع الرخص شيوعًا:

  • الرخصة العامة GPL: تمنح المستخدم النهائي حرية تنفيذ ودراسة ومشاركة وتعديل البرنامج.
  • رخصة MIT: ناتجة من معهد ماساشوستس للتكنولوجيا، وتسمح بإعادة استخدام البرامج الخاصة.
  • رخصة أباتشي Apache: تستخدم عادة مع المشاريع المرتبطة مع مؤسسة أباتشي للبرمجيات.
  • رخصة BSD: هي مجموعة من رخص البرمجيات الحرة التي تمنع بحد أدنى استخدام وتوزيع البرامج المرخصة بواسطتها.
  • رخصة موزيلا العامة: هي رخصة الحقوق المتروكة التي تتطلب من المؤلف مشاركة التعديلات التي يجريها على الشيفرة.
  • رخصة المبدعين العامة: لا تستخدم فقط في البرمجيات ولكن للأعمال الإبداعية الأخرى أيضًا. تستخدم عندما يسمح المؤلف لأناس آخرين لمشاركة واستخدام والبناء على عملهم.
    من المهم أن يكون لديك معرفة بهذه الرخص في مرحلة مبكرة لأنها تحدد كيفية استخدام ومشاركة مساهمتك.

مزايا المساهمة في البرامج مفتوحة المصدر

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

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

كيفية البدء بالمساهمة في المشاريع مفتوحة المصدر

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

أولًا: تحديد العقلية المناسبة

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

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

ثانيًا: اختيار لغة البرمجة/ التقنية

اختر لغة البرمجة أو التقنية التي تفضلها للمساهمة بفعالية، ولتحقيق ذلك ستحتاج لما يلي:

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

ثالثًا: إيجاد المشاريع

اختيار المشاريع مفتوحة المصدر المناسبة يعزز مساهمتك. هناك عدة طرق يمكنك البحث فيها عن المشاريع. إليك بعض الطرق المعروفة:

  • استخدم المواقع مفتوحة المصدر: ابحث في المنصات المختلفة التي تنشر العديد من المشاريع مفتوحة المصدر. مثل GitHub Explore وGitLab Explore وOpen Source Friday وما يشابهها إذ أنها تنشر مشروعات مفتوحة المصدر مما يسهل عملية البحث.
  • منصات الشيفرة المصدرية: مثل GitHub وGitLab الأساسيتين للعالم مفتوح المصدر. ابحث في هذه المنصات باستخدام كلمات مفتاحية وانتقي المشاريع المختلفة للحصول على مشاريع تتفق مع اهتماماتك بسهولة.
  • المشاريع النشطة: انتبه عند بحثك على تعليقات حديثة أو مشكلات مفتوحة وحوارات لا تزال قائمة. المجتمع النشط هو دليل على نجاح المشروع.
  • تفاعل المجتمع: تفاعل مع مجتمع المشروع قبل البدء بالمساهمة عن طريق الانضمام للمنتديات ولوائح الايميلات أو قنوات الدردشة. أسأل وتفاعل مع الآخرين لفهم ديناميكية المشروع.

رابعًا: اختيار المشروع الصحيح

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

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

بعدما وجدت المشروع الذي تريد أن تساهم فيه، يجب أن تقوم ببعض التدقيق. تأكد من أن المشروع يتبع المعايير لتضمن أنه مشروع جيد للعمل عليه:

  • تحقق من ملف الرخصة.
  • انظر إلى عدد المساهمين.
  • عدد الإيداعات وتواترها.
  • هل يحتوي على مشكلات مفتوحة؟ إذا كان يحتوي فهذا أمر جيد إذ يمكنك أن تبدأ منها
  • سرعة استجابة المسؤولين عن المشروع، إذ يمنحك ذلك مؤشرًا جيدًا على سرعة حل المشكلات ودمج طلبات السحب Pull Request
  • هل هناك نقاش فعال على المشكلات؟
  • هل تُحلّ المشكلات بشكل منتظم؟
  • ما هو عدد طلبات السحب الفعالة؟
  • متى تم دمج آخر طلب سحب؟
  • هل يشكر المسؤولون عن المشروع المساهمين؟

إذا كانت الأجوبة على هذه الأسئلة مبشّرة فهذا يعني أنك مستعد للبدء في المساهمة.

إليك بعض أبرز المشاريع مفتوحة المصدر العربية:
https://github.com/mobadarah/tajmeeaton

GitHub - linuxscout/arabicnlptoolslist: Arabic NLP tools List inventory

GitHub - mpcabd/python-arabic-reshaper: Reconstruct Arabic sentences to be used in applications that don't support Arabic

GitHub - ARBML/tnkeeh: Arabic cleaning, normalization and segmentation library.

كيفيّة التنقل في المجتمعات مفتوحة المصدر

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

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

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

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

فهم حركة المجتمع

كل مجتمع مفتوح المصدر يمتلك قيمه وثقافته الخاصّة. فهم هذه الديناميكيّة هو المفتاح للاندماج بسير عمل المشروع بنجاح.

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

كيفية البحث عن المجتمعات مفتوحة المصدر والانضمام إليها

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

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

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

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

البحث عن مشاريع بلغة بايثون

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

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

منتدى موقع freeCodeCamp

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

  • وسائل التواصل الاجتماعي: يُنصح بمتابعة حسابات المشاريع مفتوحة المصدر على منصات مثل إكس (تويتر) و لينكدإن وجيتهاب للبقاء على اطلاع على أحدث الأخبار، وبالتالي يمكن للأشخاص النشطين على منصات التواصل الاجتماعي الحصول على فرص أفضل. للحصول على التحديثات السريعة والأخبار المتعلقة بمشروع معين، فهذا هو المكان المناسب لك - إضافةً إلى أنّه يتيح لك التفاعل مع أشخاص آخرين مهتمين بنفس المشروع الذي يهمّك.
  • التجمعات والمؤتمرات: ستمتلك فرصة مرتفعة بالمشاركة في المشاريع مفتوحة المصدر عند حضور التجمعات المحلية والمؤتمرات وورش العمل المتعلقة بهذه المشاريع.
  • المجتمعات عبر الإنترنت: استخدم منصات مثل Stack Overflow وReddit وDiscord للتواصل مع المساهمين الآخرين.

آداب السلوك ومعايير الاتصال وأفضل الممارسات

بعد أن وجدت المجتمع الذي تريد الانضمام إليه، من المهم أن تتابع آداب السلوك ومعايير الاتصال لهذا المجتمع. وهنا سأقدّم لك دليلاً لأفضل الممارسات:

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

كيفيّة تهيئة بيئة التطوير

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

تثبيت الأدوات اللازمة

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

محررات النصوص وبيئات التطوير المتكاملة (IDEs)

محررات النصوص وبيئات التطوير المتكاملة تساعدك في كتابة الشيفرة وإدارتها وتحريرها، يمكنك الاختيار بين العديد من الخيارات مثل Visual Studio Code أو Sublime Text أو بيئات تطوير JetBrains مثل PyCharm أو IntelliJ IDEA وذلك اعتماداً على لغة البرمجة التي تفضلها.

تقدم هذه الأدوات ميزات مثل:

  • تنسيق الشيفرة.
  • الإكمال التلقائي.
  • تصحيح الأخطاء.

ويمكن أن تساعد هذه الميزات في تحسين تجربة البرمجة. تأكّد من تثبيت الإضافات الضروريّة بالإضافة إلى تثبيت البيئة والذي يجعل سير العمل أكثر سلاسة.

أنظمة التحكم بالإصدارات

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

إلا أنّ نظام Git وحده غير كافٍ لإتمام كل ذلك، لذا يعمل بالتعاون مع جيتهاب GitHub، وجيتهاب هي منصة على الويب تسمح لك باستضافة مصدر للشيفرة والذي يُشار إليه بالمستودع. تقدم جيتهاب بالتعاون مع Git مجموعة من الفوائد المميّزة للمطورين - إلّا أن الميزة الأهم، بغض النظر عن التعاون، أنّها توفر واجهة بصرية لإدارة المستودعات. ما يسهّل تتبع المشاكل، ودمج التغييرات وغيرها من التعديلات.

للبدء، يجب أولاً تحميل Git وإعداده كأي برنامج آخر. ولكن قبل ذلك، تأكد من أن لديك حساب جيتهاب. إذا لم يكن لديك، يمكنك زيارة github.com وإنشاء حساب ثم المتابعة مع الخطوات التالية:

  • الخطوة الأولى: تحميل Git من الموقع الرسمي.
  • الخطوة الثانية: تشغيل ملف التثبيت لتثبيت Git محلياً. لمستخدمي أنظمة تشغيل غير ويندوز، راجع الأوامر الخاصة بتثبيت Git من الموقع الرسمي.
  • الخطوة الثالثة: ضبط Git بمعلوماتك، التي تتضمّن اسم المستخدم والبريد الإلكتروني. لذلك، ستحتاج إلى فتح طرفيّة Git وتشغيل الأوامر أدناه:
git config --global user.name "Your name here"
git config --global user.email "your_email@example.com"

لمزيد من التخصيص، نفذ الأوامر التالية. الأمر الأوّل سيضيف بعض الألوان إلى الخرج، والأمر الثاني سيطلب من Git استخدام محرر emacs.

git config --global color.ui true
git config --global core.editor emacs

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

كيفية تفريع المشاريع واستنساخها وإعدادها

الآن سنمرّ على مجموعة من أهم النقاط المتعلّقة باستخدام Git.

أولاً، ما هو التفريع forking؟ يتيح لك إنشاء نسخة شخصية من مستودع المشروع على حسابك في جيتهاب. تأتي أهميّة هذه الخطوة عندما تبحث عن طريقة للمساهمة في مشروعٍ لا تملك وصولاً مباشراً إليه. لتفعيل التفريع للمستودع، كلّ ما عليك فعله هو الضغط على Fork، الموجود في الزاوية أعلى يمين صفحة المستودع الخاصة بـجيتهاب.

تفريغ مشروع على جيتهاب

سيسمح لك ذلك بإنشاء نسخة من المستودع في حسابك وبالتالي يغير الرابط الخاص بالمشروع إلى:

https://github.com/<your-user-name>/projectname

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

بدايةً، عليك الانتقال إلى حسابك الشخصي وتحديد المستودع المتفرّع. انسخ الرابط من المتصفح مباشرة أو استخدم زر Code لنسخ الرابط. لديك ثلاثة خيارات: HTTPS وSSH وGitHub. يمكنك اختيار أحد الخيارين الأولين.

نسخ رابط مستودع على جيتهاب

ثمّ افتح طرفيّة على حاسبك ونفّذ هذا الأمر:

git clone https://github.com/<your-user-name>/<projectname>

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

تنفيذ أمر استنساخ مستودع

كبديلٍ عن ذلك، يمكنك استخدام تطبيق سطح المكتب الخاص بـجيتهاب لتنفيذ جميع الخطوات أعلاه. ولكن بدايةً تأكّد من أنّه مثبّت ومعدّ بشكل كامل.

ثمّ، بدلاً من نسخ الرابط ولصقه على الطّرفية الخاصة بك، اختر الخيار الذي يقول Open with GitHub Desktop.

فتح مستودع جيتهاب باستخدام جيتهاب ديسكتوب

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

فهم بنية المشاريع وسير العمل

تأتي المشاريع مفتوحة المصدر بأشكال وضخامة مختلفة، ولكنّ المشترك بين جميع المشاريع هو بنية المشروع وسير العمل فيه. وعند فهم عمليّة التطوير ستكون المشاركة في المشروع أسهل.

ملخّص لبنية المشروع الاعتيادي مفتوح المصدر

عادةً ما يرتبط المشروع مفتوح المصدر بمجموعة من الأشخاص:

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

بالإضافة إلى اختلاف الأدوار والأشخاص، بنية المشروع ستبدو غالباً بهذا الشّكل:

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

ستجد أدناه قسماً يحتوي على بنية الملفات في مستودع freeCodeCamp مع معظم الملفّات التي ذكرناها مسبقاً:

هيكل مشروع ملف مفتوح المصدر

كيفية المساهمة للمرّة الأولى في مشروع مفتوح المصدر

قبل أن تقوم بمساهمتك الأولى، تأكّد أنك اخترت مسألةً أو مهمّةً متناسبةً مع مستواك كمبتدئ للعمل عليها. ولتحقيق ذلك؛ هذه بعض النصائح التي قد تساعدك:

  • تصفّح متتبّع المشاكل issues trackers الخاصة بالمشروع على إحدى المنصات مثل جيتهاب، وخلال عملية البحث ابحث عن مشاريع معنونة بـ "مناسبة للمبتدئين"، أو "مناسبة كمسألة أولى"، أو "نحتاج بعض المساعدة!"، حيث أنّ هذه المشاريع تصمّم عادةً من أجل المبتدئين. هذا الدليل يقدّم مجموعةً من المعلومات حول هذا الموضوع.
  • تأكد من فهم وصف المسألة قبل البدء بالعمل على المهمّة. وهذا سيساعدك على اختيار مهمات تتناسب مع خبراتك واهتماماتك.
  • إن كنت جديداً تماماً ولا تملك أي خبرة مسبقة في المجال، ابحث عن المشاريع التي تقدّم الإرشاد للمبتدئين.

دليل المساهمة في المشاريع مفتوحة المصدر خطوةً بخطوةً

الآن؛ بعد أن عرفت كيف تبحث عن مشاريع مناسبة للمبتدئين - ولنفترض أنك وجدت مشروعاً يناسب مهاراتك - الخطوة التالية ستكون أن تساهم في المشروع.
للتوضيح، مساهمتي لن تتضمّن إضافة شيفرات (وسأناقش المزيد حول هذه النقطة لاحقاً).

  • الخطوة الأولى: فرّع المستودع.
  • الخطوة الثانية: انسخ المشروع إلى حاسوبك.
  • الخطوة الثالثة: أنشئ فرعاً جديداً.

لإنشاء فرع، استخدم الأمر التالي وتأكد من إعطاء الفرع اسمًا وصفيًا:

git checkout -b descriptive name

وهذا سينشئ فرعاً ويبدّل إليه بشكل آليّ.

إنشاء فرع جديد

  • الخطوة الرابعة: أجرِ التغييرات الضروريّة - مثل الأخطاء الإملائية، الأخطاء التقنية في الشيفرات، وغيرها - وكلّ ذلك يعتمد على المسألة التي اخترتها.
  • الخطوة الخامسة: بعد القيام بهذه التغيّيرات، حان الوقت لإضافة تغييرات جديدة على الفرع الأساسيّ. ويمكنك رؤية جميع التغييرات التي تمّ القيام بها من خلال تشغيل: git status.

فحص حالة مستودع Git

لإضافة كل ملف تم تعديله بشكل فردي، استخدم الأمر git add file-name أو يمكنك إضافة جميع الملفّات المعدّلة معاً من خلال استخدام: git add *‎

حالة مستودع Git بعد إضافة الملفات

ستلاحظ أن التغييرات لم تعد معروضة باللون الأحمر وإنّما أصبحت معروضة باللون الأخضر. ما يعني تنفيذ التّعديل.

بعد التنفيذ، يمكنك الانتقال إلى خطوة توثيق هذه التغييرات برسالة توضح ما قمت به:

git commit -m "<message here>"‎

رسالة إيداع

  • الخطوة السادسة: من المهم مزامنة المستودع الفرعي مع المستودع الأساسيّ. الذي يتضمّن جميع التعديلات التي قام بها المساهمون. وللقيام بذلك، نفذ الأمرين أدناه واحداً تلو الآخر:
git fetch upstream
git rebase upstream/main
  • الخطوة السّابعة: ارفع التغييرات إلى جيتهاب، والآن بعد أن تمّ تجهيز كلّ شيء، بات الوقت مناسباً لإخبار المشرفين بالتغييرات التي قمت بها. وذلك من خلال تشغيل هذا الأمر: git push origin descriptive-branch-name

رفع التغييرات عبر دفع الفرع

  • الخطوة الثامنة: الخطوة الأخيرة؛ حيث يتمّ تقديم طلب لرفع التعديلات. ولهذه الخطوة عليك العودة إلى جيتهاب، حيث ستجد أسفل المستودع الذي اشتققت منه مشروعك واجهةً تحمل زرّ Compare & pull request، وكلّ ما عليك فعله هو الضغط عليه.

إضافة طلب سحب وتعديله

ثمّ يمكنك تسمية طلبك وإضافة وصف تفصيليّ للتعديل الذي قمت به، وإضافة علامات على قائمة التحقّق (إن وجدت) لتأكيد أنّك استوفيت جميع المتطلّبات، ثمّ الضغط على زرّ Create pull request الموجود أسفل صندوق الوصف.

إضافة طلب سحب وتعديله

وبعدها سيقوم المشرفون بدمج التعديلات مع الفرع الأساسيّ للمشروع (إلّا إن كان هناك تحديثات لم تعلم بها مسبقاً). وفي هذه الحالة سيصلك إشعار عبر البريد الإلكتروني بأنّه قم تمّ دمج التعديلات التي قمت بها.

التعاون مع المجتمع

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

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

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

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

هناك عدّة طرق لمعالجة هذه التحديات الشائعة والمشاركة المجتمعية في ذات الوقت لتحقيق نجاح المشروع:

  1. المشاركة في النقاشات والمنتديات.
  2. منح وتلقّي الآراء حول المشاركات.
  3. التعلّم من المساهمين ذوي الخبرة.
  4. إرشاد المساهمين الآخرين والمشاركة في البرمجة الزوجية.
  5. الحضور والمشاركة في المناسبات الخاصة بالمجتمع.

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

ما وراء الشيفرة: المساهمات غير المتعلّقة بالبرمجة

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

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

تحديث ملفات الوثائق

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

وهذه بعض الأساليب للمساهمة في ملفات التوثيق:

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

المشاركة في التصميم وتجربة المستخدم

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

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

المساعدة بالترجمة والتوطين

يبحث العديد من المشاريع عن جمهورٍ عالميّ، وكمتحدّثٍ أصليّ للغتك يمكنك أن تساعد في ذلك. تضمن عملية المشاركة في الترجمة والتوطين سهولة وصول المشروع للعديد من الأشخاص من خلفيات مختلفة في جميع أنحاء العالم. وكمساهم، يمكنك المساعدة من خلال:

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

المشاركة في ضمان الجودة واختبار المشروع

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

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

الانخراط مع المجتمع

امتلاك مجتمعٍ قويّ يساعد على خلق مساحةٍ آمنة حيث يمكن للمساهمين أن يركّزوا الأمور المهمّة كتحسين جودة البرمجيات وضمان استدامة المشروع، ويمكنك المساهمة في هذا المجال من خلال:

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

التسويق والتوعية

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

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

المساعدة في التبرّع وجمع التبرّعات

قد يؤدي نقص التمويل إلى عدم نمو المشروع واستدامته، مما قد يؤدي إلى انهياره بشكل غير متوقع، ولمعالجة هذه المشكلة هناك عدّة طرقٍ ناجحة:

  • مبادرات جمع التبرّعات: من خلال جمع التبرّعات يمكنك دعم المشروع مادياً.
  • البحث عن التمويل: من خلال التقدم بطلب للحصول على المنح، البحث عن الرعاية، والانضمام إلى البرامج الراعية للمشاريع.

الممارسات المثلى للحصول على مساهمات القيمة

المساهمة في المشاريع مفتوحة المصدر لا تقتصر على كتابة الشيفرات البرمجيّة، وإنّما تتعلق بخلق مساهماتٍ بنّاءة وقيّمة تسهّل من وصول المشروع إلى العالم.

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

كتابة شيفرة نظيفة وسهلة التعديل

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

أدناه مجموعة من الممارسات المفتاحيّة لكتابة شيفرة برمجية نظيفة وفعالة:

  • استخدم أسماء متغيرات ودوالّ وأصناف ذات معنى.
  • فكّك الشيفرة إلى أقسام أصغر وأكثر قابلية للإدارة.
  • أضف تعليقات جانبية لتوفير سياق إضافي لباقي الأعضاء.
  • حافظ على الاستمرارية في أسلوب كتابتك للشيفرة.
  • لا تكرر نفسك don't repead yourself أو اختصاراً DRY.

اختبار وتوثيق الشيفرات البرمجية الخاصة بك

  • أجرِ باختبارات الوحدة unit tests، اختبارات التكامل integration tests، والاختبارات الشاملة end-to-end tests بشكل دائم للتأكد من أن الشيفرة تعمل بشكل صحيح.
  • تذكّر أن توثّق عملية التطوير بشكل دائم. وهذا يتضمّن هدف الشيفرة، الاستخدام، التعليمات، وغيرها.

كيفيّة التعامل مع التحديات

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

كيف تواجه الرفض والانتقادات

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

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

كيفيّة طلب المساعدة

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

كمبتدئٍ في مجال المجتمعات مفتوحة المصدر، ولضمان أنّك تحصل على المساعدة اللازمة، هذه بعض النصائح لك:

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

طرق التغلّب على التحديات الشائعة

  1. إدارة الوقت: قد تكون الموازنة بين الوقت الذي تخصصه للمساهمة في المصادر المفتوحة وعملك الخاص أمرًا صعبًا بعض الأحيان، لذا تأكد من وضع أهداف واقعية وتجنّب تحميل نفسك فوق ما تستطيع تحمله.
  2. متلازمة المحتال: هي المتلازمة التي تشعر فيها بأن خبراتك ليست كافية على الرغم من وجود دليل واضح عليها، تذكر أن الجميع يبدأ من مكان متواضع؛ حاول أن تنظر إلى رحلة تعلمك بعين التقدير وركّز على تقدمك.
  3. الشيفرة المصدرية الكبيرة قد تكون محبطة للمبتدئين: ابدأ بمهام صغيرة وتدرّج في صعوبتها مع اكتسابك لثقة أفضل ومعرفة بشيفرة المشروع المصدرية.
  4. تجنّب الاحتراق الوظيفي: ضع صحتك النفسية أولًا وخذ استراحة عندما تحتاجها، وتذكر أن قطع خطوات صغيرة متتابعة أفضل بكثير من وضع نفسك أمام مهمة ضخمة تحبطك.

كيفية استعراض مساهماتك في المصادر المفتوحة

عليك بتسويق مهاراتك كأي مجال عمل آخر، وواحدة من أفضل الطرق لفعل ذلك هي باستعراض المشاريع والمساهمات على الإنترنت، حان الوقت لتسليط الضوء على مشاركاتك!

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

أنشئ معرض أعمال على الإنترنت

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

ابدأ باختيار المنصة التي ستستخدمها لإنشاء معرض الأعمال، وهذا قد يتضمن استخدام GitHub Pages أو موقعك الإلكتروني الشخصي ومنصات أخرى مثل بيهانس Behance أو دريبل Dribbble للمشاريع المرتبطة بمجالات التصميم.

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

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

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

اذكر مساهماتك على سيرتك الذاتية ومنصات التواصل الاجتماعي

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

إليك كيف تستفيد من هذه النقطة للتميز:

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

التشبيك

التعرف على المزيد من الأشخاص يفتح أبوابًا جديدة ويقدم فرصًا عديدة.

إليك كيف تستطيع الاستفادة من خبراتك في المساهمة بالمصادر المفتوحة للتعرف على المزيد من الأشخاص:

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

الخاتمة

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

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

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

اذهب وبرمج في المصادر المفتوحة وأجرِ تغييرًا ما، تمنياتنا لك برحلة مليئة بالتعلم!


ترجمة -وبتصرف- للمقال How to Contribute to Open-Source Projects لصاحبه Hillary Nyakundi بمساعدة الأخ الحبيب ناصر جزاه الله خيرا.

لا تنسونا من صالح دعائكم.

دُمتم بود.