بسیاری از کاربران رایانه هر روز از یک نسخهی اصلاحشده از سیستم GNU استفاده میکنند، بدون اینکه متوجه آن باشند. به دلیل یک اتفاق عجیب، نسخهای از GNU که امروزه به طور گسترده استفاده میشود، اغلب «لینوکس» نامیده میشود و بسیاری از کاربران آن نمیدانند که این اساساً همان سیستم GNU است که توسط پروژه GNU توسعه یافته است.
در واقع لینوکس وجود دارد و این افراد از آن استفاده میکنند، اما لینوکس فقط بخشی از سیستمی است که آنها استفاده میکنند. لینوکس هسته است: برنامهای در سیستم که منابع ماشین را بین برنامههای دیگر تخصیص میدهد. هسته بخش ضروری یک سیستمعامل است، اما بهتنهایی بیفایده است؛ تنها در چارچوب یک سیستمعامل کامل میتواند کار کند. لینوکس معمولاً همراه با سیستمعامل GNU استفاده میشود: کل سیستم اساساً GNU است که لینوکس به آن اضافه شده است، یا GNU/Linux. تمامی توزیعهایی که به «لینوکس» معروف هستند، در واقع توزیعهای GNU/Linux هستند.
بسیاری از کاربران تفاوت بین هسته، که لینوکس است، و کل سیستم، که آن را نیز «لینوکس» مینامند، نمیفهمند. استفادهی مبهم از این نام به درک بهتر کمکی نمیکند. این کاربران اغلب فکر میکنند که لینوس توروالدز کل سیستمعامل را در سال ۱۹۹۱ با کمی کمک توسعه داده است و داستان لینوکس همینجا تمام می شود که این درست نیست.
برنامهنویسان معمولاً میدانند که لینوکس یک هسته است. اما چون آنها نیز کل سیستم را «لینوکس» نامیدهاند، باعث این اشتباه رایج شده اند که کل سیستم عامل لینوکس نامیده می شود. برای مثال، بسیاری معتقدند که وقتی لینوس توروالدز نوشتن لینوکس (هسته) را تمام کرد، کاربران آن به دنبال نرمافزارهای آزاد دیگری برای استفاده با آن گشتند و دریافتند کار خاصی لازم نیست انجام دهند چرا که این هسته تمام نیازشان را برآورده کرده است و نیازی به گشتن نیست در حالیکه این موضوع نیز اشتباه بودچرا که نسخه غیر کامل گنو داشت روی هسته لینوکس کار می کرد و باعث شده بود این ها فکر کنند که به چیز دیگری نیاز نیست .
نرمافزارهای آزاد موجود به یک سیستم کامل تبدیل شدند، زیرا پروژه GNU از سال ۱۹۸۴ برای ساخت آن کار کرده بود. در مانیفست GNU هدف توسعه یک سیستم آزاد شبهیونیکس به نام GNU را شرح داده شده است. اعلامیه اولیه پروژه GNU نیز برخی از برنامههای اصلی برای سیستم GNU را مشخص میکند. تا زمانی که لینوکس شروع به کار کرد، GNU تقریباً کامل بود.
بیشتر پروژههای نرمافزار آزاد هدفشان توسعه یک برنامه خاص برای یک کار خاص است. برای مثال، لینوس توروالدز برای نوشتن یک هسته شبهیونیکس (لینوکس) کار کرد؛ دونالد کنوت برای نوشتن یک فرمتکننده متن (TeX) تلاش کرد؛ باب شیفلر برای توسعه یک سیستم پنجره (X Window System) کار کرد. طبیعی است که سهم این نوع پروژهها را با برنامههای مشخصی که از آنها به دست آمده است، اندازهگیری کنیم.
اگر بخواهیم سهم پروژه GNU را به این شیوه بسنجیم، به چه نتیجهای میرسیم؟ یک فروشنده سیدی-ROM دریافت که در «توزیع لینوکس» آنها، نرمافزار GNU بزرگترین بخش بود، حدود ۲۸٪ از کل کد منبع، و این شامل برخی از اجزای اصلی ضروری بود که بدون آنها هیچ سیستمی نمیتوانست وجود داشته باشد. خود لینوکس حدود ۳٪ بود. (نسبتها در سال ۲۰۰۸ مشابه بودند: در مخزن «اصلی» gNewSense، لینوکس ۱.۵٪ و بستههای GNU ۱۵٪ بودند.) بنابراین، اگر میخواستید نامی برای سیستم بر اساس اینکه چه کسی برنامههای سیستم را نوشته است انتخاب کنید، مناسبترین انتخاب «GNU» بود.
بسیاری از افراد کمکهای بزرگی به نرمافزار آزاد در سیستم کردهاند و همه آنها برای نرمافزارشان شایسته اعتبار هستند. اما دلیل اینکه این یک سیستم یکپارچه است—و نه فقط مجموعهای از برنامههای مفید—این است که پروژه GNU تصمیم گرفت آن را به یک سیستم تبدیل کند. تیم گنو فهرستی از برنامههای موردنیاز برای ساخت یک سیستم آزاد کامل تهیه کرد و اگر چیزی کم و کاستی داشت توسعه داده شد ، اگر چیزی نیاز بود که وجود نداشت ایجاد شد و اگر نرم افزاری از قبل بود که کار درست بود همان استفاده شد. تیم گنو اجزای اساسی اما نه چندان هیجانانگیز را نیز نوشت ، زیرا بدون آنها سیستمی وجود نداشت. برخی از اجزای سیستم گنو ، ابزارهای برنامهنویسی، بهخودیخود میان برنامهنویسان محبوب شدند، اما ما بسیاری از اجزای دیگر را که ابزار نبودند نیز توسعه داده شد. حتی یک بازی شطرنج به نام GNU Chess نیز ساخته شد، زیرا یک سیستم کامل به بازیها هم نیاز دارد.
اوایل دهه ۹۰ میلادی، کل سیستم را به جز هسته کنار هم گذاشته شد. همچنین توسعه یک هسته به نام GNU Hurd آغاز شد که بر روی Mach اجرا می شد. توسعه این هسته بسیار سختتر از آنچه انتظار میرفت بوده . خوشبختانه، نیازی نبود منتظر Hurd بمانیم، به لطف لینوکس. پس از اینکه توروالدز لینوکس را در سال ۱۹۹۲ آزاد کرد، لینوکس جای آخرین شکاف بزرگ در سیستم GNU را پر کرد. مردم میتوانستند لینوکس را با سیستم GNU ترکیب کنند تا یک سیستم عامل کامل آزاد بسازند—نسخهای از سیستم GNU که همچنین لینوکس را در بر دارد. به عبارت دیگر، سیستم GNU/Linux.
اینکه گنو و لینوکس کنار هم قرار بگیرند و با یکدیگر بهخوبی کار کنند ، اصلا کار سادهای نبود. برخی اجزای GNU نیاز به تغییرات اساسی داشتند تا با لینوکس کار کنند. یکپارچهسازی یک سیستم کامل بهعنوان توزیعی که «آماده برای استفاده» باشد نیز کار بزرگی بود. این کار مستلزم رسیدگی به مسئله نصب و راهاندازی سیستم بود—مشکلی که ما به آن نپرداخته بودیم، زیرا هنوز به آن نقطه نرسیده بودیم.
پروژه GNU از سیستمهای GNU/Linux و همچنین سیستم GNU پشتیبانی میکند. بنیاد نرمافزار آزاد (FSF) بازنویسی افزونههای مربوط به لینوکس برای کتابخانه C GNU را تأمین مالی کرد، تا اکنون این افزونهها بهخوبی یکپارچه باشند، و جدیدترین سیستمهای GNU/Linux از نسخه فعلی کتابخانه بدون تغییر استفاده کنند. FSF همچنین مرحله اولیه توسعه Debian GNU/Linux را تأمین مالی کرد.
امروزه نسخههای متنوعی از سیستم GNU/Linux (که اغلب «توزیعها» نامیده میشوند) وجود دارد. بیشتر آنها شامل برنامههای غیرآزاد هستند—توسعهدهندگان آنها فلسفه «کدباز» مرتبط با لینوکس را دنبال میکنند، نه فلسفه «نرمافزار آزاد» GNU. اما همچنین توزیعهای کاملاً آزاد GNU/Linux وجود دارد. FSF از امکانات رایانهای برای چند مورد از آنها پشتیبانی میکند.
ساخت یک توزیع GNU/Linux آزاد فقط مسئله حذف برنامههای غیرآزاد نیست. امروزه نسخه معمول لینوکس نیز شامل برنامههای غیرآزاد است. این برنامهها برای بارگذاری در دستگاههای ورودی/خروجی هنگام راهاندازی سیستم طراحی شدهاند و بهعنوان رشتههای طولانی از اعداد در «کد منبع» لینوکس گنجانده شدهاند. بنابراین، نگهداری توزیعهای آزاد GNU/Linux اکنون نیازمند نگهداری یک نسخه آزاد از لینوکس نیز هست.
چه از GNU/Linux استفاده کنید یا نه، لطفاً با استفاده از نام «لینوکس» به طور مبهم، مردم را سردرگم نکنید. لینوکس هسته است، یکی از اجزای اساسی سیستم. کل سیستم اساساً سیستم GNU است که لینوکس به آن اضافه شده است. هنگامی که درباره این ترکیب صحبت میکنید، لطفاً آن را «GNU/Linux» بنامید.
موفق باشید.
منبع این محتوا : https://www.gnu.org/gnu/linux-and-gnu.en.html
هیچ نظری موجود نیست:
ارسال یک نظر