# ما يمكن لغير المبرمج القيام به

## كن متأنيًا

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

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

1. **الاشتراك في قائمة بريدية**: بالنسبة للعديد من المشاريع، تكون القائمة البريدية هي الوسيلة الرئيسية للتواصل حول تطوير المشروع. في المشاريع الكبيرة، توجد قوائم بريدية متعددة. على سبيل المثال، يحتوي مشروع PostgreSQL على 12 قائمة موجهة للمستخدمين و6 قوائم للمطورين. يُنصح بالبدء بالاشتراك في القائمة الرئيسية للمستخدمين والقائمة الرئيسية للمطورين للاستماع أولًا.
2. **متابعة مدونة**: المدونات التي يديرها المطورون الرئيسيون غالبًا ما توفر معلومات عن الإصدارات القادمة والخطوات اللازمة. مواقع مثل "planet" تجمع أخبارًا ومقالات من مصادر متعددة متعلقة بالمشروع، مثل planet.gnome.org أو planet.mysql.com.
3. **الانضمام إلى قناة IRC**: العديد من المشاريع لديها قنوات IRC (الدردشة عبر الإنترنت) حيث يجتمع المطورون والمستخدمون لمناقشة المشاكل والتطوير. تحقق من موقع المشروع لمعرفة اسم القناة والشبكة.
4. **العمل مع التذاكر (tickets)**: البرمجة ليست الطريقة الوحيدة للمساهمة. صيانة الشيفرة والأنظمة المحيطة بها غالبًا ما تكون مهملة، وهذه فرصة سهلة للمشاركة. معظم المشاريع لديها نظام تذاكر يمكن الوصول إليه من الجميع. الحفاظ على تحديث التذاكر طريقة ممتازة للمساعدة.
5. **تشخيص الأخطاء**: في كثير من الأحيان يتم الإبلاغ عن الأخطاء بشكل غير واضح. تشخيص الأخطاء ومراجعتها يساعد المطورين على فهم المشكلة بسرعة. حتى لو لم تعرف سبب المشكلة، فإن جهودك لتقليل الظروف تساعد الآخرين على حلها بسهولة.
6. **إغلاق الأخطاء المصححة**: أحيانًا يتم تصحيح الأخطاء في الشيفرة لكن التذاكر المتعلقة بها لا تُغلق. مراجعة هذه التذاكر مهمة جدًا. ابدأ بالتأكد من التذاكر القديمة وقم بإغلاق ما تم حله.
7. **اختبار إصدار تجريبي أو مرشح للإصدار**: يمكن أن تواجه المشاريع مشاكل توافق على منصات مختلفة. اختبار الإصدارات التجريبية يساعد المشروع على التأكد من جودة الإصدار النهائي.
8. **تصحيح خطأ**: عادة ما يبدأ المساهمون بحل الأخطاء. حدد خطأً وحاول تصحيحه، وأضف اختبارات إذا لزم الأمر.
9. **كتابة اختبار (Test)**: معظم المشاريع لديها اختبارات، لكن هناك دائمًا مجال لإضافة اختبارات جديدة لتغطية أجزاء لم تُختبر بعد.
10. **إخفاء تحذيرات المترجم (compiler warnings)**: في المشاريع بلغة C أو غيرها، قد تظهر تحذيرات لا تشير إلى خطأ حقيقي. إزالة هذه التحذيرات يحسن وضوح عملية البناء.
11. **إضافة تعليق (Comment)**: عند قراءة الشيفرة، إذا وجدت جزءًا مربكًا، أضف تعليقًا لتوضيحه للآخرين.
12. **إنشاء مثال**: لا يوجد مشروع يمكن أن يحتوي على أمثلة كثيرة جدًا. إنشاء مثال عملي يوضح طريقة استخدام البرنامج يساعد المستخدمين الجدد.
13. **التفاعل مع المجتمع**: الرد على أسئلة الآخرين، خاصة المبتدئين، يساعد المشروع على النمو ويجعل المجتمع نشطًا.
14. **كتابة تدوينة (Blog Post)**: مشاركة تجاربك مع المشروع تساعد الآخرين وتوثق خبرتك.
15. **تحسين موقع الويب**: إذا كانت لديك مهارات تصميم، يمكنك تحسين موقع المشروع أو الشعارات، مما يعزز صورة المشروع.
16. **كتابة وثائق تقنية**: كتابة توثيق عن المشروع مفيد، حتى لو لم تكن مبرمجًا، لتسهيل استخدام المشروع على الآخرين.
17. **التعليم ومساعدة الآخرين**: أفضل طريقة لتعلم شيء جديد هي محاولة تعليمه للآخرين، فالتدريس يعزز فهمك ومهاراتك.

