كيفية اختيار GSoC: تتكشف قصتي في LibreOffice

قررت أن أكتب هذا المنشور لجعل الناس يفهمون قيمة المعايير المفتوحة وتحفيزهم على المساهمة في المصدر المفتوح. يعد Google Summer of Code ، والمختصر شعبيا باسم GSoC ، أحد البرامج التي تهدف إلى جذب المزيد من مطوري الطلاب إلى تطوير برمجيات مفتوحة المصدر. لقد تم اختياري لـ GSoC’17 في LibreOffice (LO). هذا المنشور هو أول تجربة لي من سلسلة التجارب التي أتبعها كمطور لطلاب LibreOffice.

لقد ساهمت في أربعة أسماء كبيرة في Open Source منذ العام الماضي وهي LibreOffice و Mozilla و Fossasia و OpenMRS. كل واحد منهم فريد وأفضل في ما يفعلونه. مع تجول في رحلتي كاملة ، سأشرح ما فعلته للحصول على اختيار في أفضل مجموعة مكتب مفتوح المصدر.

اختيار المنظمة المناسبة

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

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

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

كان منتصف يناير عندما بدأت استكشاف المنظمات المشاركة في GSoC. يتضمن مكدس التقنية الخاص بي Java و Android. استند اختياري لـ LibreOffice إلى تقاطع هذه العوامل -

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

أردت أيضًا أن أذهب إلى الشركات الكبيرة والأقل انتشارًا ، كما أن LibreOffice تناسب جميع تلك المعايير. لقد اخترت عميل Android LO كمشروع. يتضمن تك المكدس من LibreOffice Android بشكل أساسي C / C ++ و Java. اخترت المشروع للتغلب على خوفي من الكود الأصلي.

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

شيء أخير يجب الاهتمام به ، كما يقول المثل الشعبي ...

"لا تضع كل البيض في سلة واحدة."

باستخدامه هنا ، أعني ، لديك نسخة احتياطية. عندما تبدأ مبكرًا ، لا تعرف ما إذا كانت المؤسسة التي تساهم فيها سيتم اختيارها لخيار GSoC لهذا العام أم لا.

بالنسبة لأولئك الذين ليسوا على علم - نعم ، تختار Google المؤسسات التي ستشارك في GSoC. المنظمة التي شاركت العام الماضي ، قد يتم اختيارها أو لا يتم اختيارها لهذا العام. هذا نادرا ما يحدث.

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

لقد اخترت موزيلا كمؤسستي الثانية ، مجتمع ودود للغاية. Mozilla هي واحدة من أكبر المؤسسات مفتوحة المصدر ومعظمنا يستخدمونها بالفعل المنتج الأكثر شعبية - Firefox. Firefox متاح لجميع المنصات ، بما في ذلك Android ، لذلك اخترت Firefox for Android كمشروع. لقد تعلمت استخدام Javascript في Android ، وقمت ببناء امتدادات الويب لمتصفح Android ، ولعبت باستخدام الكود الأصلي لفايرفوكس وغير ذلك الكثير. كانت رحلتي مع موزيلا مثيرة ومثمرة حقًا. سأكتب منشورًا مخصصًا بالكامل عن تجربتي مع Mozilla قريبًا.

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

المساهمات ومرحلة ما قبل الاقتراح

يحدث ذلك عند استكشاف مشروعك وتحديد الأخطاء والتحسينات وتقديم تصحيحاتها والتفاعل مع زملائك المطورين والموجهين.

بعد إنشاء LibreOffice بنجاح ، تحتاج إلى إعداد Gerrit - أداة لمراجعة الكود تستخدمها العديد من المشاريع الكبيرة مفتوحة المصدر بما في ذلك AOSP (مشروع Android Open Source Project). لذا ، فإن إيجابيات المساهمة في LibreOffice تشمل الإلمام بسير عمل Gerrit أيضًا. أنا شخصياً أجد جيريت أفضل من سير عمل جيثب. هذا الجوهر يشرح الاختلافات بشكل جميل.

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

أول تصحيح دمج البريد الإلكتروني

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

عندما كنت أكتب رمزًا لـ LibreOffice ، كان عليّ الاعتناء بالنتبيكس التي يتم تجاهلها عادةً أثناء ترميز المشاريع الشخصية. بعض الأمثلة الأساسية -

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

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

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

كتابة اقتراح جيد

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

  • هل تتضمن وصفًا تقنيًا - "سأنفذ هذه الميزة" ليست فعالة حقًا إلا إذا قمت بتضمين "كيف؟"
  • نفترض أن الموجهين كسالى ، ولحسن الحظ لم يكن لي حتى لقد تساءلت لهم باقتراح طويل من 15 صفحة. :-) يجب ألا يتجاوز المحتوى النصي 10 صفحات ما لم يكن ذلك ضروريًا تمامًا.
  • قم بتضمين كل ما يجعلك لائقًا للمشروع ، وتجربتك الفنية ذات الصلة ، والتدريب الداخلي ، والمشاريع ، إلخ. لا تقم بنسخ / لصق سيرتك الذاتية.
  • حاول إضافة نماذج بالحجم الطبيعي UI / UX حيثما كان ذلك مناسبًا.
  • لا تعطي جداول زمنية غامضة. أسبوع الكتابة 1 - 3 فهم قاعدة البيانات ، الأسبوع 4-6 قم بتنفيذ الميزات ، لن يكون الأسبوع 7 - 8 الاختبار والتصحيح أمرًا مثيرًا للإعجاب. جدول زمني مفصل ومصمم بشكل جيد مهم جدا.
  • قم بتقدير المدة التي تستغرقها المراجعات ، كل تصحيح في المؤسسة يمر بعملية مراجعة قد تستغرق أسبوعًا أو نحو ذلك. إن تضمينه في الجدول الزمني الخاص بك سيعطي انطباعًا جيدًا بأنك قد وضعت رأسك حول الأشياء في خطك الزمني.

أيضا ، ألق نظرة على كيفية عدم التقدم بطلب للحصول Summer of Code.

تغليف

كانت هذه هي الأفكار القليلة التي أعتقد أنها قد تساعدك في الحصول على Google Summer of Code. إن لم يكن لـ GSoC ، فسوف يساعدونك في البدء مع مؤسسة مفتوحة المصدر ومعرفة الكثير في هذه العملية. أود أن أعترف بأن المساهمة في المصادر المفتوحة جعلتني أكثر انضباطًا كمطور برامج. من المهم كتابة التعليمات البرمجية المراد شحنها ، فالمشاريع الشخصية أو الدورات التدريبية عبر الإنترنت قد لا تمنحنا هذه الفرصة. إذا كانت لديك أي أسئلة بخصوص GSoC أو البدء بالتطوير في LibreOffice أو Mozilla ، فيُمكنك التعليق أدناه أو إرسال رسالة عبر ping me عبر Facebook / Email.

LibreOffice هو المجتمع الوحيد الذي يحمي معايير المستندات المفتوحة. إذا كنت ترغب في البدء بالمساهمة في LibreOffice ، فإنني أرغب في المساعدة. قد تجد صفحات Wiki Foundation Foundation رتيبة ومملة بعض الشيء ، في حال كنت بحاجة إلى بعض المساعدة في التطوير الذي يمكنك طرحه على قناة Freenode IRC # libreoffice-dev.

لبداية سهلة ، إذا كنت تريد دعم LibreOffice Android ، فيمكنك تنزيل التطبيق من متجر Google Play واستخدامه. يمكنك الإبلاغ عن الأخطاء / التحسينات التي تجدها على Bugzilla. يرجى التأكد من عدم الإبلاغ عن هذا الخطأ بالفعل.

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