گنو
توسعهدهنده | جامعهٔ کاربری |
---|---|
نوشته شده به زبان | بهطور عمده سی و اسمبلی |
خانواده | شبه-یونیکس |
وضعیت توسعه | فعال |
مدل منبع | نرمافزار آزاد |
بازار هدف | رایانههای شخصی، تلفنهای همراه، دستگاه های توکار، کارساز (سِرور)ها، بزرگرایانه ها، اَبَر رایانه ها |
روش روزآمدسازی | مدیر بسته |
بنسازه رایانش | IA-32 (با هستهٔ گنو هرد) و دک آلفا، ARC, معماری آرم، AVR32, Blackfin, C6x , ETRAX CRIS, FR-V, H8/300 , Hexagon, ایتانیوم، M32R, m68k, META, Microblaze, معماری میپس، MN103, OpenRISC, PA-RISC, پاورپیسی، s390, S+core, SuperH, اسپارک، TILE64, Unicore32, اکس۸۶, Xtensa (با هستهٔ لینوکس-لیبره) |
گونه هسته | ریزهسته در گنو هرد، یکپارچه در لینوکس-لیبره |
پیش فرض واسط کاربر | گنوم، کیدیئی، اکسافسیئی، الاکسدیئی، ماته، دیپین و واسط های دیگر |
پروانه | پروانهٔ عمومی همگانی گنو ، پروانهٔ کمتر فراگیر همگانی گنو ، پروانه عمومی همگانی آفرو، پروانه مستندات آزاد گنو، GNU FSDG[۱] |
وبگاه رسمی | |
وضعیت پشتیبانی | |
مبتنی بر جامعهٔ کاربری |
سیستمعامل گنو در سال ۱۹۸۳ با هدف ایجاد یک سیستمعامل کامل و آزاد شبه-یونیکس بهوسیله ریچارد استالمن پایهگذاری شد. GNU مخفف بازگشتی «GNU's Not Unix» است.
پروژه گنو در سال ۱۹۸۴ با هدف پشتیبانی و تولید نرمافزار آزاد برای سیستمعامل گنو تأسیس شد.
بنیاد نرمافزار آزاد در سال ۱۹۸۵ با هدف حمایت از جنبش نرمافزار آزاد و به ویژه پروژهٔ گنو شروع به کار کرد.
سیستم عامل گنو در حال حاضر از هسته لینوکس استفاده می کند و حاصل همکاری سیستم عامل گنو و هسته لینوکس، گنو/لینوکس است که به اشتباه به آن لینوکس می گویند که بحث نام گذاری گنو/لینوکس را تشکیل داده است.
کرنل اصلی سیستمعامل گنو، گنو هرد است که هنوز در حال توسعه تا رسیدن به سطح پایدار است و کاربر و کاربرد زیادی ندارد.
تاریخچه
[ویرایش]در دههٔ ۱۹۷۰ و اوایل دههٔ ۱۹۸۰، برنامهنویسان رایانه تمامی کدهایی را که مینوشتند با دیگران به اشتراک میگذاشتند. هر شخصی متن برنامهٔ خود را در اختیار دیگر برنامهنویسان میگذاشت و به اشتراکگذاری نرمافزار امری عادی بود.
اما در اوایل دههٔ ۱۹۸۰ همه چیز به آرامی دگرگون شد. شرکتهای نرمافزاری دیگر متن برنامههای خود را در اختیار دیگران قرار نمیدادند. برنامهنویسان نمیتوانستند برنامههای دیگران را تغییر داده و آن را بهبود بخشند. از این پس به اشتراک گذاریِ نرمافزار جرم محسوب میشد.
در همین سالها ریچارد استالمن در آزمایشگاه هوش مصنوعیِ مؤسّسهٔ تکنولوژیِ ماساچوست (امآیتی) مشغول به کار بود. او معتقد بود که نرمافزار باید همواره آزاد بوده و همگان اجازهٔ ویرایش آن را داشته باشند. به عبارت دیگر نرمافزار باید آزاد باشد.
نخستین گام برای داشتن یک رایانهٔ آزاد، وجود یک سیستمعامل آزاد و نرمافزارهای آزاد بر روی آن بود؛ بنابراین ریچارد استالمن پروژه گنو را آغاز کرد. در طی سالهای ۱۹۸۴ تا ۱۹۸۵ او کامپایلر جیسیسی و ویرایشگر متن ایمکس را نوشت و منتشر کرد. به این ترتیب ابزارهای نخستین مورد نیاز برای طراحی و ساخت یک سیستمعامل فراهم شد. در سال ۱۹۸۵ بنیاد نرمافزارهای آزاد پایهگذاری شد، مفهوم کپیلفت به وجود آمد و اجازهنامهٔ جامع و عمومی گنو (جیپیال) برای حمایت نرمافزارهای آزاد و تضمین آزادی کابران نوشته شد.[۲]
از آن زمان تاکنون افراد بسیاری به صورت داوطلبانه برای توسعه بخشهای مختلف این سیستمعامل همکاری کرده و بخشهای مختلف آن را توسعه دادند.
تا سال ۱۹۹۰ تمامی اجزای یک سیستمعامل به غیر از هسته آن آماده بود. در سال ۱۹۹۱ لینوس توروالدز هستهای با نام لینوکس را پدیدآورد. ترکیب نرمافزارهای گنو با لینوکس یک سیستمعامل کامل شد.
هر چند لینوکس کاملاً آزاد است، اما میتوان اجزای غیر آزاد را نیز بر روی آن اجرا کرد. به این ترتیب توزیعهای لینوکسی پدیدآمدهاند که کاملاً آزاد نیستند. البته بنیاد نرمافزارهای آزاد فهرستی از توزیعهای کاملاً آزاد لینوکس تهیه کردهاست.[۳]
سیستمعامل گنو
[ویرایش]هدف اصلی در پروژه گنو ایجاد مجموعهای از نرمافزارها شامل کرنل، ابزارهای مدیریتی، ابزارهای توسعهٔ نرمافزارها (همانند مجموعهٔ همگردانهای جیسیسی) و … است که به کاربران آزادی کامل را برای اجرا، مطالعه، ویرایش و به اشتراکگذاریِ نرمافزارها اعطا کند. در حقیقت، هدف اصلی پروژه تنها تأمین یک سیستمعامل پایدار و ایمن نیست، بلکه تأمین آزادی کاربران و دفاع از آن است.[۴]
نام و نشان گنو
[ویرایش]گنو یک مخفف بازگشتی است و از نخستین حرف کلمات GNU's Not Unix به معنای گنو یونیکس نیست گرفته شدهاست. ریچارد استالمن این نام را روشی خلّاقانه برای ادای دین به سیستمعامل یونیکس میداند، زیرا استفاده از نام یونیکس به دلیل علامت تجاری بودن در یک محصول دیگر بدون اجازه ممکن نیست. همچنین گنو نام گونهای گاو وحشی است که در آفریقا زندگی میکند.
نشان گنو، با طرحی از سر گاو وحشی، توسط Etienne Suvasa طراحی شدهاست و در وبسایت گنو یا مقالههای بنیاد نرمافزارهای آزاد به کار میرود.[۵]
کپی رایت، مجوز گنو، و نظارت
[ویرایش]پروژه گنو توصیه میکند که مشارکت کنندگان کپی رایت بسته های گنو را به بنیاد نرم افزار آزاد اختصاص دهند، هر چند بنیاد نرم افزار آزاد انتشار تغییرات کوچک در یک پروژه موجود را به حوزه عمومی قابل قبول میبیند. با این حال، نگهداری کنندگان بسته ممکن است کپی رایت را به بستههای گنو که حفظ میکنند حفظ کنند، هر چند از آنجا که تنها دارنده کپی رایت ممکن است مجوز مورد استفاده (مانند GNU GPL) را اجرا کند، دارنده کپی رایت در این مورد آن را به جای بنیاد نرم افزار آزاد اجرا میکند.
برای توسعه نرم افزارهای مورد نیاز، استالمن مجوزی به نام پروانه عمومی همگانی گنو (که برای اولین بار مجوز عمومی Emacs نامیده شد) نوشت، با این هدف که آزادی کاربران را برای به اشتراک گذاشتن و تغییر نرم افزار آزاد تضمین کند. استالمن این مجوز را پس از تجربه اش با جیمز گوسلینگ و برنامه ای به نام UniPress، بر سر جنجال پیرامون استفاده از کد نرم افزار در برنامه GNU Emacs نوشت.[۶] برای بسیاری از 80s، هر بسته گنو دارای مجوز خاص خود بود: مجوز عمومی عمومی Emacs، مجوز عمومی GCC، و غیره. در سال ۱۹۸۹ FSF مجوز واحدی را منتشر کرد که می توانستند برای تمام نرم افزارهای خود از آن استفاده کنند، و میتوانستند توسط پروژه های غیر گنو مورد استفاده قرار گیرند: مجوز عمومی عمومی گنو (GPL).
این مجوز هم اکنون توسط اکثر نرم افزارهای گنو و همچنین تعداد زیادی از برنامه های نرم افزار آزاد که بخشی از پروژه گنو نیستند مورد استفاده قرار می گیرد؛ این کار در حال حاضر تبدیل به یک حالت تاریخی شده است که معمولا در مجوز نرم افزار رایگان استفاده می شود (هر چند به تازگی توسط مجوز MIT به چالش کشیده).این به همه گیرندگان یک برنامه حق اجرا، کپی، تغییر و توزیع آن را می دهد، در حالی که آنها را از اعمال محدودیت های بیشتر بر روی هر نسخه ای که توزیع می کنند، ممنوع می کند. این ایده اغلب به عنوان copyleft شناخته می شود.
در سال ۱۹۹۱ مجوز عمومی عمومی کمتر گنو (LGPL) که در آن زمان با نام مجوز عمومی عمومی کتابخانه شناخته می شد، برای کتابخانه گنو سی نوشته شد تا اجازه دهد با نرم افزارهای اختصاصی مرتبط شود. 1991 نیز شاهد انتشار نسخه 2 از GNU GPL. مجوز اسناد آزاد گنو (FDL)، برای مستندات، در سال ۲۰ دنبال شد. GPL و LGPL در سال ۲۰۰۷ به نسخه ۳ تجدید نظر شدند و بندها را برای محافظت از کاربران در برابر محدودیت های سخت افزاری اضافه کردند که مانع از اجرای نرم افزارهای اصلاح شده کاربران بر روی دستگاه های خود می شود. [۷]
در کنار بسته های گنو، مجوزهای پروژه گنو توسط بسیاری از پروژه های نامربوط مانند هسته لینوکس که اغلب با نرم افزار گنو استفاده می شود، استفاده می شود. اقلیتی از نرم افزار مورد استفاده بیشتر توزیع های لینوکس مانند سیستم پنجره ایکس تحت مجوزهای مجاز نرم افزار آزاد مجوز می گیرند.
جستارهای وابسته
[ویرایش]- جنبش نرمافزار آزاد
- فهرست بستههای گنو
- تاریخچه نرمافزار آزاد و متنباز
- مقایسه سیستمعاملهای متنباز
منابع
[ویرایش]- ↑ بنیاد گنو. "پروانههای گنو" (به انگلیسی).
- ↑ «تاریخچه پروژه گنو». دریافتشده در ۱۵ می ۲۰۰۹.
- ↑ ریچارد استالمن. «لینوکس و پروژه گنو». دریافتشده در ۱۵ می ۲۰۰۹.
- ↑ «پروژه گنو». دریافتشده در ۱۵ می ۲۰۰۹.
- ↑ «A GNU Head». دریافتشده در ۱۵ می ۲۰۰۹.
- ↑ «انواع لایسنس گنو در نرم افزارهای متن باز – GPL و LGPL». tehrantrain.
- ↑ "Smith, Roderick W (2012)". books.google (به انگلیسی).