همیشه بحث بر سر نامگذاری لینوکس بین افراد مختلف وجود داشته است. لینوس تروالدز که خود نویسنده هسته یا کرنل لینوکس می باشد علاقه مند است که این سیستم عامل را “لینوکس” بنامد. اما از آنجائی که هسته لینوکس به تنهایی عملا هیچ کاربرد خاصی ندارد، آقای ریچارد استالمن و علاقه مندان به دنیای نرم افزار آزاد ترجیح میدهند نام این سیستم عامل را “گنو/لینوکس” بنامند. گنو به نرم افزارهایی گفته میشود که در کنار هسته یا کرنل، استفاده از لینوکس را ممکن می سازند. در اصل گنو نرم افزارها و ابزارهای کاملا رایگان و متن باز میباشند که تا به امروز توسعه بسیار خوبی داشته اند و لینوکس را به قدرتی که امروز همه به آن اعتراف میکنند رسانده اند.
گنو/لینوکس چیست؟
گنو/لینوکس نام سیستم عاملیست که توسط هزاران برنامه نویس داوطلب در سراسر جهان توسعه داده میشود. معمولا این سیستم عامل را به اختصار لینوکس می نامند. لینوکس هسته یا کرنل این سیستم عامل است. امروزه لینوکس را همه جا میبینید. از گوشی ها و سایر دستگاه هایی که از اندروید استفاده میکنند تا سرورهای و حتی رایانه های شخصی و ابر راینه ها، تجهیزان مهندسی پزشکی و … .
تاریخچه لینوکس
در سال ۱۹۷۰ سیستم عاملی در آزمایشگاه شرکت AT&T توسط دو مهندس خبره به نام های دنیس ریچی(سمت راست) و کن تامسون(سمت چپ) تولید شد.
یونیکس ابتدا به زبان اسمبلی نوشته شد اما با توجه به نیازهایی که احساس میشد آن را مجددا به زبان C بازنویسی کردند که بعد از آن رشد چشمگیری حاصل شد. AT&T کمی بعد یک گواهی برای این سیستم عامل در نظر گرفت که استفاده از یونیکس را مشروط به پرداخت هزینه میکرد و سورس آن نیز کاملا بسته بود. شروع داستان از اینجا اتفاق افتاد و شخصی به نام ریجارد استالمن، دانشجوی دکتری از دانشگاه MIT که همواره تفکرات و دغدغه های خاصی داشت مقابل آن به مخالفت برخواست و گروهی تحت عنوان GNU یا گنو را تاسیس کرد که هدف آن ساخت یک سیستم عامل شبه یونیکس البته بدون محدودیت بود.
استالمن در سال ۱۹۷۱ وارد آزمایشگاه هوش مصنوعی دانشگاه MIT شد و کار توسعه گنو را ادامه داد. شاید بتوان گفت استالمن بزرگترین هکر و بزرگترین برنامه نویس در تاریخ جهان می باشد که دارای نبوغ فراوانی در این حوزه می باشد. بعدها در اوایل دهه ۸۰ میلادی که استفاده از رایانه ها و سیستم عامل ها رشد بیشتری در جهان داشت، ویندوز و سایر سیستم عامل ها به صورت بسته و کاملا انحصاری ارائه میشد و استالمن این مساله را مانع پیشرفت در این حوزه میدانست و از این رو بنیاد نرم افزار آزاد یا Free Software Foundation که به اختصار به آن FSF هم میگویند را در سال ۱۹۸۵ تاسیس کرد. کار اصلی این بنیاد تولید نرم افزارهایی کاملا رایگان و متن باز بود که همین امر موجب رخ دادن انقلابی در نرم افزارها شد. بعد از آن اگر نرم افزاری توسط این موسسه منتشر میشد شما میتوانید به سورس آن دسترسی داشته باشید و طبق نیاز خود آن را تغییر و انتشار دهید.
درست زمانی که استالمن در حال ساخت سیستم عامل گنو بود، دانشمندان دانشگاه کالیفرنیا در برکلی در حال ساخت یک سیستم عامل آزاد دیگر با نام Unix Berkely یا BSD بودند. BSD مخفف Berkeley Software Distribution می باشد و کاملا مبتنی بر یونیکس بود درحالی که پروژه استالمن(گنو) به هیچ وجه مبتنی بر یونیکس نبود و کاملا و طور مستقل نوشته شده بود. شرکت AT&T با اطلاع از این موضوع از BSD شکایت کرد و این موضوع موجب تولید سیستم عامل دیگری به نام FreeBSD شد. البته این سیستم عامل باز هم شبیه یونیکس بود. امروزه میبینید که شرکت اپل یا تجهیزات سیسکو همگی بر پایه BSD می باشند. BSD توزیع های گوناگونی دارد که یکی از آنها تحت عنوان Debian GNU/kFreeBSD می باشد. البته دبیان یکی از توزیع های گنو/لینوکس نیز می باشد که ما در آموزش های این وب سایت تمرکز اصلی را بر روی توزیع دبیان بر پایه گنو/لینوکس میگذاریم.
با توجه به اینکه نرم افزارهایی که توسط تیم استالمن طراحی شده بودند در بهترین سطح ارائه شده بودند همه میتوانستند از آن ها بر روی سیستم عامل های خود مانند ویندوز، یونیکس و … نیز استفاده کنند. در همان بازه زمانی شخصی به نام لینوس تروالدز از استاد خود آقای تننباوم(tanenbaum) درخواست سورس سیستم عاملی را کرد که او نوشته بود. این سیستم عامل تحت عنوان Minix شناخته میشد. آقای تننباوم با درخواست لینوس موافقت نکرد و این موضع موجب شد تا لینوس تروالذر با استفاده از کامپایلر زبان C که توسط ریچارد استالمن نوشته شده بود بتواند هسته سیستم عامل مینیکس را بازنویسی کند. او بعدا نام آن را به لینوکس (Linux) تغییر داد. در اوایل سال ۱۹۹۶ او به فکر ساخت یک لوگو برای سیستم عامل خود افتاد. با توجه به سفر اخیری که به استرالیا داشت در بازدید از یک باغ وحش پنگوئنی دست او را گاز میگیرد که بسیار او را تحت تاثیر قرار میدهد و اینگونه شد که نماد پنگوئن را برای سیستم عاملی که نوشته بود در نظر گرفت.
استالمن برای رسیدن به هدف خود تا سال ۱۹۹۱ توانست تمامی برنامه های یونیکس را به صورت متن باز و رایگان ارائه کند. حالا نرم افزارهای خیلی قوی وجود دارد که نیاز به یک هسته یا کرنل دارند تا پازل یک سیستم عامل قدرتمند تکمیل شود. از این رو، لینوس تروالذر نیز که به دنبال یک گواهی مناسب برای سیستم عامل خود بود میدانست که یک سیستم عامل به تنهایی توجه کسی را جلب نمیکند. اینگونه شد که تمایل ایشان به سمت GPL یا GNU Public License بیشتر شد و این گواهی را روی سیستم عامل خود پذیرفت و در نهایت گنو/لینوکس شکل گرفت.
GPL چیست؟
همانطور که گفته شد GPL مخفف GNU Public License می باشد. مجوز فوق العاده ای که ضامن بقای گنو/لینوکس شد. هر نرم افزار تحت این لایسنس می بایست از قوانین زیر تبعیت کند:
- آزادی ۰: آزادی برای اجرای برنامه به هر منظوری
- آزادی ۱: آزادی برای مطالعه و بررسی چگونگی عملکرد برنامه و تغییر آن برای نیاز خود. دسترسی به سورس منبع یک پیششرط برای این آزادی است.
- آزادی ۲: آزادی برای توزیع مجدد کپیهایی از آن، بنابراین شما میتوانید به دیگران نیز کمک کنید.
- آزادی ۳: آزادی برای بهبود برنامه و انتشار این تغییرات برای عموم (تحت همان مجوز GPL)، بنابراین تمام جامعه از آن بهره میبرند دسترسی به سورس منبع یک پیششرط برای این آزادی است.
پس نرم افزارهای Free الزاما رایگان نمی باشند. ممکن است شما یک نرم افزار فری یا آزاد را بفروشید ولی حتما می بایست بعد از فروش آن قوانین و آزادی هایی که در بالا عنوان شد را به نرم افزار خود بدهید. چیزی که باعث عقب افتادن FreeBSD در این رقابت شد عدم پذیرفتن GPL بود و سیستم عامل MAC و IOS توانستند با تغییرات جزئی عملا FreeBSD را محو و خود را مطرح کنند.
آنچه که مطرح است این است که استالمن به عنوان یک نابغه در زمینه برنامه نویسی به عنوان یک فیلسوف بزرگ و پدر جنبش نرم افزارهای آزاد نیز شناخته میشود و در سراسر جهان از احترام خاصی به این واسطه برخوردار است.
توزیع های لینوکس
بعد از پیدایش GPL برنامه نویسان زیاد توانستند به توسعه گنو/لینوکس بپردازند و نسخه دلخواه خود را از لینوکس منتشر کنند. امروزه صدها توزیع منتشر شده است. تعدادی از این توزیع ها با نام توزیع های مادر شناخته میشوند:
- MCC Interim در سال ۱۹۹۲
- SLS در سال ۱۹۹۲ که در سال ۱۹۹۳ نسخه ای تحت عنوان Slackware منتشر شد که شناخته تر شد. در ادامه توزیع هایی مانند SUSE و OpenSUSE نیز این توزیع ایجاد شدند.
- Debian در سال ۱۹۹۳ منتشر شد که توزیع های Ubuntu و Mint بعدا بر این اساس شکل گرفتند.
- Redhat در سال ۱۹۹۴ منتشر شد که توزیع های CentOS و Fedora بعدا بر این اساس شکل گرفتند.
- Enoch در سال ۱۹۹۹ منشتر شد که توزیع Gentoo بعدا بر این اساس شکل گرفت.
- ARCH در سال ۲۰۰۲ که توزیع Manjaro بعدا بر این اساس شکل گرفت.
- Android در سال ۲۰۰۷
تقریبا سایر توزیع ها نیز برگرفته از همین توزیع ها میباشند.