آیا لینوکس هم باگ داره؟

رحیم پرسیده:

سوال؟!
آیا لینوکس هم باگ داره؟ خیلی خوشحال میشم در موردش تو وبلاگ یا پادکست صحبت کنی.

خب این سوال چند تا جنبه داره. اول بذار ببینیم منظور از لینوکس چیه. از نظر فنی لینوکس فقط یک هسته سیستم عامل است که در کنار یک مجموعه بزرگ ابزار به اسم گنو و کلی پروژه دیگه تشکیل یک سیستم عامل کامل می دن که اسم درستش باید باشه گنو/لینوکس ولی خب برای راحت شدن زندگی خیلی وقت ها به این مجموعه بزرگ سیستم عامل که ترکیب یک هسته (لینوکس) و کلی برنامه دیگه (پروژه گنو) است هم می گیم همون لینوکس.

کرنل لینوکس به عنوان یک هسته حدود ۱۵ میلیون خط کد است در ۳۷هزار فایل پخش شدن و کل پروژه گنو/لینوکس (مثلا اوبونتو) چیزی حدود ۲۰۰میلیون خط برنامه است. سوال ساده اینه: آیا اصولا ممکنه اینهمه خط کد اشتباه نداشته باشه؟ (: بذار یک فلوچارت بکشم:

آیا برنامه باگ داره

در کل تقریبا هر برنامه بزرگی که ما داشته باشیم، باگ داره! تنها مثال نقض برنامه کیو.میل که سال‌هاست نویسنده اش جایزه ای دلاری برای کسی گذاشته که بتونه توش یک باگ امنیتی نشون بده و هنوز هیچ کس موفق نشده اینکار رو بکنه و ما به عنوان تنها برنامه بدون باگ امنیتی می‌شناسیمش. اما به جز این، تک تک برنامه هایی که هستن باگ دارن – حالا کم یا زیاد و خطرناک یا کم خطر.

باگ‌ها هم می‌تونن چیزهای بسیار منتوعی باشن. باگ های امنیتی که ممکنه باعث نفوذ هکرها بشن، باگ هایی که باعث کرش بشن، باگ هایی که رفتار غیرطبیعی در سیستم تولید کنن و هر نوع اشتباه برنامه نویسی دیگه که برنامه رو از پروسه عادی اش خارج کنه.

و خب تا اینجا بحث باگ داشتیم اما مشکلات دیگه‌ای هم هست. مثلا بعضی از سازنده‌های سخت افزار تنبل هستن (شایدم خبیث!) که درایورهاشون رو برای لینوکس نمی دن و در نتیجه اگر اون سخت افزار رو روی لینوکس داشته باشین به دردسر می خورین یا مثلا اصولا برنامه ای برای محیطی مثل ویندوز درست شده و اینجا با دردسر بهش دسترسی داریم (مثلا کلاینت وایبر یا اسکایپ که به کیفیت ویندوزی اش نیست).

پس جواب خلاصه این می هش که هر برنامه ای که هست باگ داره و مشکلات متنوع. تفاوت در اینجاست که در دنیای لینوکس باگ ها سریع حل می شن و در نهایت اگر مشکلی هست به خاطر بی سوادی ما است که نمی تونیم اون باگ رو حل کنیم نه به خاطر اینکه اصولا برنامه بسته است و ما حق نداریم به عنوان یک برنامه نویس یا هکر تلاش کنیم دنیا رو بهتر کنیم و فقط باید منتظر بالایی ها بمونیم که اگر خواستن مشکل ما رو حل کنن.