شرکت فناوران اینترنت اشیاء هیوا

لینوکس و سیستم گنو

بسیاری از کاربران رایانه هر روز یک نسخه اصلاح شده از سیستم GNU را بدون اینکه متوجه شوند اجرا می‌کنند. از طریق چرخش عجیبی از رویدادها، نسخه GNU که امروزه به طور گسترده مورد استفاده قرار می‌گیرد، اغلب «لینوکس» نامیده می‌شود و بسیاری از کاربران آن نمی‌دانند که اساساً این سیستم GNU است که توسط پروژه GNU توسعه یافته است.

واقعا یک لینوکس وجود دارد و این افراد از آن استفاده می‌کنند، اما این فقط بخشی از سیستمی‌است که استفاده می‌کنند. لینوکس هسته است: برنامه ای در سیستم که منابع دستگاه را به برنامه های دیگری که اجرا می‌کنید تخصیص می‌دهد. هسته بخش اساسی یک سیستم عامل است، اما به خودی خود بی فایده است. فقط می‌تواند در چارچوب یک سیستم عامل کامل عمل کند. لینوکس معمولا در ترکیب با سیستم عامل GNU استفاده می‌شود: کل سیستم اساسا GNU است که لینوکس، یا گنو/لینوکس به آن اضافه شده است. تمام توزیع های به اصطلاح "لینوکس" در واقع توزیع های گنو/لینوکس هستند.

بسیاری از کاربران تفاوت بین هسته که لینوکس است و کل سیستم که آن را "لینوکس" نیز می‌نامند، درک نمی‌کنند. استفاده مبهم از نام، کمکی به درک افراد نمی‌کند. این کاربران اغلب فکر می‌کنند که لینوس توروالدز کل سیستم عامل را در سال ۱۹۹۱ با کمی‌کمک توسعه داد.

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

چیزی که آنها پیدا کردند تصادفی نبود و یک سیستم نیمه‌کامل GNU بود. نرم افزار آزاد موجود به یک سیستم کامل اضافه شد زیرا پروژه GNU از سال ۱۹۸۴ برای ایجاد آن کار می‌کرد. در GNU Manifesto ما هدف توسعه یک سیستم آزاد شبیه یونیکس به نام GNU را بیان کردیم. اعلامیه اولیه پروژه GNU همچنین برخی از طرح های اولیه برای سیستم GNU را مشخص می‌کند. زمانی که لینوکس راه اندازی شد، GNU تقریبا تمام شده بود.

هدف اکثر پروژه های نرم افزار آزاد، توسعه یک برنامه خاص برای یک شغل خاص است. به عنوان مثال، لینوس توروالدز شروع به نوشتن یک هسته شبیه یونیکس (لینوکس) کرد. دونالد کنوت شروع به نوشتن یک فرمت‌کننده متن (TeX) کرد. باب شایفلر شروع به توسعه یک سیستم پنجره (سیستم پنجره ایکس) کرد. طبیعی است که سهم این نوع پروژه ها را با برنامه های خاصی که از پروژه به دست می‌آید اندازه گیری کنیم.

اگر بخواهیم سهم پروژه GNU را از این طریق بسنجیم، چه نتیجه ای می‌گیریم؟ یکی از فروشندگان CD-ROM دریافت که در "توزیع لینوکس" آنها، نرم افزار GNU بزرگترین تک واحد، حدود ۲۸ درصد از کل کد منبع است، و این شامل برخی از اجزای اصلی اساسی است که بدون آنها هیچ سیستمی ‌وجود ندارد. لینوکس خودش حدود 3 درصد بود. (نسبت‌ها در سال ۲۰۰۸ مشابه است: در مخزن "اصلی" gNewSense، لینوکس ۱.۵٪ و بسته‌های گنو ۱۵٪ است). بنابراین اگر می‌خواهید نامی‌ برای سیستم بر اساس اینکه چه کسی برنامه‌ها را در سیستم نوشته است انتخاب کنید، مناسب ترین انتخاب واحد "GNU" خواهد بود.

اما این عمیق ترین راه برای بررسی این سوال نیست. پروژه GNU پروژه‌ای برای توسعه بسته های نرم افزاری خاص نبوده و نیست. پروژه‌ای برای توسعه یک C compiler نبود، اگرچه ما این کار را انجام دادیم. پروژه ای برای توسعه یک ویرایشگر متن نبود، اگرچه ما یکی را توسعه دادیم. پروژه GNU شروع به توسعه یک سیستم کاملا آزاد شبیه یونیکس کرد: GNU.

بسیاری از مردم به نرم افزار آزاد در سیستم کمک های عمده ای کرده اند، و همه آنها سزاوار اعتبار نرم افزار خود هستند. اما دلیل اینکه این یک سیستم یکپارچه است - و نه فقط مجموعه ای از برنامه های مفید - این است که پروژه GNU قصد دارد آن را یکی کند. ما لیستی از برنامه های مورد نیاز برای ایجاد یک سیستم آزاد کامل تهیه کردیم و به طور سیستماتیک پیدا کردیم، نوشتیم یا افرادی را پیدا کردیم تا همه چیز را در لیست بنویسند. ما مؤلفه‌های ضروری اما غیر هیجان‌انگیز را نوشتیم زیرا بدون آنها نمی‌توانید سیستمی‌داشته باشید. برخی از اجزای سیستم ما، مانند ابزارهای برنامه نویسی، به خودی خود در بین برنامه نویسان محبوب شدند، اما ما مؤلفه های زیادی نوشتیم که ابزار نیستند. ما حتی یک بازی شطرنج، شطرنج GNU را توسعه دادیم، زیرا یک سیستم کامل به بازی هم نیاز دارد.

در اوایل دهه ۹۰، ما کل سیستم را جدا از هسته جمع آوری کرده بودیم. ما همچنین یک هسته به نام GNU Hurd را راه اندازی کرده بودیم که در بالای Mach اجرا می‌شود. توسعه این هسته بسیار سخت تر از آن چیزی بوده است که انتظار داشتیم. GNU Hurd به طور قابل اعتمادی در سال ۲۰۰۱ شروع به کار کرد، اما راه درازی تا آماده شدن برای استفاده عموم مردم در پیش دارد.
خوشبختانه، به دلیل لینوکس مجبور نبودیم منتظر Hurd باشیم. هنگامی‌که توروالدز لینوکس را در سال ۱۹۹۲ آزاد کرد، در آخرین شکاف بزرگ در سیستم GNU قرار گرفت. سپس مردم می‌توانستند لینوکس را با سیستم GNU ترکیب کنند تا یک سیستم رایگان کامل بسازند، یعنی نسخه‌ای از سیستمGNU که شامل لینوکس نیز می‌شد. به عبارت دیگر سیستم GNU / لینوکس.
فعال‌کردن آنها با همدیگر، کار بی اهمیتی نبود. برخی از اجزای GNU برای کار با لینوکس نیاز به تغییرات اساسی داشتند. ادغام یک سیستم کامل به عنوان توزیعی که "خارج از جعبه" کار کند نیز کار بزرگی بود. این امر مستلزم پرداختن به مسئله نحوه نصب و راه‌اندازی سیستم بود، مشکلی که ما با آن برخورد نکرده بودیم، زیرا هنوز به آن نقطه نرسیده بودیم. بنابراین، افرادی که توزیع‌های مختلف سیستم را توسعه دادند، کارهای اساسی زیادی انجام دادند. اما این کاری بود که در ماهیت کارها، مطمئنا بالاخره توسط شخصی انجام می‌شد.

پروژه GNU از سیستم های گنو/لینوکس و همچنین سیستم GNU پشتیبانی می‌کند. FSF بازنویسی برنامه‌های افزودنی مرتبط با لینوکس در GNU C library را تأمین مالی کرد، به طوری که اکنون آنها به خوبی ادغام شده اند و جدیدترین سیستم های گنو/لینوکس از نسخه فعلی library بدون هیچ تغییری استفاده می‌کنند. FSF همچنین یک مرحله اولیه از توسعه Debian GNU/Linux را تامین مالی کرد.

امروزه انواع مختلفی از سیستم گنو/لینوکس وجود دارد (که اغلب به آنها "distros" می‌گویند). بیشتر آنها شامل برنامه‌های غیرآزاد هستند. توسعه‌دهندگان آنها به‌جای فلسفه «GNU free software»، از فلسفه «open source» مرتبط با لینوکس پیروی می‌کنند. اما توزیع‌های GNU/لینوکس کاملا رایگان نیز وجود دارد. FSF برای تعدادی از آنها از امکانات کامپیوتری پشتیبانی می‌کند.
ساختن یک توزیع رایگان GNU/لینوکس فقط به حذف برنامه های مختلف غیرآزاد نیست. امروزه، نسخه معمولی لینوکس شامل برنامه‌های غیر رایگان نیز می‌شود. این برنامه‌ها در نظر گرفته شده‌اند که هنگام راه‌اندازی سیستم در دستگاه‌های ورودی/خروجی بارگذاری شوند و به‌عنوان یک سری اعداد طولانی در «کد منبع» لینوکس گنجانده می‌شوند. بنابراین، حفظ توزیع رایگان GNU/لینوکس اکنون مستلزم حفظ نسخه آزاد لینوکس نیز هست.

چه از گنو/لینوکس استفاده کنید چه نه، لطفاً با استفاده از نام «لینوکس» به طور مبهم، عموم را گیج نکنید. لینوکس هسته، یکی از اجزای اصلی سیستم است. سیستم به طور کلی اساساً سیستم GNU است و لینوکس اضافه شده است. وقتی در مورد این ترکیب صحبت می‌کنید، لطفاً آن را «GNU/لینوکس» بنامید.
اگر میخواهید درباره گنو/لینوکس بیشتر بدانید روی این لینک کلیک کنید و برای اطلاع بیشتر در مورد هسته لینوکس، وارد این صفحه شوید.

پست‌نوشته‌ها

به غیر از GNU، یک پروژه دیگر به طور مستقل، یک سیستم عامل آزاد شبیه یونیکس تولید کرده است. این سیستم با نام BSD شناخته می‌شود و در UC Berkeley توسعه یافته است. در دهه ۸۰ آزاد نبود، اما در اوایل دهه ۹۰ آزاد شد. سیستم عامل آزادی که امروزه وجود دارد تقریباً یا نوعی سیستم GNU است یا نوعی سیستم BSD .
مردم گاهی می‌پرسند که آیا BSD نیز نسخه ای از GNU، یا مانند گنو/لینوکس است. توسعه دهندگان BSD از نمونه پروژه GNU برای ایجاد نرم افزار آزاد کد خود الهام گرفتند و درخواست های صریح فعالان GNU به متقاعد کردن آنها کمک کرد، اما کد همپوشانی کمی ‌با GNU داشت. امروزه سیستم‌های BSD از برخی برنامه‌های GNU استفاده می‌کنند، همانطور که سیستم GNU و انواع آن از برخی برنامه‌های BSD استفاده می‌کنند. با این حال، به عنوان یک کل، آنها دو سیستم مختلف هستند که به طور جداگانه تکامل یافته اند. توسعه دهندگان BSD، هسته ای ننوشتند و آن را به سیستم GNU اضافه نکردند، و نامی ‌مانند GNU/BSD با این موقعیت مناسب نیست.

شرکت دانش بنیان فناوران اینترنت اشیاء هیوا از سال ۱۳۹۷ با بهره‌گیری از دانش، تخصص و تجربه افراد توانمند در زمینه گنو/لینوکس فعالیت می کند.