در
درس قبل گفتیم که هکری اسطوره ای به نام ریچارد استالمن در اوایل دهه ۸۰،
درس را رها کرد و با ایجاد موسسه ای نرم افزاری شروع به تبلیغ مفهوم آزادی
در دنیای کامپیوتر کرد. دغدغه اصلی استالمن این بود که مردم باید کنترل
کامل ابزاری که از آن استفاده می کنند را شخصا در دست داشته باشند و
بتوانند با بررسی، بهبود و به اشتراک گذاشتن نرم افزارها، در خلق دنیایی
بهتر و آزادتر سهیم باشند. مشخص است که این کار باید از پایین ترین لایه
نرم افزاری شروع شود: سیستم عامل.
سیستم عامل آزاد گنو
همانطور که می دانید کامپیوتر از دو بخش سخت افزار و نرم افزار تشکیل شده.
سخت
افزار عبارت است از هر چیز فیزیکی قابل لمس که در یک کامپیوتر مرسوم شامل
نمایشگر، مادربرد، سی پی یو، کارت شبکه، حافظه، کیبورد، ماوس، وسایل ذخیره
سازی مانند هارد دیسک و شاید حتی یک چاپگر یا وب کم می شود. این اجزا هر
کدام نیاز به راه اندازی و از آن مهمتر ارتباط برقرار کردن با یکدیگر
دارند.
در
حال حاضر کارت شبکه شما برای ارتباط با اینترنت تنظیم شده، مرورگر یا
برنامه ایمیل خود را از روی هارد دیسک اجرا کرده اید، با استفاده از دکمه
های کیبورد یا ماوس این متن را بالا و پایین می کنید و ممکن است به شکل
همزمان کارت صوتی شما هم مشغول پخش کردن یک آهنگ باشد. کنترل مرکزی تمام
اینکارها یا به عبارتی کنترل تمام سخت افزار کامپیوتر شما و برقراری ارتباط
بین اجزای مختلف آن، وظیفه سیستم عامل است. در یک لایه بالاتر، سیستم عامل
سعی می کند با ایجاد کردن یک محیط گرافیکی و نمایش آیکون ها و دریافت
فرمان های بیشتر و دقیق تر از طریق ماوس و امکانات مشابه، ارتباط شما با
سخت افزار را تا جایی که می تواند راحت تر و بی دردسرتر کند.
پس به
شکل خلاصه، سیستم عامل کلید ورود شما به دنیای سخت افزار و پایه ای ترین
نرم افزاری است که هر کامپیوتر برای حتی روشن شدن اولیه باید آن را اجرا
کند. اگر این برنامه را در کنترل داشته باشید یعنی سخت افزار در کنترل شما
است و در مقابل اگر این برنامه درست کار نکند، کل تجربه کامپیوتری شما تحت
تاثیر قرار خواهد گرفت.
به
دلیل این اهمیت بالای سیستم عامل در کاربری کامپیوتر، استالمن تصمیم گرفت
یک سیستم عامل آزاد بنویسد. سیستم عاملی که هر کس بتواند برای هر کاری که
می خواهد از آن استفاده کند، آن را بهبود بخشد و با دیگران به اشتراک
بگذارد. مشخص است که این پروژه ای است بسیار بزرگ که سال های سال طول می
کشد اما یک هکر واقعی، هیچ وقت نگران وقت نیست و البته هکرهای واقعی، تنها
هم نیستند.
استالمن
و دیگران اسم پروژه خودشان را GNU گذاشتند که به فارسی می توانیم آن را
گِنو تلفظ کنیم. آنها بهترین معماری سیستم عامل موجود یعنی معماری UNIX که
در آن زمان بر روی کامیپوترهای بزرگ به شکل تجاری و بسته موجود بود را
انتخاب کردند و شروع کردند به نوشتن یک سیستم عامل کاملا آزاد براساس آن
معماری پیشرفته. براساس این معماری لازم بود تا این چهار جزء تکمیل شوند:
-
کرنل
(Kernel) که هسته اصلی سیستم عامل را تشکیل می داد و از آن انتظار می رفت
با شناخت سخت افزارها بتواند با آنها ارتباط برقرار کند.
-
محیط
توسعه نرم افزار؛ مانند کمپایلرها و کتابخانه های مختلفی که بقیه باید از
آنها برای ساخت برنامه در این سیستم عامل جدید استفاده کنند.
-
دستورات
عمومی زندگی روزمره مانند کپی فایل، برنامه هایی برای کارهای گرافیکی،
پوسته ای متنی برای صادر کردن این دستورات، ابزارهایی برای فرمت کردن دیسک
و... .
-
مستندات؛ راهنماهای سیستم عامل و توضیحات متنی پیرامون آن
پروژه
گنو به سرعت پیش رفت و سه جزء آخر را با کیفیتی باور نکردنی تکمیل کرد.
کیفیت نرم افزارهای آزاد تولید شده برای سه بخش آخر در حدی بودند که بسیاری
از سیستم عامل های دیگر (بخصوص یونیکسی ها) شروع به استفاده از آنها
کردند. شاید برایتان جالب باشد که در حال حاضر نیز سیستم عامل مک نسخه ده
که بر روی کامپیوترهای اپل جدید اجرا می شوند در لایه پایینی دارای یونیکسی
است که از ترکیب محصول پروژه گنو و یک هسته آزاد به نام BSD ساخته شده
است.