قانون لينوس

في مجال تطوير البرمجيات ، ينص قانون لينوس على أنه "مع وجود عدد كافٍ من المراجعين، تصبح جميع الأخطاء سطحية". وقد صاغ هذا القانون إريك س. ريموند في مقالته وكتابه "الكاتدرائية والبازار " (1999)، وسُمّي تكريمًا للينوس تورفالدز . [ 1 ] [ 2 ]

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

صحة

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

يُعتبر استمرار ثغرة Heartbleed الأمنية في جزء برمجي بالغ الأهمية لمدة عامين بمثابة دحض لمقولة ريموند. [ 6 ] [ 7 ] [ 8 ] [ 9 ] يشك لاري سيلتزر في أن توفر شفرة المصدر قد يدفع بعض المطورين والباحثين إلى إجراء اختبارات أقل شمولاً مقارنةً بالبرامج المغلقة المصدر ، مما يُسهّل بقاء الأخطاء. [ 9 ] في عام 2015، جادل جيم زملين، المدير التنفيذي لمؤسسة لينكس ، بأن تعقيد البرامج الحديثة قد ازداد إلى مستويات تستدعي تخصيص موارد محددة لتحسين أمنها. وفيما يتعلق ببعض أكبر ثغرات البرامج مفتوحة المصدر عالميًا في عام 2014 ، يقول: "في هذه الحالات، لم تكن الأنظار مُركّزة". [ 8 ] لم تُجرَ تجارب واسعة النطاق أو استطلاعات رأي مُحكّمة لاختبار مدى صحة هذه المقولة عمليًا. [ 10 ]

تم الحصول على دعم تجريبي لصحة قانون لينوس [ 11 ] من خلال مقارنة المشاريع الشائعة وغير الشائعة لنفس المؤسسة. المشاريع الشائعة هي تلك التي حازت على أعلى 5% من نجوم GitHub (7481 نجمة أو أكثر). تم قياس تحديد الأخطاء باستخدام احتمالية الالتزام التصحيحي، أي نسبة الالتزامات التي تم تحديد ارتباطها بإصلاح الأخطاء. أظهر التحليل أن المشاريع الشائعة تتمتع بنسبة أعلى من إصلاحات الأخطاء (على سبيل المثال، مشاريع جوجل الشائعة لديها معدل إصلاح أخطاء أعلى بنسبة 27% من مشاريع جوجل الأقل شيوعًا). ونظرًا لأنه من غير المرجح أن تكون جوجل قد خفضت معايير جودة الكود في مشاريعها الأكثر شيوعًا، فإن هذا مؤشر على زيادة كفاءة اكتشاف الأخطاء في هذه المشاريع.

انظر أيضاً

مراجع

  1. ريموند، إريك س. "الكاتدرائية والبازار" . catb.org .
  2. ريموند، إريك س. (1999). الكاتدرائية والبازار . دار نشر أورايلي ميديا . ص 30. ISBN  1-56592-724-9.
  3. ^ فليجر، تشارلز ب. فليجر، شاري لورانس (2003). الأمن في الحوسبة، الطبعة الرابعة . برنتيس هول بي تي آر. ص 154 – 157. ISBN  0-13-239077-9.
  4. جلاس، روبرت ل. (2003). حقائق ومغالطات هندسة البرمجيات . أديسون-ويسلي . ص 174. ISBN  0-321-11742-5.رقم الكتاب المعياري الدولي (ISBN) 978-0321117427.
  5. هوارد، مايكل؛ لوبلان، ديفيد (2003). كتابة التعليمات البرمجية الآمنة، الطبعة الثانية . مطبعة مايكروسوفت . الصفحات 44-45 ، 615، 726. ISBN  0-7356-1722-8.
  6. بايفيلد، بروس (14 أبريل 2014). "هل تُفنّد ثغرة هارت بليد مقولة 'البرمجيات مفتوحة المصدر أكثر أمانًا'؟" . داتاماشن .
  7. فيلتن، إدوارد و.؛ كرول، جوشوا أ. (2014). "مطلوب مساعدة في مجال أمن الإنترنت". مجلة ساينتفك أمريكان . 311 (1): 14. Bibcode : 2014SciAm.311a..14F . doi : 10.1038/scientificamerican0714-14 . PMID 24974688 . 
  8. 1 2 كيرنر، شون مايكل (20 فبراير 2015). "لماذا لا تكون جميع ثغرات لينكس (الأمنية) سطحية؟" . إي سيكيوريتي بلانيت. مؤرشف من الأصل في 21 فبراير 2015. تم الاسترجاع في 21 فبراير 2015 .
  9. 1 2 سيلتزر، لاري (14 أبريل 2014). "هل كان للمصدر المفتوح تأثير على ثغرة هارت بليد؟" . زد نت .
  10. أرسينو، كيفن؛ جيربر، آلان س.؛ غرين، دونالد ب. (يناير 2006). "مقارنة الأساليب التجريبية وأساليب المطابقة باستخدام تجربة تعبئة الناخبين واسعة النطاق" . التحليل السياسي . 14 (1): 37-62 . doi : 10.1093/pan/mpj001 . ISSN 1047-1987 . 
  11. أميت، إيدان؛ فيتلسون، درور ج. (2020). "مقياس جودة الكود لاحتمالية الالتزام التصحيحي". arXiv : 2007.10912 [ cs.SE ].

للمزيد من القراءة