GitHub يواجه مشاكل ضخمة!

MMaximilian Schwarzmüller
Computing/SoftwareBusiness NewsManagementInternet Technology

Transcript

00:00:00منصة GitHub في وضع حرج للغاية، وضع سيء جدًا.
00:00:04هناك العديد والعديد من المشكلات، والكثير منها مرتبط بالذكاء الاصطناعي،
00:00:08ولكن ربما ليس للأسباب التي تتبادر إلى ذهنكم،
00:00:10لكنني سأعود إلى هذه النقطة لاحقًا.
00:00:11وبالطبع هذا الأمر يكتسب أهمية كبيرة.
00:00:13إنه مهم لأن GitHub يمثل العمود الفقري
00:00:16لأعمال التطوير الحديثة.
00:00:17بغض النظر عما إذا كنت تعمل في تطوير البرمجيات مفتوحة المصدر،
00:00:20أو تدير بعض المشاريع مفتوحة المصدر،
00:00:22أو تعمل فقط على مشاريعك الخاصة،
00:00:24سواء كانت مشاريعك الشخصية أو الجانبية،
00:00:26أو إذا كنت تدير عملاً صغيرًا أو شركة صغيرة،
00:00:29أو ربما كنت في شركة أكبر،
00:00:32تُستخدم المنصة لكل أنواع المهام كأرشيف للأكواد
00:00:35لسير عمل CI/CD، وللتعاون البرمجي،
00:00:38وللعمل الجماعي على المشاريع عبر الـ "issues"،
00:00:42وطلبات السحب (pull requests) والعديد من الاستخدامات الأخرى.
00:00:47لذا فالأمر مهم، ولكن كما ذكرت،
00:00:49هناك الكثير والكثير من المشكلات.
00:00:51ودعونا نبدأ بما هو خاطئ حاليًا
00:00:53قبل أن نلقي نظرة على الأسباب
00:00:54وما يعنيه ذلك بالنسبة للمستقبل.
00:00:57ولنبدأ بمشكلة كبيرة حقًا.
00:00:59لقد تم الإبلاغ عن ثغرة أمنية ضخمة، هائلة،
00:01:02وغير معقولة يوم أمس
00:01:07أثناء قيامي بتسجيل هذا الفيديو.
00:01:09وهي ثغرة تنفيذ أكواد عن بُعد على موقع github.com.
00:01:12أعني، مجرد قراءة هذا الخبر أمر جنوني.
00:01:16تم اكتشافها من قبل شركة Wiz للأمن السيبراني،
00:01:19ولم يتم استغلالها.
00:01:21لذا تم اكتشافها والإبلاغ عنها وإصلاحها.
00:01:25ولم يقع أي ضرر.
00:01:28وفقًا لـ GitHub،
00:01:31فقد نشروا أيضًا ردًا على هذا التقرير.
00:01:33الآن، لن أخوض في التفاصيل التقنية
00:01:36لكيفية عمل هذه الثغرة.
00:01:39سأضع رابط المقال أدناه على أي حال.
00:01:42ولكن في النهاية، كانت الثغرة تعمل من خلال أمر git push.
00:01:44لذلك لم تتضمن عملية تصيد احتيالي،
00:01:46أو استيلاء على حساب أحد الموظفين،
00:01:49أو هجومًا على سلسلة التوريد.
00:01:51لقد رأينا الكثير من هذه الأمور خلال الأسابيع الماضية،
00:01:54لكن لا، لم يكن هناك شيء من هذا القبيل.
00:01:56بدلاً من ذلك، كان الأمر مجرد git push،
00:01:58وتحديدًا ميزة خيار الدفع القياسي (standard push option)
00:02:03التي يمكنك إضافتها إلى أمر git push
00:02:05لإرفاق خيارات إضافية بأمر الدفع هذا.
00:02:10ومن خلال ميزة الخيارات تلك والثغرة الأمنية
00:02:13والطريقة التي يتعامل بها GitHub مع عمليات الدفع،
00:02:17تمكن الباحثون الأمنيون هنا من إرفاق كود
00:02:22يتم تنفيذه مباشرة على خوادم GitHub.
00:02:27مرة أخرى، التفاصيل الدقيقة موجودة في هذا التقرير،
00:02:31ولكن في النهاية، استغلوا حقيقة
00:02:34أنه يمكنك إضافة بيانات وصفية إضافية إلى ترويسة xstat
00:02:39والتي يتم ملؤها بمساعدة علامة خيارات الدفع تلك.
00:02:44وتلك البيانات الوصفية، تلك المعلومات التي يمكنك تمريرها
00:02:49مع طلب الدفع عبر تلك الترويسة في النهاية
00:02:52لم يتم تنقيتها (sanitized) بواسطة GitHub.
00:02:54لقد قاموا فقط بمصادقة طلب الدفع في النهاية،
00:02:58أي أمر الدفع.
00:02:59لقد تحققوا مما إذا كان مسموحًا لك بالدفع
00:03:01إلى المستودع الذي تحاول الدفع إليه،
00:03:03لكنهم بعد ذلك أخذوا بيانات الخيارات تلك
00:03:07وأنشأوا ترويسة xstat دون تنقية تلك البيانات.
00:03:12وهذا سمح للباحثين الأمنيين
00:03:15بتنفيذ أمر لم يقتصر تأثيره
00:03:18على المستودع الذي دفعوا إليه،
00:03:21بل تم تنفيذه بحرية على خوادم GitHub
00:03:24وكان قادرًا على الوصول إلى مستودعات أخرى أيضًا،
00:03:27بما في ذلك المستودعات الخاصة.
00:03:29الآن، مرة أخرى، تم الإبلاغ عن هذه الثغرة وإصلاحها
00:03:33ولم تعد موجودة الآن،
00:03:35لكنها مشكلة ضخمة بكل وضوح.
00:03:39أعني، إنه أمر جلل أن توجد ثغرة
00:03:43تسمح بتنفيذ أكواد عن بُعد على github.com.
00:03:45إنه أمر ضخم حقًا.
00:03:47لذا نعم، هذه مشكلة كبيرة،
00:03:48لكنها بالطبع ليست المشكلة الوحيدة.
00:03:51في الثالث والعشرين من أبريل، أي قبل أيام قليلة فقط،
00:03:56كان هناك حادث كبير يتعلق بطوابير الدمج (merge queues) في GitHub.
00:04:01الآن، طوابير الدمج، في حال لم تكن تعرفها،
00:04:04هي ميزة في GitHub مخصصة للمستودعات
00:04:07التي تشهد الكثير من النشاط والعمل المستمر،
00:04:11والكثير من طلبات السحب الواردة.
00:04:13ومن أجل ضمان عدم اضطرارك لدمج
00:04:16كل طلب سحب قبل إمكانية إرسال طلب جديد،
00:04:19لأنك بالطبع تريد أن يكون طلب السحب
00:04:21متوافقًا مع أحدث حالة للمستودع،
00:04:24مثل الفرع الرئيسي (main branch) على سبيل المثال،
00:04:26ولضمان عدم اضطرارك لدمج
00:04:28كل طلب سحب قبل فتح طلب جديد.
00:04:30في النهاية، تم إيجاد ميزة طابور الدمج هذه،
00:04:34والتي تهدف ببساطة وبشكل فعال إلى إنشاء
00:04:38ما يشبه دمجًا وسيطًا بالفعل
00:04:42لإنشاء حالة جديدة للمستودع أو للفرع
00:04:46الذي تحاول الدمج فيه لكل طلب سحب.
00:04:49وإذا تمت إضافة طلب سحب جديد
00:04:51إلى سلسلة طلبات السحب،
00:04:53فإنه يتم دمجه مسبقًا مدموجًا مع طلبات السحب
00:04:57التي تسبقه في الفرع الرئيسي
00:04:58بحيث تُفتح طلبات السحب الجديدة
00:05:01كما لو كانت طلبات السحب السابقة قد دُمجت بالفعل.
00:05:05وهذا ببساطة يسمح للفرق بالعمل بشكل أسرع
00:05:08لأنك تستطيع فتح المزيد والمزيد من طلبات السحب
00:05:10دون انتظار انتهاء الطلبات التي تسبقها.
00:05:13في مرحلة ما، سيتم دمجها بالطبع،
00:05:15لكن هذا يتيح لك الاستمرار في العمل،
00:05:17وهو أمر مهم للفرق الكبيرة على سبيل المثال.
00:05:19الآن ما هو مهم أيضًا بخصوص هذه الميزة
00:05:22هو بالطبع أن تعمل بشكل صحيح.
00:05:24وما حدث في الثالث والعشرين من أبريل هو
00:05:28أنه كان هناك خطأ، خطأ منطقي داخلي
00:05:32في كيفية معالجة GitHub لطلبات السحب المختلفة هذه
00:05:37مما أدى في النهاية إلى إنشاء دمج
00:05:41يتسبب في فقدان بعض المعلومات مما يؤدي
00:05:45إلى "commit" غير صالح والتخلص من أجزاء
00:05:49من سجل Git هناك.
00:05:50الآن، البيانات لم تفقد فعليًا،
00:05:53لكن هذه الميزة عملت بشكل غير صحيح
00:05:55وأنتجت ذلك الـ "commit" الخاطئ.
00:05:57هذا هو الموجز أو الخلاصة.
00:06:00وبالطبع، هذا أمر غير مقبول تمامًا
00:06:03إذا كنت شركة كبيرة أو أي شركة تعتمد
00:06:06على تلك الميزة وفجأة ينتهي الأمر بمشروعك
00:06:09في حالة معطلة دون أن تجد تفسيرًا واضحًا
00:06:13لذلك، هذا أمر غير مقبول بالطبع.
00:06:16وأول ما سيتبادر إلى ذهنك على الأرجح هو
00:06:19ليس وجود خلل داخلي في ميزة طابور الدمج.
00:06:23بل ستظن غالبًا أنك ارتكبت خطأً ما.
00:06:26لذا تقضي وقتًا طويلاً في البحث عن الخطأ
00:06:28حتى تكتشف، أوه لا، المشكلة من GitHub.
00:06:30وكل هذا يأتي بالطبع بالإضافة
00:06:33إلى مشاكل توفر الخدمة المستمرة التي يعاني منها GitHub.
00:06:38الآن تبدو صفحة الحالة الرسمية سيئة،
00:06:42ولكن ربما مقبولة، لكننا لا نملك نسبة توفر
00:06:46تصل إلى 99.9% هنا أيضًا، على الأقل لمعظم الأنظمة.
00:06:49إنهم يبلغون عن وقت التشغيل بشكل منفصل لكل نظام.
00:06:53لكن الأمور تبدو مختلفة قليلاً إذا نظرنا
00:06:55إلى صفحة حالة GitHub غير الرسمية،
00:06:57والتي تتتبع وقت التشغيل بطريقة مختلفة
00:07:00وتعتبر كل حادثة صغيرة بمثابة مشكلة،
00:07:04أو تعطل في الخدمة في نهاية المطاف.
00:07:05هنا نرى وقت تشغيل كارثيًا لنظام حيوي
00:07:10مثل GitHub، وهذا غير مقبول تمامًا بالطبع.
00:07:14لذا واجهنا مشاكل في التوفر طوال الأشهر الماضية
00:07:18وحتى خلال العام الماضي بالفعل.
00:07:20وكانت هناك أيضًا أخطاء برمجية أصغر هنا وهناك،
00:07:23لكنها لم تكن بحجم هذه المشكلة أو بنفس أهمية
00:07:26هذه الثغرة الأمنية.
00:07:28ولكن نعم، هناك العديد من المشكلات
00:07:31وقد أصبح GitHub بالتأكيد منصة غير موثوقة
00:07:36في هذه المرحلة، للأسف،
00:07:38وهو أمر كارثي بالنظر إلى دوره وأهميته
00:07:43في التطوير الحديث كما قلت في البداية،
00:07:47بغض النظر عن نوع أعمال التطوير التي تقوم بها.
00:07:50مشكلة أخرى هي أن التواصل من جانب GitHub
00:07:54كان، لنقل، غير كافٍ.
00:07:59لم يكن هناك الكثير من التواصل،
00:08:01ولكن تم نشر تدوينة في الثامن والعشرين من أبريل
00:08:06قبل اكتشاف تلك الثغرة الأمنية،
00:08:10حيث يحاولون نوعًا ما شرح ما يجري،
00:08:14ومن أين تأتي هذه المشكلات،
00:08:16وأنهم يدركون أن استراتيجية التواصل لديهم
00:08:19لم تكن مثالية وأن الأمور ستتحسن.
00:08:23هذا يقودنا إلى الجزء التالي.
00:08:25من أين تأتي كل هذه المشكلات؟
00:08:28البيان الرسمي هنا يذكر الذكاء الاصطناعي كسبب،
00:08:32ولكن ليس بمعنى أن مهندسي GitHub
00:08:36في مايكروسوفت يستخدمون الذكاء الاصطناعي ويطلقون برمجيات معطوبة،
00:08:40أو تحديثات معطوبة لـ GitHub.
00:08:43قد يكون ذلك يحدث، لكننا لا نملك دليلاً على ذلك.
00:08:47بدلاً من ذلك، السبب الرئيسي المذكور هنا هو بالطبع،
00:08:51أنه بسبب الذكاء الاصطناعي، هناك مشاريع أكثر بكثير
00:08:57يتم إنشاؤها، وأكواد أكثر بكثير يتم توليدها،
00:09:00وفي النهاية يتم دفع كل تلك المشاريع والأكواد
00:09:03إلى منصة GitHub.
00:09:04وقد شاركوا بعض الرسوم البيانية التي، حسنًا نعم،
00:09:09ليست مفيدة للغاية، لكنها موجودة.
00:09:12ليست مفيدة جدًا لأنها تفتقر لمحور رأسي (y-axis).
00:09:14فنحن لا نرى الأرقام المطلقة،
00:09:17ولكن بالطبع يمكننا رؤية العلاقات هنا.
00:09:20ويمكننا بالتأكيد أن نرى أنه خلال عام 2025،
00:09:23كانت هناك زيادة حادة في طلبات السحب المدموجة،
00:09:28والـ "commits" المدفوعة، وبالطبع المستودعات الجديدة المفتوحة.
00:09:32هذه هي مشاريعنا الجانبية التي ننشئها الآن
00:09:34ولا ننهيها باستخدام الذكاء الاصطناعي.
00:09:36ثم في عام 2026، من الواضح بالنسبة لكل هذه المقاييس،
00:09:41أن الرسم البياني يرتفع بشكل جنوني نحو السماء.
00:09:46لذا نعم، هذا اتجاه واضح تمامًا.
00:09:49وهذا الحجم من الزيارات، وهذا النوع من الزيادة
00:09:54سيضع أي نظام تحت ضغط شديد بالطبع.
00:09:58والأمر يمثل مشكلة خاصة لـ GitHub
00:10:01لأنهم في خضم عملية الهجرة بعيدًا
00:10:05عن البنية المتجانسة (monolithic) ومن مراكز بياناتهم
00:10:09الخاصة أو أنظمتهم إلى سحابة Azure
00:10:13وإلى نظام أكثر تجزئة، نظام خدمات مصغرة (microservices)،
00:10:17بدلاً من تلك البنية المتجانسة السابقة.
00:10:21كانت تلك عملية مستمرة حتى قبل دخول عام 2026.
00:10:26ولكن هذا يعني بالطبع أن عملية الهجرة هذه الآن
00:10:31اصطدمت بتلك الطفرة الهائلة في الطلب،
00:10:34مما يعني أنه على الرغم من قيامك بالهجرة،
00:10:36عليك نوعًا ما تحقيق الاستقرار في النظام الحالي
00:10:39أثناء مواصلة عملية الهجرة،
00:10:40والتي نأمل أن تساعد بعد ذلك في استيعاب تلك الزيادة
00:10:44في حركة المرور في المستقبل.
00:10:46هذا هو الأمل بالطبع، ولا يوجد ضمان.
00:10:50ولكن بالطبع هذا شيء يتعين على GitHub التعامل معه.
00:10:52الآن يذكرون هنا أنهم بدأوا في تنفيذ خطة
00:10:56لزيادة سعة GitHub بمقدار 10 أضعاف في أكتوبر 2025.
00:11:01لذا يمكن القول إنهم رأوا في تلك الفترة تقريبًا،
00:11:04حسنًا، كل هذا في تصاعد.
00:11:06أعني، كان بإمكانهم رؤية ذلك من قبل بالفعل،
00:11:09لكن هنا قرروا أننا بحاجة إلى زيادة سعتنا بمقدار 10 أضعاف.
00:11:13ثم في فبراير 2026، رأوا،
00:11:16حسنًا، نحن بحاجة إلى 30 ضعفًا، وليس 10 أضعاف لأن، حسنًا،
00:11:20بسبب ذلك التطور هنا، أليس كذلك؟
00:11:22يجب بالطبع القيام بذلك بالإضافة إلى عملية الهجرة تلك.
00:11:28وهذه مهمة ضخمة بلا شك.
00:11:33الآن هي جزء من Microsoft، لذا فهي ليست شركة ناشئة صغيرة،
00:11:37ولكن مع ذلك، فهي مهمة شاقة.
00:11:39وهذا جانب واحد من مشكلة GitHub الكاملة هذه
00:11:44حيث أشعر ببعض التعاطف لأنني أعتقد أنه من السهل
00:11:47كراهية GitHub، أو الاستهزاء بـ GitHub.
00:11:51وبالفعل يمكنك فعل ذلك.
00:11:52وسأعود إلى المزيد من المشاكل، وهي سيئة حقًا.
00:11:56لكن هذا النوع من الزيادة في حركة المرور سيكون مشكلة كبيرة
00:11:59لأي نظام، ولأي شركة موجودة.
00:12:03ومن الصعب تصديق أن أي منافس لـ GitHub
00:12:07سيبلي بلاءً حسنًا في هذا الموقف.
00:12:09ومع ذلك، هذا ليس عذرًا بالطبع.
00:12:10إنها جزء من Microsoft.
00:12:12وبالتالي، فلديهم بالتأكيد الموارد الكافية
00:12:16للمضي قدمًا في ذلك الانتقال وتعديل أنظمتهم
00:12:20لتناسب هذا العالم الجديد وهذا الحجم الجديد من حركة المرور.
00:12:24ولكن هناك مشكلة مهمة أخرى هنا مع GitHub.
00:12:28وهي أنه لم يعد لديه مدير تنفيذي.
00:12:32المدير التنفيذي السابق، توماس، توماس دومكي،
00:12:37تقاعد أو استقال أو أعلن أنه سيتنحى
00:12:41في أغسطس 2025.
00:12:43ولم تقم Microsoft بتعيين مدير تنفيذي جديد.
00:12:48بدلاً من ذلك، أصبح GitHub جزءًا من Core AI،
00:12:51وهو قسم داخلي في Microsoft، وكما يوحي الاسم،
00:12:56يتعلق الأمر بالذكاء الاصطناعي وبناء أدوات ومنصات الذكاء الاصطناعي.
00:13:01وGitHub جزء من ذلك.
00:13:03لذا فمن الواضح أن مهمة GitHub من منظور Microsoft
00:13:07هي أن يصبح جزءًا من سلسلة أدوات الذكاء الاصطناعي تلك،
00:13:11من ثورة الذكاء الاصطناعي تلك.
00:13:13ومن الواضح أن Microsoft تدمج Co-Pilot
00:13:15في جميع منتجاتها.
00:13:16وبالفعل في GitHub Universe 2023،
00:13:20قالوا بالفعل إنهم سيحولون GitHub
00:13:24إلى منصة مطورين مدعومة بالذكاء الاصطناعي
00:13:28مع تواجد GitHub في كل مكان.
00:13:30يتضمن ذلك أشياء مثل الميزات الجديدة
00:13:32التي تساعد في إنشاء المشكلات باستخدام GitHub Co-Pilot،
00:13:36وهي مشكلة كبيرة لمشرفي المشاريع مفتوحة المصدر،
00:13:39ولكن أيضًا مجرد الوجود الخالص لـ GitHub Co-Pilot
00:13:43في كل مكان على GitHub.
00:13:44هناك شيء يسمى Agent HQ هنا على GitHub،
00:13:48[github.com/copilot](https://github.com/copilot)،
00:13:49حيث يمكنك التفاعل مع GitHub Co-Pilot
00:13:52والعمل على الكود الخاص بك مباشرة من داخل GitHub Co-Pilot
00:13:55دون الحاجة لفتح بيئة تطوير محلية أو أداة وكيل برمجية
00:14:00والعديد والعديد من الأجزاء الأخرى.
00:14:02GitHub Co-Pilot موجود في كل مكان في GitHub،
00:14:05تمامًا كما أن Co-Pilot موجود في كل مكان
00:14:07في جميع منتجات Microsoft، على ما أظن.
00:14:10وهذا بالطبع قرار استراتيجي واضح
00:14:14يتعارض نوعًا ما مع المهمة الفعلية لـ GitHub،
00:14:19على الأقل المهمة التي كان يمتلكها GitHub في الماضي.
00:14:23لأنه كما ذكرت في البداية،
00:14:25يعد GitHub مهمًا لأنواع مختلفة من المطورين
00:14:29لجميع أنواع حالات الاستخدام.
00:14:31يستخدمه مشرفو البرامج مفتوحة المصدر لاستضافة الكود المصدري
00:14:36هناك والتعاون مع المشرفين الآخرين
00:14:39والمساهمين الآخرين من المجتمع.
00:14:41تعد "المشكلات" (Issues) حيوية لاكتشاف، حسنًا، المشكلات
00:14:45والعمل عليها.
00:14:46كما أن "طلبات السحب" (Pull requests) مهمة للسماح للأشخاص الآخرين
00:14:50بالمساهمة في قاعدة الكود.
00:14:52ويمكن أن تكون "المناقشات" رائعة لمناقشة الميزات الجديدة
00:14:55أو توجهات مستودع ما أو مكتبة ما وما إلى ذلك.
00:15:01هناك العديد من الميزات المرتبطة هنا
00:15:03والتي تساعد مشرفي المشاريع مفتوحة المصدر
00:15:04أو على الأقل كانت تساعدهم في الماضي.
00:15:07أشخاص آخرون يستخدمون GitHub كمجرد مورد
00:15:11لاستضافة الروابط أو المستندات
00:15:13مثل كل تلك المستودعات الرائعة لـ Go و Rust
00:15:17وما إلى ذلك، والتي يمكنك استخدامها للعثور بسهولة على الموارد
00:15:20إذا كنت تريد العمل مع Go أو Rust.
00:15:22أنا أستخدم GitHub أيضًا لاستضافة موارد دوراتي
00:15:26مثل دورة Codex الخاصة بي هنا، على سبيل المثال،
00:15:29وللعديد من الدورات التدريبية الأخرى أيضًا.
00:15:31لذا يمكنك حتى استغلال GitHub
00:15:33كمجرد نوع من أنواع تخزين المستندات.
00:15:36وبعد ذلك بالطبع يمكنك أيضًا استخدام GitHub لأعمال CI/CD.
00:15:40في الشركات، قد تستخدم GitHub
00:15:43بالطبع ليكون الكود المصدري الخاص بك هناك،
00:15:46وليتعاون أعضاء فريقك على ذلك الكود المصدري
00:15:50من خلال طلبات السحب وما إلى ذلك.
00:15:52وبعد ذلك بالطبع، غالبًا ما يكون GitHub
00:15:54جزءًا من مسار CI/CD
00:15:57حيث يؤدي أي دفع جديد للفرع الرئيسي، على سبيل المثال،
00:15:59إلى تشغيل مسار CI/CD.
00:16:02قد يكون ذلك بمساعدة GitHub actions،
00:16:05على الرغم من أن هذا المنتج لديه مشاكله الخاصة.
00:16:08لكن بالطبع يمكن استخدامه أيضًا لتشغيل مسار CI/CD
00:16:12على أي مزود CI/CD آخر، وليس فقط GitHub actions.
00:16:16لذا فإن GitHub لديه بالطبع دور مهم للغاية
00:16:20في أعمال التطوير الكلاسيكية والتقليدية.
00:16:24لكن بالطبع، قررت Microsoft أن لا،
00:16:27يجب أن يصبح منصة مطورين مدعومة بالذكاء الاصطناعي،
00:16:31وليس مجرد منصة مطورين.
00:16:33وهذا بالطبع يمثل نوعًا من عدم التوافق هنا.
00:16:37المطورون لا يريدون بالضرورة وجود Co-pilot
00:16:41في كل جانب من جوانب GitHub.
00:16:43أعتقد أن مستخدمي منتجات Microsoft بشكل عام
00:16:46لا يريدون GitHub في جميع منتجاتهم،
00:16:48لكن هذه قصة أخرى.
00:16:49وقد أهمل GitHub الميزات الأساسية
00:16:53المهمة بالنسبة للمطورين.
00:16:56وأعني، خذ أعمال تطوير البرمجيات مفتوحة المصدر كمثال.
00:17:00مشرفو المشاريع مفتوحة المصدر يغرقون
00:17:03في المشكلات وطلبات السحب التي يولدها الذكاء الاصطناعي.
00:17:07المشكلة هنا بالطبع هي عدم التماثل.
00:17:10من السهل استخدام الذكاء الاصطناعي لإنشاء كود أو مشكلات.
00:17:14لكن من الأصعب بكثير مراجعة كل تلك الأشياء.
00:17:19أعني مراجعة ذلك الكود المولد وتلك المشكلات المولدة.
00:17:24وهذا شيء يعرفه كل مطور
00:17:26سبق له العمل مع الذكاء الاصطناعي.
00:17:27يمكنك بسهولة تشغيل ثلاثة وكلاء ذكاء اصطناعي أو أكثر
00:17:30وجعلهم يعملون على مشاريعك،
00:17:32بشكل منفصل تمامًا عن GitHub.
00:17:33يمكنك فعل ذلك على جهازك باستخدام codecs،
00:17:35و cloth code وما إلى ذلك.
00:17:36ولكن إذا لم تكن تتبع أسلوب البرمجة العمياء،
00:17:39والذي لا يجب عليك اتباعه في رأيي،
00:17:41عليك مراجعة ذلك الكود في مرحلة ما.
00:17:44وهذا يستغرق وقتًا.
00:17:45وليس بالأمر الممتع للغاية، على الأقل بالنسبة لي.
00:17:48الآن، إذا قمت بتشغيل ثلاثة وكلاء،
00:17:51عليك مراجعة مخرجات ثلاثة وكلاء.
00:17:54يمكنك تقليل عدد الوكلاء إذا كان ذلك فوق طاقتك
00:17:57ووجدت أنك لست منتجًا حقًا
00:17:59بهذه الطريقة.
00:18:00الآن، عندما تكون مشرفًا لمشروع مفتوح المصدر على GitHub،
00:18:03فأنت تغرق في المشكلات وطلبات السحب المولدة بالذكاء الاصطناعي
00:18:07وليس لديك سوى خيارين رئيسيين.
00:18:09يمكنك تجاهلها وهذا بالطبع يحبط الغرض منها،
00:18:13لكنها استراتيجية صالحة بكل وضوح.
00:18:16أو تحاول التعامل معها تدريجيًا
00:18:18وتصاب بالإرهاق الشديد لأنها مجرد كم هائل
00:18:21لأنه على عكس أعمال التطوير الشخصية الخاصة بك،
00:18:25لا يمكنك ببساطة تقليل كمية المشكلات الواردة
00:18:29وطلبات السحب.
00:18:30يمكنك استخدام عدد أقل من الوكلاء بمفردك
00:18:33إذا وجدت أنك لست فعالاً أو منتجًا
00:18:36مع كل الوكلاء الذين تحاول تشغيلهم.
00:18:38لا يمكنك فعل ذلك مع المستودعات العامة.
00:18:41لا يمكنك التحكم في عدد الأشخاص الذين سينشرون
00:18:45مشكلات مولدة بالذكاء الاصطناعي أو يشاركون طلبات سحب معك.
00:18:49لذا فهذه مشكلة كبيرة لمشرفي المشاريع مفتوحة المصدر
00:18:53وهذا هو السبب في أن مشهد البرمجيات مفتوحة المصدر بالكامل
00:18:56والفلسفة الكامنة وراء البرمجيات مفتوحة المصدر
00:18:59تواجه مشاكل ضخمة الآن بسبب الذكاء الاصطناعي.
00:19:04وGitHub لا يساعد في ذلك.
00:19:06بدلاً من ذلك، هم يفعلون العكس.
00:19:08إنهم يجعلون من السهل مشاركة مشكلات
00:19:13الذكاء الاصطناعي الرديئة وما إلى ذلك.
00:19:15ما يحتاجه المشرفون والمطورون
00:19:18هو أدوات أكثر فعالية للتعامل
00:19:22مع كل هذه المشكلات وطلبات السحب المولدة بالذكاء الاصطناعي.
00:19:25لكن GitHub لا يعمل على ذلك.
00:19:27أعتقد أن هذا ليس جزءًا من استراتيجيتهم.
00:19:29الآن، ربما يتغير ذلك.
00:19:30ذلك المنشور الرسمي من GitHub الذي ذكرته سابقًا
00:19:35يتحدث بشكل أساسي عن مشكلات الموثوقية ووقت التشغيل
00:19:39وأنهم يريدون أن يكونوا أكثر شفافية وما إلى ذلك.
00:19:41لكنهم ذكروا أيضًا أن لديهم التزامًا
00:19:44بدعم المطورين.
00:19:46سنرى، لست متفائلاً للغاية
00:19:49لأنها في النهاية جزء من Microsoft
00:19:52ولديهم استراتيجيتهم الخاصة جدًا هنا.
00:19:55ولكن ماذا يعني هذا بالنسبة لـ GitHub إذن؟
00:19:59هل حان الوقت للهجرة منه؟
00:20:02لقد سمعت بعض الأصوات هنا وهناك على X
00:20:05تقول إن الوقت قد حان الآن لبديل لـ GitHub.
00:20:08أعلم أن بعض المشاريع قد هاجرت منه بالفعل.
00:20:12ربما يكون SIG هو الأبرز بينها.
00:20:15لقد هاجروا من GitHub إلى Codeberg في نوفمبر 2025.
00:20:20ولكن لنكن واقعيين هنا.
00:20:22أولاً، كما ذكرت من قبل،
00:20:24فإن حجم حركة المرور التي تضرب GitHub
00:20:28من شأنها أن ترهق أي منافس أيضًا.
00:20:31من المرجح أن يكون ذلك أكثر حتى من GitHub
00:20:32لأنهم ليسوا جزءًا من Microsoft.
00:20:35لذا فمن المؤكد أننا لن نرى استبدال GitHub.
00:20:40وبينما قد تغادر بعض المشاريع الفردية،
00:20:42خاصة المشاريع مفتوحة المصدر، GitHub
00:20:45لأسباب يمكنني فهمها تمامًا،
00:20:48فإن كل تلك الشركات، وكل هؤلاء المطورين الأفراد
00:20:52لن يهاجروا منه على الأرجح.
00:20:54فإن GitHub يمتلك، على الرغم من كل مشاكله،
00:20:57منصة غنية بالميزات التي تعد جزءًا لا يتجزأ
00:21:02من سير عمل العديد من المطورين وعملهم اليومي.
00:21:06خاصة بالنسبة للشركات بالطبع،
00:21:08ليس من السهل عليها استبدال GitHub ببساطة
00:21:11بأي مزود آخر.
00:21:13على الرغم من أن جميع مشكلات الموثوقية
00:21:15تمثل بوضوح مشكلات ضخمة للشركات أيضًا،
00:21:18إلا أنها ستكون قادرة ومستعدة لتحمل المزيد من الألم
00:21:23قبل أن تفكر حتى في الانتقال منه.
00:21:25أنا متأكد من ذلك.
00:21:26GitHub ببساطة هو منصة بالغة الأهمية.
00:21:30إنها المنصة الأساسية لوضع كود Git الخاص بك
00:21:35على السحابة والعمل عليه والتعاون فيه.
00:21:39لذا أنا متأكد من أنه لن يختفي،
00:21:43حتى لو ساء الوضع أكثر.
00:21:45بالطبع، في النهاية سيغادر الناس
00:21:47إذا لم يقم GitHub بفعل أي شيء،
00:21:49ولكن من الواضح أنهم يفعلون شيئًا ما،
00:21:50على الأقل فيما يتعلق بمشكلات وقت التشغيل والموثوقية.
00:21:55وعندما يتعلق الأمر بالعمل مفتوح المصدر والمشكلات هناك
00:21:58ومشكلات رداءة محتوى الذكاء الاصطناعي، فسنرى.
00:22:01وحتى هناك، أعتقد أن GitHub مهم للغاية
00:22:07ولديه مزايا كثيرة جدًا لمشرفي المشاريع مفتوحة المصدر
00:22:10بحيث يصعب عليهم المغادرة، على الأقل ليس جميعهم.
00:22:14ولكني أفهم بالتأكيد إذا انتقلت مشاريع فردية
00:22:17بعيدًا عن GitHub، فقد يحدث ذلك.
00:22:20ولكن نعم، بالنسبة للشركات و GitHub بشكل عام،
00:22:23فسيستمر في الوجود.
00:22:24ومع ذلك، لا يسع المرء إلا أن يأمل في أن يكون هذا الموقف هنا
00:22:28ربما، ربما جرس إنذار لـ Microsoft.
00:22:33ربما سيعيدون تعيين مدير تنفيذي مسؤول عن GitHub.
00:22:38ربما يدركون أهميته.
00:22:41ربما يدركون أنه منصة للمطورين
00:22:45والتطوير، وليست في الأساس منصة للذكاء الاصطناعي.
00:22:49ولكن نعم، يمكن للمرء أن يأمل.
00:22:52لا أعرف متى سيحدث ذلك وما إذا كان سيحدث أصلاً.
00:22:55ولكن نعم، هذا هو وضع GitHub الحالي.
00:23:00إنه سيئ، إنه سيئ حقًا.
00:23:03وسيبقى سيئًا في المستقبل القريب،
00:23:06ولكن على الأقل نأمل أن تتحسن الموثوقية
00:23:11في وقت لاحق من هذا العام.
00:23:13أعتقد أننا سنرى ذلك.

Key Takeaway

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

Highlights

  • كشفت شركة Wiz للأمن السيبراني عن ثغرة أمنية تسمح بتنفيذ أكواد عن بُعد (RCE) على موقع github.com من خلال ميزة خيارات الدفع (git push options) غير المنقاة.

  • سجل GitHub وقت تشغيل غير مستقر في الأشهر الأخيرة مع فشل معظم الأنظمة في الوصول إلى نسبة توافر 99.9%.

  • ارتفع حجم طلبات السحب (Pull Requests) والمستودعات الجديدة بشكل حاد خلال عامي 2025 و2026 نتيجة الاعتماد الكثيف على الأكواد المولدة بالذكاء الاصطناعي.

  • يعمل GitHub بدون مدير تنفيذي منذ استقالة توماس دومكي في أغسطس 2025 بعد دمج المنصة ضمن قسم Core AI في مايكروسوفت.

  • انتقل مشروع SIG من GitHub إلى منصة Codeberg في نوفمبر 2025 كاستجابة لمشاكل الموثوقية وتوجهات المنصة الجديدة.

  • يخطط GitHub لزيادة سعة النظام بمقدار 30 ضعفًا لاستيعاب الطفرة الهائلة في حركة المرور الناتجة عن وكلاء الذكاء الاصطناعي.

Timeline

ثغرة تنفيذ الأكواد عن بُعد في نظام git push

  • تسمح ثغرة أمنية في ترويسة xstat بتنفيذ أوامر مباشرة على خوادم GitHub.
  • تفتقر بيانات خيارات الدفع (push options) إلى عملية التنقية (sanitization) الكافية قبل معالجتها.
  • تمنح الثغرة إمكانية الوصول إلى مستودعات برمجية أخرى وخاصة بعيدًا عن المستودع المستهدف بالأصل.

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

انهيار الموثوقية وأخطاء طوابير الدمج

  • أدى خطأ منطقي في ميزة طوابير الدمج (merge queues) في 23 أبريل إلى إنتاج سجلات Git غير صالحة.
  • تعاني أنظمة GitHub الحيوية من وقت تشغيل يقل عن المعايير الصناعية المطلوبة للشركات الكبرى.
  • يواجه المطورون صعوبة في التمييز بين أخطائهم الشخصية وأعطال المنصة المتكررة.

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

طفرة الذكاء الاصطناعي وتحديات البنية التحتية

  • تسببت أدوات الذكاء الاصطناعي في زيادة انفجارية في عدد المستودعات وطلبات السحب خلال عامي 2025 و2026.
  • تصطدم عملية الهجرة إلى سحابة Azure ونظام الخدمات المصغرة (microservices) بزيادة مفاجئة في الطلب.
  • تتطلب الحالة الراهنة زيادة سعة المنصة بمقدار 30 ضعفًا بدلاً من الخطة الأصلية التي استهدفت 10 أضعاف.

يربط GitHub المشاكل التقنية بزيادة حادة في النشاط البشري والآلي على المنصة، حيث يتم إنتاج كميات هائلة من الكود والمشاريع الجانبية عبر الذكاء الاصطناعي. بدأت المنصة خطة لزيادة السعة في أكتوبر 2025، لكن وتيرة النمو المتسارعة في فبراير 2026 أجبرتهم على مضاعفة الأهداف. تتم هذه التوسعات أثناء محاولة تفكيك البنية المتجانسة (monolithic) القديمة ونقلها إلى سحابة مايكروسوفت.

غياب القيادة وتحول الهوية المؤسسية

  • يفتقد GitHub لوجود مدير تنفيذي مخصص منذ أغسطس 2025.
  • تحول تركيز المنصة من استضافة الكود والتعاون إلى العمل كمنصة تطوير مدعومة بالذكاء الاصطناعي.
  • أصبح GitHub Co-pilot مدمجًا في كافة جوانب المنصة عبر ميزات مثل Agent HQ.

بعد استقالة توماس دومكي، أصبح GitHub جزءًا من قسم Core AI في مايكروسوفت، مما جعل الأولوية لدمج أدوات الذكاء الاصطناعي مثل Co-pilot. يظهر هذا التحول في استراتيجية "GitHub Universe" التي تهدف لجعل الذكاء الاصطناعي حاضرًا في كل مكان. هذا التوجه يثير قلق المطورين الذين يفضلون التركيز على الميزات الأساسية والتقليدية لاستضافة الأكواد وإدارة المشاريع.

أزمة البرمجيات مفتوحة المصدر وبدائل GitHub

  • يغرق مشرفو المشاريع مفتوحة المصدر في طلبات سحب ومشكلات (issues) مولدة آليًا وضعيفة الجودة.
  • انتقل مشروع SIG إلى Codeberg كبديل مفتوح المصدر في نوفمبر 2025.
  • يظل GitHub المنصة الأساسية للشركات بسبب صعوبة الهجرة وحزمة الميزات المتكاملة.

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

Community Posts

View all posts