بحث نامگذاری گنو/لینوکس به اختلاف نظر اعضای جامعهٔ نرمافزار آزاد و متنباز برای نامیدن سیستمعامل رایانهای که معمولاً لینوکس نامیده میشود، گویند.
گنو/لینوکس کلمهای است که بنیاد نرمافزار آزاد، ریچارد استالمن بنیانگذار آن و حمایتکنندههای آن، برای سیستمعاملی که شامل نرمافزارهای گنو و هسته لینوکس است، ترویج داده میشود. بنیاد نرمافزار آزاد بر سر نام گنو/لینوکس بحث میکند به خاطر اینکه گنو یک پروژهٔ طولانی مدت برای ساخت یک سیستمعامل آزاد بودهاست، به طوری که آنها میگویند آخرین قسمت آن هسته بودهاست. طرفداران لینوکس براساس دلایلی از جمله اینکه نام لینوکس به طور گسترده در عموم و رسانهها استفاده میشود، با نام گنو/لینوکس مخالف هستند.
تاریخچه
در سال ۱۹۸۳ ریچارد استالمن، بنیانگذار بنیاد نرمافزار آزاد، طرح ساخت سیستمعامل گنو را ریخت. در سپتامبر آن سال، استالمن یک بیانیه را در روزنامهٔ Dr. Dobb منتشر کرد که در آن از پروژهٔ خود گفته بود و طرح و دیدگاه کلی خود را دربارهٔ نرمافزار آزاد بیان کرد. توسعهٔ نرمافزار از ژانویه سال ۱۹۸۴ آغاز شد. گنو قرار بود سیستمعاملی شبه-یونیکس باشد که تمام قسمتهای آن نرمافزار آزاد باشد. در سال ۱۹۹۱، قسمت میانی سیستمعامل گنو تقریباً کامل شدهبود، و قسمت بالایی آن را سیستم پنجره اکس کامل میکرد، اما قسمت پایینی آن (هسته، راهاندازهای deviceها، دیمنها و ابزارهای سیستمی) تقریباً وجود نداشت. هسته گنو، گنو هرد تازه شروع به توسعه کردهبود. هرد دارای طراحی ایدهآلی بود که پیادهسازی آن را سخت میکرد.
در سال ۱۹۹۱ اولین نسخهٔ هسته لینوکس به وسیلهٔ لینوس توروالدز منتشر شد. توسعهدهندگان اولیهٔ هستهٔ لینوکس کدهای گنو را سازگار کردند. این سازگاریها شامل کامپایلر گنو سی میشد تا بر روی لینوکس اجرا شود. وقتی که توسعهدهندگان گنو، لینوکس را یاد گرفتند، شروع به سازگار کردن قسمتهای دیگر گنو برای اجرا شدن بر روی هسته لینوکس کردند. این تلاش قسمت با
قیماندهٔ سیستمعامل کاملاً آزاد را پر کرد.
اندکی بعد تعداد زیادی پیشنهاد برای نامگذاری سیستمعاملی که از هسته لینوکس و اجزای گنو استفاده میکرد، شد. در سال ۱۹۹۲، توزیع Yggdrasil Linux/GNU/X نام «لینوکس/گنو/اکس» را برگزید. در بحثهای یوزنت و لیست پستی، شخصی نام «گنو/لینوکس» را در اوایل سال ۱۹۹۲ برگزید و نام «گنو+لینوکس» توسط شخص دیگری در اوایل سال ۱۹۹۳ برگزیدهشد.» پروژهٔ دبیان نام «گنو/لینوکس» را در اوایل سال ۱۹۹۴ برگزید. بعدها بنیانگذار دبیان یان مورداک گفت که این تغییر پاسخ به درخواست ریچارد استالمن بود (کسی که ابتدا نام «لیگناکس» را انتخاب کرد، اما نام «گنو/لینوکس» را به دلیل ایجاد مخالفت جامعه پیشنهاد داد). تابلوی اعلانات گنو در ژوئن سال ۱۹۹۴ «لینوکس» را به عنوان «سیستم یونیکس آزاد برای معماریهای ۸۰۳۸۶» توصیف کرد (با «تعداد زیادی کتابخانه و ابزار» از گنو)، اما در ژانویه ۱۹۹۵ تابلوی اعلانات گنو آن را به «گنو/لینوکس» تغییر داد. تلاشهای استالمن و بنیاد نرمافزار آزاد برای وارد کردن نام گنو در حدود سال ۱۹۹۴ آغاز شد، اما گزارش شدهاست که آن ارتباطها تا سال ۱۹۹۶ اکثراً خصوصی بودهاست. در سال ۱۹۹۶، استالمن ایمکس نسخهٔ ۱۹٫۳۱ را منتشر کرد که در سیستم اوتوکانف آن اسم «لینوکس» به «لیگناکس» تغییر پیدا کردهبود (بعد از مدتی بسیار کوتاه در نسخهٔ ۱۹٫۳۲ آن نام به «لینوکس-گنو» تغییر پیدا کرد)، و مقالهٔ «لینوکس و سیستم گنو» را پیوست آن کرد که به افراد پیشنهاد میکرد از نام «سیستم مبتنی بر لینوکس» استفاده کنند (یا «سیستم گنو/لینوکس» یا «لیگناکس» برای کوتاهی). او بعد از مدتی به طور منحصر از نام «گنو/لینوکس» استفاده کرد و مقالهای در سال ۱۹۹۷ با نام «لینوکس و پروژهٔ گنو» نوشت.
ترکیب سیستمهای مبتنی بر لینوکس
سیستمهای جدید ترکیبی از توسعهدهندگان بسیار زیادی است که شامل توسعهدهندگان هسته لینوکس، پروژهٔ گنو و شرکتهای دیگر مانند آنهایی که پشت سیستم پنجره اکس هستند، میباشد. توزیعهای خانگی و سرور از اجزای گنو مانند کتابخانه سی گنو (glibc)، ابزارهای هسته گنو (Coreutils) و bash استفاده میکنند.
در بررسیای که بر روی کدهای توزیع لینوکس ردهت ۷٫۱ انجام شد، مشخص شد که اندازهٔ بستهها از پروژهٔ گنو بسیار بیشتر از هسته لینوکس است. گرچه دقیقاً بگوییم که خود «سیستمعامل» را چه چیزی تشکیل دادهاست، هنوز در مورد آن بحث وجود دارد.
از طرفی دیگر برخی از سامانههای توکار، مانند وسایل همراه و تلفنهای هوشمند (مانند سیستمعامل اندروید)، مسیریابها و وسایل صدا روی پروتکل اینترنت به گونهای باید طراحی و مهندسی شوند که کارایی بالا و فضای کم داشته باشند. این وسایل از هسته لینوکس به همراه تعداد خیلی کم از اجزای گنو یا هیچی استفاده میکنند. به عنوان نمونه یوسی لینوکس از uClibc به جای glibc و بیزیباکس به جای Coreutils استفاده میکند. سیستمعامل مبتنی بر لینوکس اندروید از هیچ کتابخانه یا اجزای گنو استفاده نمیکند، گوگل glibc را جایگزین کتابخانهٔ Bionic C مبتنی بر بیاسدی کردهاست. حتی بنیاد نرمافزار آزاد نام «گنو/لینوکس» را مناسب اینگونه سیستمها نمیداند.
نظرهای حمایتکنندگان نام گنو/لینوکس
بنیاد نرمافزار آزاد نخست نام «گنو/لینوکس» را اینگونه توجیه میکند که پروژهٔ گنو به طور خاص در حال گسترش یک سیستم کامل است و هستهٔ لینوکس آخرین تکهٔ باقیمانده از این سیستمعامل را کامل میکند؛ دومین دلیل، استفادهٔ تعداد زیادی از اجزا و کد منبع گنو در اینگونه سیستمها است:
اگر شما نامی را برای اینگونه سیستمها براساس اینکه چه کسی نرمافزارها را نوشتهاست، برگزینید، مناسبترین نام میتواند «گنو» باشد. اما ما فکر نمیکنیم که این جواب درستی برای این سؤال باشد. پروژهٔ گنو، پروژهای برای توسعهٔ بستههای نرمافزاری خاصی نبوده و نیست. […] در این سیستم افراد بسیاری کمکهای زیادی به نرمافزار آزاد کردهاند و همگی سزاوار اعتبارند. اما دلیل اینکه سیستم گنو یک سیستم مجتمع است و فقط یک مجموعه از برنامههای مفید نیست این است که پروژهٔ گنو میخواهد آن را «واحد» کند. ما فهرستی از برنامههایی که نیاز داریم تا یک سیستمِ کاملِ آزاد ایجاد کنیم تهیه کردیم و بطور اصولی همهٔ چیزهایی که در آن لیست بود را پیدا کردیم، نوشتیم و یا افرادی را پیدا کردیم تا این کار را انجام دهند.
به علاوه، بنیاد نرمافزار آزاد استدلال میکند که «گنو/لینوکس نقش ایدهآلگراییمان را در ساخت جامعه بازی میکند، و به عموم کمک میکند که اهمیت کارایی این ایدهآلها را تشخیص دهند، برخلاف توسعهدهندگان هسته لینوکس که تمرکز بر «مزیتهای فنی» به جای «آزادی» را دارند. در خصوص هسته لینوکس که از مثالهایی مشهور و تکرارشونده از تمرکز بر روی مزیتهای فنی به جای آزادی است، میتوان به میانافزارهای غیرآزاد و فایلهای دیگری که با اجازهنامههای غیرآزاد در هستهٔ لینوکس برای مدت زیادی هستند، اشاره کرد.
درک عادی یک «سیستمعامل» شامل هسته − یک زیرسیستم خاص که واسطی مستقیم برای تعامل با سختافزار است − و نرمافزارهای سطح کاربر است که به وسیلهٔ کاربر و نرمافزارهای کاربردی به کار گرفته میشوند تا رایانه را کنترل کنند. علاوه بر این، هم نام «گنو» و هم نام «لینوکس» با نام «یونیکس» مرتبط هستند و یونیکس همیشه به صورت مفهومی شامل کتابخانههای سی، ابزار سطح کاربر و همچنین هسته بودهاست. در یادداشتهای انتشار سال ۱۹۹۱ نسخههای ۰٫۰۱ تا ۰٫۱۱ هستهٔ لینوکس (که تا نسخهٔ ۰٫۱۲ براساس اجازهنامهٔ جیپیال منتشر نشدهبود) تروالدز نوشت: «متأسفانه، یک هسته به خودی خود شما را به هیچجایی نمیبرد […] اکثر ابزارهایی که در لینوکس استفاده شدهاست نرمافزارهای گنو هستند.» همچنین تروالدز در جریان بحث تننبام-تروالدز سال ۱۹۹۲ نوشت: «از آنجایی که نوشته شدهاست (نه فقط به وسیلهٔ من)، هستهٔ لینوکس یک قسمت خیلی کوچک از یک سیستم کامل است.»
استفاده از کلمهٔ «لینوکس» برای اشاره به هسته، سیستمعامل و تمام توزیعهای لینوکس گاهی تمایز بین این سه را مشکل میکند. خیلی از بستههای گنو قسمت اصلی اکثر توزیعهای گنو/لینوکس هستند. منابع رسانهای به تکرار جملاتی اشتباه نظیر نوشتهشدن کل سیستمعامل گنو/لینوکس (به جای هستهٔ لینوکس) از پایه توسط تروالدز در سال ۱۹۹۱ رامیگویند؛ که به موجب این تروالدز را مسئول بخشهای دیگر نظیر واسطهای گرافیکی یا ابزار گنو میکند؛ یا با انتشار نسخههای جدید هسته دید کاربران را به مانند سیستمعاملهای انحصاری نظیر مایکروسافت ویندوز میکند، جایی که در کنار هسته خیلی چیزهای دیگر تغییر میکند.
به خاطر این سردرگمی، تهدیدات قانونی و کمپینهای روابط عمومی که به طور مشخص در برابر هسته ایجاد شد، باعث تفسیر اشتباه توسط بسیاری از مفسران، کسانی که کل سیستمعامل را نشانه گرفته بودند، شد. از نمونههای این کمپینها میتوان به کمپینهایی که توسط SCO Group یا مؤسسه Alexis de Tocqueville برگزار شد، اشاره کرد. این سازمانها حتی برای ایجاد عمدی این سردرگمی متهم شدند.
در پاسخ به نظراتی که تلاشهای استالمن را ناشی از خودپرستی یا ناراحتی شخصی دانستهاند، استالمن پاسخ دادهاست که علاقهٔ وی برای اعتبار دادن به خودش نیست، بلکه برای اعتبار دادن به پروژهٔ گنو است: «بعضی افراد فکر میکنند که اینکارها به خاطر این است که من میخواهم نفس خودم را ارضا کنم. مطمئناً من از شما نخواستهام که آن را «استالمنیکس» بنامید. استالمن قبول کردهاست که این موضوع میتواند باعث رنجش دیگران شود (تاکید بر نام)، اگر چه او اعتقاد دارد میتوان آن را با این مسئله توجیه کرد اگر آن را اینگونه ببینند «یک پروژهٔ ایدهآلیستی پشت یک پروژهٔ دیگر پنهان و بیتأثیر شدهاست، چون معمولاً افراد به اندازهٔ کافی به خاطر آنچه انجام دادهاست، به آن اعتبار نمیدهند» و در انتها میگوید: «اگر شما یک ایدهآلیست مانند من باشید، این موضوع میتواند یک دهه کامل تلاش شما را بر باد دهد»
در پاسخ به استدلال رایج دیگر (زیر را ببینید)، بنیاد نرمافزار آزاد تایید میکند که افراد زیادی به این سیستم کمک کردهاند و یک اسم کوتاه نمیتواند به همهٔ آنها اعتبار دهد، اما این نمیتواند نامیدن «لینوکس» به کل این سیستم را توجیه کند:
از آنجایی که یک نام طولانی مثل GNU/X11/Apache/Linux/TeX/Perl/Python/FreeCiv چرند به نظر میرسد، در یک نقطهای به مرزی میرسیم که باید اسمهای زیاد همکاریهای دست دوم را حذف کنیم. این مرز جای دقیق و مشخصی ندارد، پس هرجا آن را بگذارید ما علیه آن بحثی نخواهیم کرد … ولی یک اسمی که نمیتواند از اهمیت داشتن عدالت و اعتبار دادن ناشی شدهباشد، بدون هیچ مرز ممکنی، «لینوکس» است. این نمیتواند عادلانه باشد که تمام اعتبار به همکاری دست دوم (لینوکس) داده شود و تمام همکاریهای اصلی دیگر (گنو) حذف شوند.
نظرهای حمایتکنندگان نام لینوکس
لینوکس نامی به مراتب رایج تر است، در حالی که اشاره به گنو/لینوکس بهندرت در منابع غالب به چشم میخورد. لینوکس برتری تاریخی بیشتری دارد زیرا این نامی است که لینوس تروالدز از سال ۱۹۹۱ برای سیستم ترکیبی استفاده میکند، حال آنکه استالمن در اواسط دهه ۹۰ از مردم خواست که نام این سیستمعامل را «گنو/لینوکس» بنامند، یعنی زمانی بعد از آنکه نام لینوکس معروف و جاافتاده شدهبود. همچنین گفتن لینوکس کوتاهتر و راحتتر از «گنو/لینوکس» است.
اریک ریموند مینویسد (در مدخل «لینوکس» فایل جارگون):
برخی از افراد معترض هستند که نام لینوکس تنها باید برای اشاره به هسته استفاده شود، نه کل سیستمعامل. این ادعا پوششی است برای آنچه زیر آن پنهان است، یعنی منازعه بر سر قلمرو؛ کسانی که بر عبارت گنو/لینوکس پافشاری میکنند، میخواهند بنیاد نرمافزار آزاد، بیشتر اعتبار لینوکس را بدست آورد زیرا [استالمن] و دوستانش بودند که بسیاری از ابزارهای سطح کاربری آن را نوشتند. نه این نظریه و نه عبارت گنو/لینوکس چیزی جز حداقل مقبولیت را بدست نیاوردند.
لینوس توروالدز در مستند انقلاب اواس، وقتی از وی پرسیده شد آیا نام گنو/لینوکس توجیهپذیر است، گفت:
خب، فکر میکنم توجیهپذیر است، اما زمانی قابل توجیه است که شما در واقع توزیعی گنویی از لینوکس درست کنید … همانگونه که فکر میکنم «ردهت لینوکس» بدون اشکال است، یا «سوزه لینوکس» یا «دبیان لینوکس»، چون اگر شما واقعاً توزیع مخصوص به خودتان را بسازید، آن را نیز باید نامگذاری کنید. اما من فکر میکنم در حالت کلی، گفتن «گنو لینوکس» به جای لینوکس مسخره است.
دیدگاه اخیر توروالدز در بحث نامگذاری اینگونه است:
اومم، این بحث مدت زمانی طولانی و به اندازه کافی ادامه داشته است، از همگی متشکرم. این که مردم لینوکس را چه بنامند واقعاً اهمیتی ندارد، البته تا زمانی که اعتبار به جایی که باید، داده شود (در هر دو طرف). به شخصه، شدیداً به گفتن «لینوکس» ادامه میدهم.
در همین راستا، مناقشه بر سر نام سیستمعامل گاهی به عنوان مزاحمتی کم اهمیت توصیف میشود؛ به عنوان مثال Jhon C. Dvorak مینویسد «جامعه لینوکس مقدار زیادی از انرژی خود را صرف مسائلی چون نامگذاری میکند (همانند نام گنو/لینوکس در مقابل لینوکس)».
لینوکس ژورنال حدس میزند دفاع استالمن از نام ترکیبی ناشی از این ناکامی است که «لینوس افتخار آنچه که استالمن قصد انجامش را داشت از آن خود کرده است.»
دیگران اظهار کردهاند صرفنظر از شایستگیها، اصرار استالمن بر چیزی که گاهی دلیلی از پیش باخته به نظر میرسد تنها باعث میشود او و گنو را بد جلوه دهد. به عنوان مثال Larry McVoy (مؤلف نرمافزار انحصاری BitKeeper، که زمانی برای مدیریت توسعه هسته لینوکس بهکار میرفت، تا زمانی که اجازهنامه رایگان در یک مباحثهٔ مهندسی معکوس باطل شد) معتقد است که «مطالبهٔ اعتبار تنها موجب آن است که شخص احمق و طمعکار به نظر برسد.»
بسیاری از کاربران و فروشندگانی که نام «لینوکس» را ترجیح میدهند به وجود ابزارهایی غیر گنو و غیر هسته مانند وب سرور آپاچی، سامانه پنجره اکس یا محیر میزکار کیدیئی در سیستمعاملهای مصرفکنندهٔ نهایی اشاره میکنند. همانطور که جیم گتیز، مبتکر اکس گفتهاست:
تعداد نفرات زیادی در این اتوبوس هستند؛ من هیچ سر و صدایی در حمایت از اینکه گنو ضروریتر از بسیاری دیگر از قطعات است، نمیشنوم. نمیتوانید چرخی را دور بیندازید و در آخر به یک خودرو، موتور یا صندلیهای کارا دست یابید. من به شما توصیه میکنم خوشحال باشید که یک اتوبوس داریم.
تلفظ
اگرچه «گنو/لینوکس» (تلفظ میشود /ɡəˈnu: slæʃ ˈlɪnəks/) اغلب بدون اسلش تلفظ میشود، اما استالمن میگوید به طور صریح کلمهٔ «اِسلَش» را بگویید تا از اشتباه اینکه هسته لینوکس جزئی از بستههای گنو است، جلوگیری شود.
منابع
- وبگاه پروژه گنو
- . comp.unix.misc.
- . comp.os.linux.
- “[۱]“. comp.os.linux.misc.
- Sam Williams, Free as in Freedom: Richard Stallman’s Crusade for Free Software, chapter 10 (O’Reilly, 2002).
- «GNU’s Bulletin, vol. 1 no. 17».
- «GNU’s Bulletin, vol. 1 no. 18».
- Richard Stallman, “Re: Why is Nvidia given GPL’d code to use in closed source drivers?,” linux-kernel mailing list (12 January 2003).
- . comp.os.linux.misc. “RMS’s idea (which I have heard first-hand) is that Linux systems should be considered GNU systems with Linux as the kernel.”
- GNU project website
- David A. Wheeler. «More Than a Gigabuck: Estimating GNU/Linux’s Size». ۲۹ ژوئیه ۲۰۰۲.
- GNU/Linux FAQ
- [۲]
- Dream(sheep++): A developer’s introduction to Google Android
- Richard Stallman, “Linux and the GNU Project“
- GNU/Linux FAQ, the Free Software Foundation’s responses to common objections to the “GNU/Linux” name.
- Richard Stallman, Linux, GNU, and freedom (2002): “Calling this variant of the GNU system “Linux” plays into the hands of people who choose their software based only on technical advantage, not caring whether it respects their freedom.”
- Linus Torvalds, linux-kernel mailing list: “Besides, as the whole notion of ‘free software’ has very little to do with the kernel, please just link to some open source site” (28 April 2002).
- Linus Torvalds, “Release Notes for Linux v0.12” (January 1992).
- Linus Torvalds, “Notes for linux release 0.01” (September 1991).
- Linus Torvalds, comp.os.minix post (31 January 1992).
- “Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland.” (Linux.org, 15 October 2008)
- Mike Angelo. «SCO-Caldera v IBM». ۲۸ آوریل ۲۰۰۳.
- Eben Moglen. «FSF Statement on SCO v IBM»]. ۲۷ ژوئن ۲۰۰۳.
- Lisa Stapleton. «Stallman: Accusatory Report Deliberately Confuses». LinuxInsider، ۲۷ می ۲۰۰۴.
- Richard Stallman, “Free Software: Freedom and Cooperation“, transcript of speech at New York University in New York, New York (29 May 2001).
- Richard Stallman, “Re: GNU/Linux“, linux-kernel mailing list (3 April 1999).
- « The “GNU/Linux” and “Linux” Controversy». می ۲۰۰۶. بازبینیشده در ۲۶ اکتبر ۲۰۰۸.
- Moore, J.T.S. (Produced, Written, and Directed) (2001). Revolution OS (DVD).
- Linus Torvalds, “Lignux, what’s the matter with you people?“, comp.os.linux.misc newsgroup (3 June 1996).
- John C. Dvorak, “Is Linux Your next OS?“, PC Magazine (5 March 2002).
- «From the Publisher: On the Politics of Freedom». Linux Journal #30 (October 1996).
- Larry McVoy, “Re: GNU/Linux“, linux-kernel mailing list (3 April 1999).
- Jim Gettys, Re: GNU/Linux, linux-kernel mailing list (5 April 1999).
- Jeremy Andrews, Interview: Richard Stallman, KernelTrap.org (2 January. 2005).
- مشارکتکنندگان ویکیپدیا، «GNU/Linux naming controversy»، ویکیپدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۷ اکتبر ۲۰۱۰).
واژهنامه
- daemon
- ported
- Linux/GNU/X
- Usenet
- GNU/Linux
- GNU+Linux
- Lignux
- Stallmanix
- slash
پیوند به بیرون
- «چرا گنو/لینوکس؟» نوشته ریچارد استالمن
- کاربران گنو که حتی نام گنو را نشنیدهاند، نوشتهٔ ریچارد استالمن
- سؤال و جوابها در رابطه با گنو/لینوکس به وسیلهٔ ریچارد استالمن
- Re: Proposal: Linrmsux (complete thread) (Craig Burley, یوزنت gnu.misc.discuss, 30 May 1996)
- «گنو/لینوکس» در مقابل «لینوکس» (اسلشدات, 9 April 1999). “FSF Issues GNU/Linux Name FAQ” (Slashdot, 25 September ۲۰۰۲).
- رایانامهای از ریچارد استالمن که گفتههای Alan Cox را رد میکند
- David A. Wheeler on why he mostly says “GNU/Linux”
- A transcript of an explanation of Linux and “GNU/”, excerpted from a speech by Richard Stallman
- Stallman explaining the relationship of GNU and Linux, Zagreb, 2006
- What’s in a name? (Richard Stallman, ZDNet, 12 October 2000)
- The Power of GNU (PCLinuxOnline, 26 October 2002)
- Why I Don’t Use “Linux” (Timothy R. Butler, Open for Business, 25 August 2003)
- Who wrote Linux? (Josh Mehlman, ZDNet Australia, 7 July 2004)