انقلاب در سیستم عامل، داستان ظهور گنو/لینوکس
منبع این نوشته:
http://www.zoomit.ir/howto/computer/8926-linux-history
گنو چیست؟ تعریف نرمافزار آزاد چیست؟ گنو چه تفاوتی با لینوکس دارد؟ گنو/لینوکس چه فرقی با لینوکس دارد؟ اصلا چطور لینوکس شکل گرفت؟ مجانی با آزاد چه فرقی میکند؟ در این مقاله سعی میکنیم به زبانی ساده، مروری بر شکل گیری گنو/لینوکس و انقلابی که در دنیای سیستمعاملها به راه انداخت، داشته باشیم. با زومیت همراه باشید تا در کنار پاسخ به پرسشهای مطرح شده با فلسفهی ارزشمند گنو که توسط استالمن ارائه شد نیز آشنا شویم.
گنو/لینوکس سیستم عاملی است که توسط هزاران برنامه نویس از اقصی نقاط دنیا توسعه داده میشود، گنو/لینوکس اغلب به دلیل هستهی خود یعنی لینوکس به شهرت رسیده است. این سیستمعامل از سالها قبل به عنوان تهدیدی برای ویندوز مایکروسافت مطرح شد و با توجه به امکانات خاصی که در اختیار کاربران قرار میداد، توانست در برخی از زمینهها سیستم عامل ویندوز مایکروسافت را بطور کامل از گردانه رقابت خارج کند. گنو/لینوکس به دلیل سرعت، امنیت، رایگان بودن و از همه مهمتر متن-باز و آزاد بودن به سرعت مورد توجه کاربران مختلف قرار گرفت. برای اینکه بدانید گنو/لینوکس چیست، ابتدا باید بدانید که سیستم عامل چیست، سیستم عامل در واقع نرم افزاری است که ارتباط بین سخت افزار و کاربر را برقرار میکند. در واقع بسیاری از کاربران حتی ارتباط زیادی با خود سیستم عاملها ندارند و بیشتر استفاده آنها با نرم افزارهایی است که بر روی سیستم عامل اجرا میشوند. پس سیستم عامل بستری را فراهم میکند تا برنامهها به راحتی اجرا شوند و سرویسها مورد نظر خود را به کاربران ارائه کنند. لینوکس سیستمعاملی است که قادر است بر روی پردازندههای مختلف مبتنی بر معماری ARM یا x86 اجرا شود. این بدین معناست که هستهی لینوکس بعنوان زیرساخت سیستمعامل (اندروید، گنو/لینوکس و...) میتواند نه تنها روی کامپیوترهای مختلف اجرا شود بلکه امکان نصب و استفاده از آن بر روی انواع مختلف ابزارهای الکترونیکی از ساعت هوشمند گرفته تا تلفن، تبلت، دستگاههای غول پیکر صنعتی و... وجود دارد. در حقیقت «لینوکس» کرنل یا هستهای است که سیستمعاملهای مختلفی نظیر گنو/لینوکس و اندروید را نیرو میبخشد. در هر حال برای سادگی بیشتر، معمولا در بسیاری از مجامع از گنو/لینوکس نیز با همان نام «لینوکس» یاد میشود.
یونیکس توسط ۲ مهندس شرکت AT&T با نامهای کن تامپسون و دنیس ریتچی تولید شد و در سال ۱۹۷۰ منتشر گردید. یونیکس در آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به طور کلی به زبان سی بازنوشته شد. کمی بعد آنها زبان برنامه نویسی C را نیز به آن اضافه کردند و به دلیل انطباقپذیری بسیار بالای آن به سرعت بین مراکز آموزشی و تجارتهای مختلف توزیع شد و مورد استفاده قرار گرفت. AT&T کمی بعد گواهی خاصی را برای استفاده از سیستم عامل یونیکس تعریف کرد که شرکتها برای استفاده از آن مجبور به رعایت آن و پرداخت هزینه میشدند؛ از طرفی کد سیستم عامل یونیکس نیز در اختیار دیگران قرار نمیگرفت. ماجرا از همین جا شروع شد و شخصی به نام ریچارد استالمن، دانشجوی دکترای آن زمان در دانشگاه MIT با تفکر و فلسفه خاص خود از این اقدام AT&T خوشش نیامد و گروهی به نام GNU (بخوانید «گنو») را با هدف ساخت سیستم عامل آزاد شبیه به یونیکس تشکیل داد.
ریچارد استالمن در MIT
استالمن در سال ۱۹۷۱ وارد آزمایشگاه هوش مصنوعی MIT میشود. او این آزمایشگاه را اجتماع شکوفای هکرها مینامد، افرادی که عاشق برنامه نویسی بودند و علاقه شدیدی به کشف روشهای جدید برای کار با کامپیوتر داشتند. آنها یک سیستم عامل کامل به نام گنو را درست کرده بودند، که تمام آن در همان آزمایشگاه نوشته بود. استالمن عضو همان تیم شد تا به ارتقای سیستم عامل کمک نموده و قابلیتهای تازهای را به آن اضافه کند. آزمایشگاه MIT و آن تیم دقیقا همان جایی بود که استالمن عاشق کار کردن در آن بود. آنها عنوان سیستم عامل خود را Incompatible Timesharing System یا سیستم اشتراک زمانی ناسازگار نامیدند.
اولین مشکلی که در آزمایشگاه MIT برای آنها به وجود آمد فشارهای خارجی برای استفاده از کلمه رمز عبور در دانشگاه بود. در آن زمان روی هیچ کدام از کامپیوترهای گروه رمز عبور وجود نداشت. استالمن میگوید که همگی آنها هکرهای برجستهای بودند که اعتقاد داشتند، رمز عبور (منظور حساب کاربری) راهی است که مدیران برای کنترل کاربران استفاده میکنند. به همین دلیل آنها دوست نداشتند تا وارد این بازی شوند و توسط ادمینها تحت کنترل قرار گیرند. فلسفه آنها این بود که اگر کسی پشت هر کامپیوتری بنشیند باید بتواند هر کاری که دلش میخواهد را انجام بدهد و کسی که امروز پشت کامپیوتر نشسته نباید بتواند آمار کارهایی که شخص قبلی دیروز بر روی کامپیوتر انجام داده را کنترل کند.
وقتی مدیران شبکه بر روی یکی از کامپیوترهای MIT رمز عبور گذاشتند، استالمن و دوستانش از این موضوع اصلا خوششان نیامد و تصمیم گرفتند تا همه چیز را هک کنند. اینجا بود که آنها توانستند رمزگذاری پایگاه داده محل ذخیره رمزهای عبور را هک کنند. سپس آنها به تمام افرادی که در کامپیوترهای خود رمز عبور وارد میکردند چنین پیغامی را ارسال کردند: «میبینم که شما فلان رمز عبور را انتخاب کردهاید! نظرتون چیه اگر به جای وارد کردن رمز عبور فقط Enter را فشار دهید؟ این کار هم سادهتره و هم آسانتر!» در واقع استالمن و دوستانش تنها میخواستند تلویحا به این موضوع اشاره کنند که امنیت سیستمی که ادمینهای MIT پیاده کردند در حد شوخی است. استالمن با این روش توانست یک پنجم کاربران آزمایشگاه را به گروه خود ملحق کند و همه آنها به جای رمز عبور فقط از کلید Enter استفاده میکردند.
در اواخر دهه ۷۰و اوایل دهه ۸۰ میلادی با افزایش تعداد کاربران کامپیوتر و استفاده آن در مکانهای مختلف، تولیدکنندگان نرم افزار نیز تصمیم گرفتند تا نرم افزارهای خود را بصورت بسته ارائه کنند و اجازه مشاهده کد محصولات خود را به دیگران ندهند. دیگر نمیشد بر روی نرم افزار تغییرات دلخواه را اعمال کرد. مایکروسافت در این زمینه از همه شرکتها هم بزرگتر بود و هم بیشتر دست به این کار میزد.
پروژه در ژانویه ۱۹۸۴ کلید میخورد، درست همان زمانی استالمن از شغل خود در دانشگاه MIT استعفا میدهد و مقطع دکترا را رها میکند. او در همین زمان پروژه GNU (بخوانید گنو) را تعریف میکند. استالمن حتی نام گنو را نیز نوعی هک یا نام برگشتی میداند. GNU مخفف GNU's Not Unix است به معنی: گنو یونیکس نیست! در واقع حرف G در این نام گذاری، خود GNU است که به شکل نامتعارفی استفاده شده است. هدف استالمن آن بود که سیستم عاملی را درست کند که شبیه به یونیکس باشد، اما خود یونیکس نباشد! برخی بر این باورند که GNU یا بعدها گنو/لینوکس در واقع برپایه یونیکس ساخته شده و هسته آن یونیکس است. اما این موضوع به هیچ وجه درست نیست و تیم GNU از صفر یک سیستم عامل را نوشتهاند. در واقع آنها اصلا به کدهای یونیکس دسترسی نداشتهاند. آنها بدنبال ساخت یک سیستم عامل شبیه به یونیکس ولی کاملا آزاد بودهاند. در آن زمان یونیکس یک محصول خصوصی بود و اجازه استفاده از آن به صورت اشتراکی وجود نداشت، یعنی اگر آن را میخریدید اجازه اشتراک گذاشتن سیستم عامل با دیگران را نداشتید.
درست زمانی که استالمن در حال ساخت سیستم عامل گنو بود، دانشمندان دانشگاه کالیفرنیا در برکلی در حال ساخت یک سیستم عامل آزاد دیگر با نام Unix Berkely یا BSD بودند. این سیستم عامل بر خلاف گنو بر پایه هستهی یونیکس شرکت AT&T در حال توسعه بود. اما کمی بعد AT&T از دانشگاه برکلی شکایت کرد و آنها برای ادامه کار BSD به مشکل بر خوردند. همین جا بود که گروهی از تیم توسعه دهنده BSD نسبت به ساخت سیستم عامل جدید و مستقل از یونیکس با نام Free BSD اقدام کردند که البته شبیه به یونیکس بود و حتی قادر به اجرای اپلیکیشنهای یونیکس نیز بود. جالب اینجاست که دانشگاه برکلی در این زمان نمیدانست که گروه گنو نیز در حال توسعه و ساخت سیستم عامل مشابهی است. FreeBSD بصورت کاملا آزاد است و هر کسی میتواند از آن در نرم افزار خود استفاده کند. این سیستم توسط اپل در سیستم عامل OS X و iOS و بسیاری از کمپانیهای دیگر مانند سیسکو، VMWare و غیره مورد استفاده قرار گرفته است، اما چرا اسم BSD کمتر به گوش میخورد و در عوض لینوکس را تقریبا همه میشناسند یا حداقل نام آن را شنیدهاند؟ این در حالی است که سیستمعاملهای اپل و شرکتهای نامبرده شده که بر پایهی BSD ساختهاند بسیار معروف و مشهور هستند. پاسخ در فلسفهی عمیق استالمن نهفته است. (لیست کامل توزیعهای FreeBSD)
یونیکس علاوه بر هسته اصلی، شامل چند برنامه مجزا بود که با یکدیگر به خوبی ارتباط داشتند. به این ترتیب تیم گنو نیز به دو دسته تقسیم شد: یک دسته بر روی هسته اصلی سیستم عامل کار کردند و گروه دیگر نیز تک تک برنامههای موجود در یونیکس را برای این سیستمعامل طراحی و از نو تولید نمودند. این کار تا سال ۱۹۹۱ طول کشید و در آن زمان تقریبا تمام برنامههای موجود برای یونیکس در گنو نیز ساخته شدند.
برای اینکه یک سیستم عامل به خوبی کار کند، ما نیاز به یک هسته (Kernel) اصلی داریم که ارتباط بین سخت افزار و نرم افزارها را برقرار میکند، سپس یک کامپایلر زبان C نیز برای اجرای کدها، نیاز است تا بستری فراهم شود که دیگران نیز نرم افزارهای جدیدی برای سیستم عامل تولید کنند و در نهایت به یک مجموعه از نرم افزارهای حیاتی مانند دیباگر، ویراشگر متن، کلاینت ایمیل و غیره نیاز است تا نیازهای کاربران را پاسخ گو باشد. تمام این برنامهها توسط گروه گنو به بهترین شکل ممکن طراحی و تولید شدند.
از آنجایی که تمام نرم افزارهای نوشته شده در پروژه گنو بصورت آزاد و متن-باز (متنباز بودن از شرایط آزاد بودن است اما برعکس این مدعا صادق نیست و نرمافزارهای متن باز میتوانند آزاد نباشند) ارائه میشدند، حتی افرادی که از سیستم عامل گنو استفاده نمیکردند باز هم نرمافزارهای گنو را بر روی دستگاه خود نصب میکردند؛ چون این نرمافزارها نه تنها بسیار خوب طراحی و نوشته شده بودند بلکه کاملا آزاد بودند و هر کسی میتوانست هر نوع تغییری را که بخواهد بر روی آنها اعمال کند.
ولی بخشی از گروه گنو که بر روی هسته سیستم عامل کار میکردند روش پیچیدهای را (میکروکرنل) برای تولید سیستم عامل در نظر گرفتند که در نهایت پروژه آنها انقدر خوب پیشرفت نکرد و نتوانست مورد قبول توسعه دهندگان قرار گیرد. این روش توسعه که تصور میشد آیندهی سیستمعاملها باشد چنان توسعهی دشواری داشت که هنوز هم به نتیجهی نهایی نرسیده است.
در همین حول و حوش شخص دیگری با نام لینوس توروالدس از هلسینکی، پایتخت فلاند، بصورت مستقل و از همه مهمتر به تنهایی در حال توسعه یک هسته سیستم عامل بود که بعدها لینوکس نامیده شد. جالب است بدانید که او کد سیستم عامل را با کامپایلر C گروه گنو و در سیستم عامل MINIX توسعه داده بود. او هسته سیستم عامل خود را ترکیبی از نام خود بعلاوه x از یونیکس انتخاب کرد و LINUX نامید. او در کتاب خود با نام Just for Fun نوشته است که ناگهان متوجه شدم که هسته یک سیستم عامل را نوشتهام:
درود به هر کس که آن بیرون از مینیکس استفاده میکند. من هماکنون روی سیستمعاملی (رایگان) برای رایانههای (AT ۳۸۶(۴۸۶ کار میکنم (فقط برای سرگرمی؛ مانند پروژهٔ گنو بزرگ و حرفهای نیست). از ماه آوریل کار را آغاز کردهام و هماکنون این سیستمعامل آمادهاست و کار میکند. دوست دارم از دیدگاه دیگران در مورد سیستمعاملم با خبر شوم. چه آنان که مینیکس را دوست دارند و چه آنان که دوست ندارند. چرا که سیستمعامل من تا حدی شبیه به مینیکس است.
در حال حاضر (۱٫۰۸)bash و(۱٫۴۰) gcc را بر روی آن دارم و چیزهای دیگری که به نظر میرسد همه درست کار میکنند. این بدان معناست که طی چند ماه آینده چیز بهدردبخوری فراهم خواهم کرد و دوست دارم بدانم مردم بیشتر چه امکاناتی لازم دارند. به هر پیشنهاد و نظری خوشآمد میگویم اما قول نمیدهم که آن را انجام دهم!
لینوس توروالدس
لینوس توروالدس ابتدا سیستم عامل خود را براساس گواهی اختصاصی خود عرضه کرد که طی آن امکان استفاده از لینوکس در هیچ فعالیت تجاری داده نمیشد. اما توروالدس میدانست که سیستم عاملِ خالی، به درد کمتر کسی میخورد و از این رو بستههای نرم افزاری گروه گنو که دارای گواهی GPL بودند را به آن اضافه کرد و در قالب یک سیستم عامل عرضه نمود. او در سال ۱۹۹۲ تصمیم گرفت که خود هسته سیستم عامل را نیز براساس گواهی GPL عرضه کند. نامهای مختلفی برای محصول نهایی ترکیبی گنو + لینوکس در نظر گرفته شده است که در ویکیپدیا میتوانید شرح آن را بخوانید، اما در نهایت نام انتخابی برای این مجموعهی ارزشمند «گنو/لینوکس» بود.
توروالدس همواره به عنوان یکی از نخبههای دنیای کامپیوتر شناخته میشود، چرا که او به تنهایی هستهی سیستم عاملی را نوشته و پشتیبانی میکند که کمتر گروه بزرگی از برنامه نویسان قادر به تولید آن هستند. حتی برخی از کمپانیهایی که از میانه راه تصمیم به توسعه مستقل لینوکس گرفتند کمی بعد متوجه شدند که نمیتوانند به خوبی توروالدس این کار را انجام دهند و تا به امروز خود لینوس است که بهترین بروز رسانی و ارتقاء هسته لینوکس را انجام داده است. اما مهمترین دلیل موفقیت و محبوبیت و بقای لینوکس، گواهی GPL و فلسفهای است که استالمن آن را بنا نهاد، پس بهتر است به تعریف GPL بپردازیم:
استالمن برای اینکه آزاد بودن نرم افزارهای نوشته شده توسط گروه GNU را حفظ کند، یک اقدام حیاتی و بسیار مهم را انجام داد که به نوعی باعث دوام و قوت بخشیدن به این پروژه شد. اقدامی که دنیای نرم افزارهای آزاد و لینوکس را تحت شعال خود قرار داد. اگر بخواهیم تعریف سادهای برای GPL داشته باشیم میتوانیم آن را اینگونه بیان کنیم: نرمافزاری که تحت گواهی GPL منتشر میشود باید شرایط زیر را داشته باشد:
آزاد بودن به معنی مجانی بودن نیست یعنی امکان این وجود دارد که نرمافزار آزاد باشد اما بابت خرید آن یا سرویس ارائه شده برای آن، مبلغی دریافت شود. اما با این حال باز هم کد نرمافزار باید بصورت کاملا باز در اختیار مشتری قرار گیرد. بر اساس آزادی سه، هر شخصی میتواند کُدِ نرمافزار تحت گواهی GPL را تغییر داده و حتی با نام جدیدی منتشر کند. اما نرمافزار جدید نیز باید حتما تحت گواهی GPL منتشر شود. یعنی دیگران نیز میتوانند متن برنامهی جدید را تغییر داده و با نام خود منتشر کنند.
قانون آزادی سوم در گواهی GPL همان راز ماندگاری تمام پروژههای متن باز تحت این گواهی است و عدم وجود آن در FreeBSD راز پنهان شدن این سیستمعامل ارزشمند است. هستهی FreeBSD چیزی از لینوکس کم ندارد، اما به دلیل عدم وجود فلسفهی مشابهی GPL شرکتهای مختلف از جمله اپل، هستهی FreeBSD را برای تولید سیستمعاملهای Mac OS X و iOS مورد استفاده قرار داده و کمی آن را تغییر داده و با نامی جدید و در قالب محصولی نو، معرفی کردند و هیچ نامی از FreeBSD به میان نیاوردند. از همهی اینها بدتر آنکه، محصول ساختهشدهی بر پایهی FreeBSD در قالب یک نرمافزار بسته و انحصاری روانهی بازار میشوند؛ نرمافزاری که نهتنها دیگران به کد آن دسترسی ندارند بلکه اجازهی ویرایش و استفاده از آن برای مصارف دیگر را نیز ندارند. در گواهی GNU شما میتوانید کد شخص دیگری را تغییر دهید، اما حق ندارید نام توسعهدهندگان قبلی را مخفی کنید یا محصول را بدون فراهم آوردن آزادیها مجددا عرضه کنید.
با توجه به دیدگاه بنیاد نرم افزارهای آزاد (FSF)، هدف GPL دفاع از آزادیهای برنامه نویسان، توسعه دهندگان و کاربران است. نویسندگان پروانه بیش از اینکه به قطعیت استدلالشان در دادگاه فکر کنند در پی انتقال مفهوم مورد نظرشان به کاربران این گواهیاند. وقتی نرم افزاری با پروانه GPL منتشر میشود فضایی چند وجهی در اطراف آن شکل میگیرد . از یک طرف امکان بی پایان توزیع و ارتقاء آن پدید میآید، از طرف دیگر همواره نرم افزار خصوصیات نرمافزار آزاد را با تعریف FSF (بنیاد نرمافزارهای آزاد) حفظ خواهد کرد. علاوه بر این، روح حاکم بر GPL افراد را تشویق میکند تا بجای جستجو در کارهای غلط دیگران، کار خود را درست انجام دهند و در اختیار بقیه افراد جامعه بگذارند. تمام اینها و مهمتر از همه روح انسانی و اخلاق گرای پروانه GPL میتواند دلایل محبوبیتش درمیان برنامه نویسان باشد.
ریچارد استالمن به عنوان یک فیلسوف، یا به اعتقاد برخی پدر جنبش نرمافزارهای آزاد شناخته میشود. او همزمان با مدیریت فعالیتهای ساخت سیستم عامل گنو یک کار اساسی و فوق العاده ارزشمند را انجام داد که شاید تمام پیشرفت و توسعه لینوکس و اغلب پروژههای متن باز را سبب شد. استالمن همزمان با ساخت سیستم عامل آزاد گنو، زیربنای قانونی، فلسفی و فناوری مرتبط با جنبش نرمافزارهای آزاد را نیز خلق کرد. اگر زیربنایی قانونی ایجاد شده توسط استالمن وجود نداشت، لینوکس و به طور کامل آزاد و متنباز نیز جایگاه فعلی را نداشتند.
متن-باز یا اپن-سورس راهی است تا همه مردم بتوانند برای ساخت یک پروژه همکاری کنند و هرگز نگران مسائل و مشکلات حقوق معنوی آن پروژه نباشند. در حقیقت متن باز یک مدل توسعه است که توسط نرمافزارهای آزاد به کار گرفته میشود. کد کامل نرم افزارهای متن-باز در اختیار عموم قرار میگیرد تا از آن استفاده کنند یا در بهبود پروژه به دیگر افراد درگیر آن کمک کنند. نرمافزارهای آزاد بطور قطع متنباز نیز هستند اما نرمافزارهای متنباز میتوانند آزاد نباشند. افرادی که شاخهی متن-باز را بصورت مستقل از مفهوم آزاد در دنیای نرم افزار ایجاد کردند، تنها به کارایی نرم افزار فکر میکردند و تمایل نداشتند تا درگیر کش مکشهای قانونی خرید یا نقض قوانین کپی رایت شوند. این مساله بدان دلیل بود که کارایی فوقالعادهی مدل توسعهی متن باز به اثبات رسیده بود اما درک فلسفهی آزادی استالمن دشوار مینمود. هدف آنها از شکل گیری متن-باز آن بود که همه مردم بتوانند آزادانه و بدون هیج محدودیتی از نرم افزار ساخته شده استفاده نمایند.
تعریف دیگری به نام Freeware در دنیای نرمافزار وجود دارد که بعضا با Free Software یا حتی Open Source اشتباه گرفته میشود. Freeware به نرمافزار مجانی گفته میشود که هیچکس جز تولید کنندهی آن حق ویرایش یا تغییر در نرمافزار را ندارد. هرچند نرمافزار مجانی است، اما نمیتوان در آن تغییری ایجاد کرد. اما در نرمافزار آزاد یا متن-بازی که تحت گواهی GPL باشد، شما نه تنها میتوانید در نرمافزار تغییر ایجاد کنید بلکه قادر خواهید بود تا بطور کامل به کد آن دسترسی داشته و بدانید درون نرمافزار چه میگذرد.
از آنجایی که گنو/لینوکس برپایهی گواهی GPL عرضه شده است. هر شخص یا مجموعهای میتواند در این مجموعه تغییراتی ایجاد کرده و آن را در قالب یک محصول جدید اما مبتنی بر گواهی GPL عرضه کند. به این ترتیب صدها توزیع از لینوکس ایجاد شده که هر کدام توسط شخص یا گروه خاصی از افراد توسعه داده میشوند. تمام این توزیعها نیز آزاد و متنباز هستند و در توسعهی آنها افراد بسیاری مشارکت دارند. این توزیعها شامل تعدادی نرمافزار سیستم و برنامههای کاربردی به همراه روالی مشخص برای نصب آنها در رایانه هستند. توزیعها معمولا برای منظورهای مختلفی از جمله محلیسازی، پشتیبانی از یک معماری خاص، کاربردهای بیدرنگ (real-time applications) و سامانههای توکار (embedded systems) به وجود میآیند. یک توزیع همه-منظوره معمولی شامل هستهی لینوکس، کتابخانهها و ابزارهای گنو، پوستههای خط فرمان، میزکار رابط گرافیکی و انبوه بیشماری از نرمافزارهای کاربردی از مجموعههای اداری و سیستم پنجرهای اِکس گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است. از جمله بزرگترین توزیعهای لینوکس که خود مشتقات بسیاری دارند میتوان به Debian، RedHat، OpenSuse و Arch اشاره کرد. جالب است بدانید که اندروید، محبوبترین سیستمعامل موبایل دنیا نیز بر پایهی لینوکس (کرنل) ساخته شده است.
اگر مایل هستید با توزیعهای مختلف لینوکس آشنا شوید، این نمودار عریض و طویل را دریافت کنید یا این صفحه در ویکیپدیا را بازدید کنید.
همیشه عدهای هستند که معتقدند تمام نرمافزارها باید ضمن متنباز و آزاد بودن، رایگان نیز باشند؛ اما این عده در اقلیت بوده و از نظر حقوقی و بر مبنای لایسنسهای عمومی نرمافزارهای آزاد و متنباز، هیچ منعی برای درآمدزا بودن برنامه تشریح نشده است. برخی پروژههای آزاد و متنباز در حد و اندازهای که قادر باشند به حیات خود ادامه دهند درآمد دارند و عدهای از این پروژهها نیز آنچنان برای مسئولان خود سودآور هستند که به سادگی معادلهای انحصاری و روش کسب درآمد آنها را از گردونهی رقابت خارج میکنند. اما چطور؟ برای اطلاع از نحوهی کسب درآمد نرمافزارهای آزاد / متن باز به مقالهی مسعود آموزگار با عنوان «توسعهدهندگان نرمافزارهای آزاد / متنباز چگونه درآمد کسب میکنند؟» مراجعه کنید.
ردهت که یکی از توزیعهای گنو/لینوکس به شمار میرود از بیش ۳۰ میلیون خط کد تشکیل شده است. براساس یک تحقیق برآورد شده است که بر روی این توزیع نزدیک به ۸ هزار نفر-سال / کار گسترش انجام گرفته است. چنانکه این نرمافزار با روشهای متعارف خصوصی گسترش مییافت، هزینه گسترشاش در ایالات متحده با روشهای گسترش متعارف خصوصی بالغ بر ۱/۰۸ میلیارد دلار (با قیمت دلار سال ۲۰۰۰) میشد. بخش بزرگی از کد (۷۱٪) با زبان برنامهنویسی C نوشته شده است؛ اما از بسیاری از زبانهای دیگر همچون ++C، لیسپ، اسمبلی، پرل، فرترن، پایتون و زبانهای اسکریپتنویسی گوناگون استفاده شده است. اندکی بیش از نیمی از خطوط کد، تحت مجوز عمومی گنو (جیپیاِل) هستند. هسته لینوکس ۲٫۴ میلیون خط کد دارد و ۸٪ کل کد ردهت را تشکیل میدهد.در پژوهشی جدید که بر روی توزیع گنو/لینوکس دبیان نسخه ۴٫۰ که در سال ۲۰۰۷ عرضه شده صورت گرفت، مشخص شد این توزیع دارای نزدیک به ۲۸۳ میلیون خط کد بوده که تخمین زده میشود هزینه گسترشاش با روشهای گسترش متعارف خصوصی بالغ بر ۸٫۰۷ میلیارد دلار (با قیمت دلار سال ۲۰۱۳) و زمان مورد نیاز حدود ۷۳٫۰۰۰ نفر-سال میشود.
بدلیل پایداری و انعطاف گنو/لینوکس، این سیستمعامل حضور پررنگی به عنوان سیستمعاملی برای کامپیوترهای سرور دارد. بر اساس آمار در سال ۲۰۰۸، از میان ۱۰ مورد از معتبرترین شرکتهای هاستینگ دنیا، ۵ شرکت سیستمعامل گنو/لینوکس را در سرورهای وب خود بکار میگیرند. توزیعهای لینوکس به طور گستردهای به عنوان سیستم عامل در ابر رایانهها و دیتاسنترها استفاده میشود: از نوامبر سال ۲۰۱۰، از ۵۰۰ سیستم برتر، ۴۵۹ مورد (۹۱٫۸ ٪) تحت اجرای توزیعهای لینوکس هستند. از لینوکس همچنین بیشتر در سیستمهای کارگذاشته استفاده میشود. رایگان، متن باز و آزاد بودن آن باعث میشود انتخابی ایدهآل برای ابزارهایی مانند سیمپیوتر، رایانهای که برای جمعیت کم درآمد کشورهای در حال گسترش طراحی شده، باشد. لینوکس با داشتن محیطهای رومیزی مانند گنوم و KDE، رابط کاربری همچون اپل مکینتاش و مایکروسافت ویندوز را در کنار دیگر محیطهای گرافیکی و رابط خط فرمان یونیکس-مانند سنتیاش، عرضه کرد تا کاربران معمولی نیز بتوانند از آن به عنوان جایگزین آزاد و رایگان ویندوز و OS X استفاده کنند. لینوکس به شکل خارقالعادهای طراحی شده است تا بر روی هر ابزاری از تلفن هوشمند گرفته تا سوپرکامپیوترها فارغ از نوع پردازندهی آن به خوبی کار کند.
دلیل همه اینها، هزینهی بسیار پایین، سرویسهای پایدار و ایمن، نیاز به منابع بسیار کم سختافزاری، توسعه سریع توسط میلیونها برنامهنویس و از همه مهمتر پایداری، آزاد و متن باز بودن لینوکس است.
منبع این نوشته:
http://www.zoomit.ir/howto/computer/8926-linux-history