imAbdelhadi / handbook-contribute-to-open-source

اكتشف كيف يمكن للمشاريع المفتوحة المصدر أن تحدث تغييرًا في عالم التكنولوجيا. تعرف على فوائد المساهمة في هذه المشاريع وكيف يمكنك بناء معرض أعمالك، والتواصل مع مطورين آخرين، والمساهمة في نمو مجتمع المطورين
1 stars 0 forks source link

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

إليك بعض أبرز المشاريع مفتوحة المصدر العربية: 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

git checkout -b descriptive name

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

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

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

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

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

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

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

git commit -m "<message here>"‎

رسالة إيداع

git fetch upstream
git rebase upstream/main

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

التشبيك

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

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

الخاتمة

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

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

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

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

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