لماذا حان الوقت للمساهمة في البرمجيات مفتوحة المصدر؟ دليل شامل للمطورين

دقائق القراءة: 6

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

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

وفقًا لتقرير State of the Octoverse الصادر عن GitHub، من بين أكثر من 40 مليون مطور على GitHub، انضم 10 ملايين مستخدم جديد في عام 2019 وحده! إن حركة المصادر المفتوحة تنمو بسرعة، ويجب أن تصبح جزءًا منها أيضًا. عندما أرى تحديثًا جديدًا لنظام التشغيل الخاص بي أو إصدارات برامج جديدة لأدوات أستخدمها بنشاط كل يوم، فإن ذلك يجعلني أبتسم. أستمتع بفكرة أن المنتجات تتحسن وتتطور باستمرار. هل تشعر بنفس الشعور؟ إليك لماذا أنا مقتنع بأنه يجب عليك البدء في المساهمة في البرمجيات مفتوحة المصدر الآن.

1. التعلم العميق من الشيفرة المصدرية

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

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

2. العمل مع نخبة العقول التقنية

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

مثال جيد على ذلك هو محرر الشيفرة الشهير Visual Studio Code الذي أصبح شائعًا جدًا ولديه أكثر من 1200 مساهم على GitHub. لن ترى يومًا واحدًا بدون أي pull requests على GitHub، ودورات الإصدار الشهرية دائمًا ما تقدم ميزات جديدة ومذهلة. عندما تشارك في مشروع وتقدم pull request، ستتلقى ملاحظات مفيدة للغاية من maintainers ذوي الخبرة العالية. يمكنك بعد ذلك تطبيق هذه الملاحظات لتنمو كمطور.

3. وصول شيفرتك إلى العالمية وتأثيرها

نظرًا لأن بعض مشاريع تطوير البرمجيات يستخدمها ملايين المستخدمين يوميًا، فقد يكون من المجزي جدًا رؤية شيفرتك الخاصة تساعد هذا العدد الكبير من الناس. لقد كتبت قواعد lint لمشاريع JavaScript تسمى eslint-plugin-unicorn و svelte. إنه شعور رائع أن تعرف أن pull request الخاص بك سيحسن جودة الشيفرة للعديد من المطورين حول العالم. من تجربتي الشخصية، من المحفز أيضًا الحصول على ردود فعل إيجابية في شكل تعليق شكر وتقدير.

4. مشاريع مفتوحة المصدر شاملة للجميع

إحدى المزايا الكبيرة للبرمجيات مفتوحة المصدر المجانية هي أنه لا يُستبعد أحد من استخدام المنتج لعدم قدرته على تحمل تكلفته. بينما تكلف بعض مشاريع مفتوحة المصدر المال لاستخدامها، فإن معظمها لا يفعل ذلك. أيضًا، عندما تساهم في مشروع على GitHub، فإن العديد من المستودعات الكبيرة لديها code of conduct (مدونة سلوك). هذه المدونات تضمن أن يشعر كل مساهم بالترحيب والقبول في المشروع، مما يخلق بيئة تعاونية إيجابية.

5. نحو استدامة مشاريع مفتوحة المصدر

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

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

6. كيف تساهم في المشاريع مفتوحة المصدر؟ دليل عملي

المساهمة في تطوير المصادر المفتوحة تبدو مخيفة أكثر مما هي عليه في الواقع. هناك الكثير من المشاريع على GitHub التي تشجع المساهمين لأول مرة والمبتدئين على اتخاذ الإجراءات من خلال تصنيف المشكلات بـ "Good first issue"، "Beginner friendly" أو "Help wanted".

أين تبدأ رحلتك؟

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

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

الخلاصة التقنية

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

إذا أعجبك المقال، يمكنك التواصل معي عبر هذه القنوات:

  • الموقع الإلكتروني
  • Medium
  • GitHub
  • Twitter
  • LinkedIn

موارد مفيدة

  • The State of the Octoverse
  • ما هي المصادر المفتوحة؟
  • ما الذي يحفز المطور للمساهمة في البرمجيات مفتوحة المصدر؟
  • تعلم البرمجة مجانًا: لقد ساعد منهج freeCodeCamp مفتوح المصدر أكثر من 40,000 شخص في الحصول على وظائف كمطورين. ابدأ الآن.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *