
للبدء ، سأخبرك ما هو Google Code-in لأولئك الذين لا يعرفون - هذه مسابقة عبر الإنترنت للطلاب الذين تتراوح أعمارهم بين 13 و 17 عامًا ، والتي تهدف إلى تقديمهم إلى عالم المصادر المفتوحة ، مما يوفر فرصة للعمل مع المؤسسات التي تطور برمجيات مفتوحة المصدر. لقد شاركت هذا العام وأصبحت أحد الفائزين.
كيف تقام هذه المسابقة؟ تقوم 25 مؤسسة مفتوحة المصدر للمسابقة بإنشاء مهام صغيرة (تتطلب 3-5 ساعات لإكمالها) يجب على المشاركين العمل عليها. هذا العام ، كانت هذه المنظمات هي: Wikimedia ، Ubuntu ، Zulip ، FOSSASIA ، Drupal ، BRL-CAD ، coala ، Haiku ، OSGeo ، Apertium ، JBoss Community وغيرها. يقوم مرشدو المنظمات بالتحقق ، وإذا لزم الأمر ، يقدمون المساعدة (ومع ذلك ، بالنسبة لمعظم المشاركين ، فإن GCI هي أول تجربة مع مشاريع مفتوحة المصدر). تستمر المسابقة 7 أسابيع (نهاية نوفمبر - بداية يناير).
الجوائز متوفرة. لإكمال 3 مهام ، يحصل المشاركون على قميص. تختار كل منظمة أيضًا أفضل 5 مشاركين لإجمالي المساهمة في المشروع - يحصلون على "غطاء رأس" ، ويتم منح أفضل اثنين منهم رحلة إلى مقر Google (ماونتن فيو ، كاليفورنيا ، الولايات المتحدة الأمريكية).
تم نشر منشورات الفائزين في السنوات السابقة بالفعل على Habré: Ilya Kovalevsky - 2012 (KDE) ، Mikhail Ivchenko - 2013 (KDE) ، Stanislav Krivenko - 2014 (Apertium)
ومع ذلك ، فإن المنافسة تتغير واكتسبت شعبية ، لذلك قررت مشاركة تجربتي في المشاركة.

يتزايد عدد المتسابقين كل عام - إحصاءات من مدونة Google مفتوحة المصدر
شارك هذا العام أكثر من 3.5 ألف طالب من 78 دولة (2.5 مرة أكثر من العام الماضي).

أعمار المسابقة - إحصائيات من مدونة Google مفتوحة المصدر
تجربتي
بالنسبة لي ، كان عالم المصدر المفتوح دائمًا مثيرًا للاهتمام للغاية ، لكن لم أكن أعرف من أين أبدأ. لذلك عندما اكتشفت استخدام Google Code-in ، قررت أن هذه ستكون بداية جيدة. المهام المنفذة لويكيميديا. لماذا هذه المنظمة بالضبط؟ أولاً ، هذا مشروع أكبر من المشاريع الأخرى ، مما يعني أنه يجب أن يكون الشيء الأكثر إثارة للاهتمام هناك. بالإضافة إلى ذلك ، نستخدم جميعًا ويكيبيديا - لماذا لا تساعدها في شيء ما في المقابل؟
يمكنك قراءة المزيد عن مشاركة هذه المنظمة في جي سي آي على صفحة المسابقة في ميدياويكي .
تعمل ويكيميديا على تطوير ميدياويكي (المحرك الذي تعمل عليه ويكيبيديا) والإضافات والأدوات الأخرى المرتبطة به.
البعثات
كانت الخطوات الأولى في عالم المصدر المفتوح مثيرة! كان من اللطيف جدًا مقابلة الكثير من الأشخاص المثيرين للاهتمام على IRC (يستخدمهم ويكيميديا ، وكذلك في العديد من المنظمات الأخرى للتواصل) والعمل معهم في المهام! قدم الموجهون ترحيبًا حارًا وساعدوا في إنشاء جميع بيئات التطوير اللازمة ، بالإضافة إلى الوصول إلى نظام مراجعة التعليمات البرمجية (Gerrit).
أثناء أداء المهام ، سرعان ما وقعت في "حالة التدفق": بعد أن تلقيت الأول ، أخذت واحدة أخرى ، ثم أخرى وأخرى - ما مجموعه 39 مهمة. من الجيد جدًا معرفة متى يتم قبول التصحيح الخاص بك من قبل المطورين ، ويتم وضع علامة على المهمة على أنها مكتملة. لقد تأكدت من أنه حتى المبتدئين مثلي يمكنهم القيام بدورهم.

في ويكيميديا ، تضمنت المهام استخدام لغات وتقنيات برمجة مختلفة. اللغة الرئيسية هنا هي PHP (لأنه مكتوب عليها بواسطة MediaWiki) ، ولكن يتم أيضًا استخدام Python و C ++ و C # و Java و NodeJS و Ruby و Objective-C و Lua. هذا هو السبب في أن GCI هي فرصة جيدة لتعلم شيء جديد.
لقد قمت بمهام مختلفة: من المهام البسيطة (مثل إصلاح الأخطاء البسيطة ، وتحسين CI ، وتحسين تغطية اختبار الوحدة ، وإعادة بناء الرمز القديم) إلى المهام الأكثر تعقيدًا ، بما في ذلك إضافة وظائف جديدة.
على سبيل المثال ، كانت إحدى المهام الصعبة ، ولكنها مثيرة للاهتمام للغاية ، زيادة دقة أداة تستند إلى التعلم الآلي لتحديد جودة التغييرات التي تم إجراؤها على المقالة. أضفت تتبع كمية النص إلى النموذج دون الرجوع إلى المصادر (بعد كل شيء ، إذا كان هناك عدد قليل جدًا من الروابط إلى المصادر أو لا يوجد روابط على الإطلاق ، فهل هذا يعني شيئًا حول جودة المقالة؟)
للوظائف الجديدة ، تم إضافة الاختبارات ، تم كتابة الوثائق. كانت مراجعة الرمز لكل رقعة إلزامية أيضًا (العملية قيّمة جدًا من حيث المعرفة والخبرة المكتسبة. كما تحققت من بعض التصحيحات الخاصة بالمشاركين الآخرين في المسابقة).
بشكل عام ، خلال مسابقة ويكيميديا بأكملها ، أكمل أكثر من 300 مشارك ، بقيادة 50 معلمًا ، حوالي 760 مهمة أثناء العمل على: Mediawiki core ، ملحقاته ، APIs ، Kiwix و Wikipedia لتطبيقات الهاتف المحمول ، بالإضافة إلى أدوات أخرى مثل Pywikibot و Huggle.
أمثلة على المهام
قائمة قصيرة بالمهام الأكثر إثارة للاهتمام التي عملت عليها - مع روابط التصحيح ، والمهمة في Wikimedia Phabricator وصفحة المهام المقابلة على موقع GCI.
كانت هناك مهام بسيطة جدًا يمكن التعامل معها بسهولة حتى بدون خبرة سابقة مع مصدر مفتوح: قم بتشغيل CI لأحد الملحقات ( التصحيح ، المهمة ) ، إصلاح خطأ صغير في تصميم صفحة الخطأ ( التصحيح ، المهمة ) ، إضافة تحليل ثابت إلى CI نمط ناقل ( تصحيح ، مهمة )
تم ملء شهرين من المسابقة بعمل مثير للاهتمام والكثير من التواصل مع أشخاص من جميع أنحاء العالم. كنت شغوفًا جدًا لدرجة أنني بدأت في تخطي المدرسة قليلاً وقضيت وقتًا أقل في الاستعداد للاختبارات. قام الموجهون بعمل هائل ، حيث قاموا بكتابة مهام جديدة والتحقق من التصحيحات حتى لعيد الميلاد ورأس السنة الجديدة. لقد عملت أيضًا خارج المنافسة: لقد أخذت مهام بسيطة من متعقب الأخطاء عندما كان هناك وقت فراغ (على سبيل المثال ، أثناء انتظار التحقق من المهمة). بعد المسابقة ، واصل تقديم مساهمة.
بعد الانتهاء من GCI ، تلقيت رسالة من Google تفيد بأن ويكيميديا اختارتني فائزة وحصلت على "الجائزة الكبرى" - وهي زيارة لمقر Google الرئيسي في Mountain View.
اركب
تمت جدولة الرحلة في يونيو - حتى يتمكن جميع الفائزين من الحصول على تأشيرة وعدم صرف انتباههم عن الدراسة في المدرسة والإعداد واجتياز الامتحانات.

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

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

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

بالطبع ، قمنا بزيارة البوابة الذهبية.

في المساء ، أبحروا على خليج سان فرانسيسكو.
في اليوم الأخير ، كان هناك بعض العروض التقديمية المثيرة للاهتمام من قبل موظفي Google. قيل لنا عن Kubernetes وعرضناها في العمل.

الحاويات مفيدة جدًا - ولكن هذا لا يعني أنه يجب استخدامها في كل شيء.
تعلمنا أيضًا عن ترخيص برمجيات مفتوحة المصدر (مفيد جدًا ، لأن ما واجهته من صعوبة في محاولة اكتشافه سابقًا تم شرحه هنا بلغة واضحة). كان هناك أيضًا عرض تقديمي مثير للاهتمام حول Project Fi (مشغل شبكة Google الافتراضية).
علاوة على ذلك ، تمتلك ويكيميديا مكتبًا في سان فرانسيسكو. لذلك قررت أن أغتنم الفرصة لزيارته.

تركت الرحلة الكثير من الذكريات السارة. كنت سعيدًا جدًا بلقائك مع فريق Google Open Source ، والموجهين ، وأعضاء GCI.
الخلاصة

إحصائيات الدولة - مدونة Google مفتوحة المصدر
لسوء الحظ ، هذا العام ، وبصرف النظر عني ، لم يكن هناك فائزون من أوكرانيا أو دول أخرى في الفضاء ما بعد السوفيتي. آمل أن تساعد مشاركتي في لفت الانتباه إلى Google Code-in بين الجمهور الناطق باللغة الروسية.
إذا كان هناك أطفال المدارس بين القراء (أو أطفالهم) - ضع ملاحظة في التقويم في منتصف أكتوبر - في تلك اللحظة ستكون المنظمات التي ستشارك في GCI 2018 معروفة بالفعل. وستبدأ المنافسة نفسها في مكان ما في نهاية نوفمبر. أخطط لأن أصبح مرشداً في ويكيميديا - إذا اخترت هذه المنظمة ، اكتب - سأكون سعيداً للمساعدة والإجابة على الأسئلة.
للطلاب ، أوصي بالاهتمام بـ Google Summer of Code (الذي نظمه نفس فريق Google الذي يعمل على GCI) ، وهو فرصة جيدة للمساهمة في المصدر المفتوح.

الفائزون وأولياء أمورهم والموجهون - تصوير ستيفاني تايلور ، CC-BY-SA
في الختام ، أود أن أقول إن المصدر المفتوح يلعب دورًا حاسمًا في العالم الحديث لتطوير البرمجيات. تعمل الوظائف الأساسية للإنترنت بفضل المصدر المفتوح (Linux ، Apache ، MySQL ، Mozilla Firefox ، Chromium ، PHP ، Python ، NodeJS ، Go ... - كل هذا مفتوح المصدر) ، وهو المستقبل.
شكرا لك وطلبات السحب الناجحة!