مدافعان نرمافزار اختصاصی دوست دارند بگویند ”نرمافزار آزاد رویای زیبایی است، اما ما همه میدانیم که فقط سیستم اختصاصی میتواند محصولات قابل اطمینان تولید کند. چنین کاری از یک گروه از هکرها بر نمیآید.“
با این وجود تجربه خلاف این امر را نشان میدهد؛ آزمونهای علمی که توضیح آنها در ادامه آمده است، به این نتیجه رسیدهاند که نرمافزار گنو قابلیت اطمینان بیشتری در مقایسه با نرمافزار اختصاصی دارد.
جای شگفتی نیست؛ دلایل خوبی برای اطمینان بالای نرمافزار گنو وجود دارد، دلایل خوبی برای اینکه انتظار داشته باشیم نرمافزار آزاد اغلب (اگرچه نه همیشه) قابلیت اطمینان بسیار بالایی داشته باشد.
ابزارهای گنو ایمنتر هستند!
بارتون میلر و همکاراناش در سالهای ۱۹۹۰ و ۱۹۹۵ قابلیت اطمینان ابزارهای گنو را آزمایش کردند. هر بار، ابزارهای گنو به طرز قابل ملاحظهای پیش بودند. آنان علاوه بر گنو هفت سیستم یونیکس تجاری را نیز مورد آزمون قرار دادند. با قرار دادن سیستمها در برابر ورودی اتفاقی، ” آنها توانستند در بدترین شرایط ۴۰ درصد از ابزارهای اساسی را بشکنند (به همراه core dump) و یا متوقف کنند (چرخهٔ بینهایت)…“
این محققین دریافتند که سیستمهای تجاری یونیکس در ۱۵ تا ۴۳ درصد از موارد شکست میخوردند. در مقابل، میزان شکست گنو تنها هفت درصد بود.
میلر همچنین اظهار کرده است: ”سه مورد از سیستمهای تجاری که ما در سالهای ۱۹۹۰ و ۱۹۹۵ بررسی کردیم به طرز محسوسی قابل اطمینانتر شده بودند، اما هنوز هم به میزان قابل توجهی با شکست مواجه میشدند. (ابزارهای اساسی گنو/لینوکس به طرز محسوسی بهتر از آن سیستمهای تجاری بود.)“
برای جزئیات بیشتر مقالهٔ آنان را مطالعه کنید: دیدار مجدد با Fuzz: آزمایش دوبارهٔ قابلیت اطمینان ابزارها و سرویسهای یونیکس (پستاسکریپت ۱۴۶ کیلوبایت) نوشتهٔ بارتون میلر <[email protected]>، دیوید کوسکی، Cjin Pheow Lee، Vivekananda Maganty، Ravi Murthy، Ajitkumar Natarajan، و Jeff Steidl.
چرا نرمافزار آزاد قابل اطمینانتر است
قابلیت اطمینان بالاتر ابزارهای گنو اتفاقی نیست. دلایل خوبی وجود دارد که چرا نرمافزار آزاد به سمت کیفیت بالاتر میرود.
یکی از دلایل این است که نرمافزار آزاد تمام جامعه را درگیر کار بر روی نرمافزار و تعمیر مشکلات میکند. کاربران نه تنها اشکالات را گزارش میکنند، بلکه حتی اشکلات را رفع کرده و ارسال میکنند. کاربران با یکدیگر همکاری میکنند، به وسیلهٔ پستالکترونیکی با یکدیگر گفتگو میکنند تا بتوانند مشکلات را حل کرده و نرمافزار را بدون بروز اشکال اجرا کنند.
دلیل دیگر این است که توسعهدهندگان حقیقتا به قابلیت اطمینان اهمیت میدهند. بستههای نرمافزار آزاد همیشه با انواع تجاری خود رقابت نمیکنند، اما به دنبال کسب شهرت هستند، و برنامهای که رضایتبخش نباشد نمیتواند به محبوبیتی که توسعهدهندگان به دنبالاش هستند دست یابد. فراتر از آن، نویسندهای که کد خود را برای مشاهده در اختیار دیگران قرار میدهد آبروی خود را در میان گذاشته است، و مجبور است نرمافزار را پاک و واضح تولید کند، تا رنج نارضایتی جامعه را متحمل نشود.
مرکز درمان سرطان بر روی نرمافزار آزاد تکیه کرده است!
مرکز درمان سرطان راجر ماریس در فراگو، داکوتای شمالی (همان فراگو که اخیرا محل وقوع یک فیلم و یک سیل بوده است) از سیستمعامل گنو با پایهٔ لینوکس استفاده میکند، چرا که قابلیت اطمینان بسیار ضروری است. یک شبکه از ماشینهای گنو/لینوکس سیستم اطلاعاتی را اداره میکنند، درمانهای دارویی را سازماندهی میکنند، و بسیاری اعمال دیگر را انجام میدهند. شبکه باید همواره هنگام نیاز در اختیار کارکنان مرکز قرار داشته باشد.
بر طبق اظهارات دکتر جی.دابلیو.وتستین <[email protected]>:
امروز مراقبت مناسب ما از بیماران بدون وجود [گنو/]لینوکس میسر نمیشد … ابزارهایی که از مجرای نرمافزار آزاد به دست آوردهایم ما را قادر نموده است که برنامههای مبتکرانهای را پدید آورده و توسعه دهیم که … به واسطهٔ بزرگراههای تجاری میسر نبود.
ابزارهای ضد گلولهٔ گنو!
اسکات ماکسول <[email protected]> تلاش برای حذف ”اشکالات Fuzz“ از نرمافزار گنو را هدایت میکند، به این ترتیب آنها حتی بیش از این قابل اطمینان خواهند شد. شما میتوانید در رابطه با این پروژه در http://home.pacbell.net/s-max/scott/bulletproof-penguin.html بیشتر مطالعه کنید.