انقلاب در سامانه سیستم عامل، داستان ظهور گنو/لینوکس

انقلاب در سامانه سیستم عامل، داستان ظهور گنو/لینوکس


انقلاب در سامانه سیستم عامل، داستان ظهور گنو/لینوکس گنو/لینوکس چیست؟ گنو/لینوکس سامانه سیستم عاملی است که توسط هزاران برنامه نویس از اقصی نقاطدنیا و جهان توسعه داده می‌شود، گنو/لینوکس اغلب به دلیل هسته‌ی خود یعنی لینوکس به شهرت رسیده است. این سیستم‌عامل از سال‌ها قبل به عنوان تهدیدی برای ویندوز مایکروسافت مطرح شد و با توجه به امکانات ...بیا تو تفریحانقلاب در سامانه سیستم عامل، داستان ظهور گنو/لینوکس]]>

انقلاب در سامانه سیستم عامل، داستان ظهور گنو/لینوکس

گنو/لینوکس چیست؟

گنو/لینوکس سامانه سیستم عاملی است که توسط هزاران برنامه نویس از اقصی نقاطدنیا و جهان توسعه داده می‌شود، گنو/لینوکس اغلب به دلیل هسته‌ی خود یعنی لینوکس به شهرت رسیده است. این سیستم‌عامل از سال‌ها قبل به عنوان تهدیدی برای ویندوز مایکروسافت مطرح شد و با توجه به امکانات خاصی که در اختیار کاربران قرار می‌داد، توانست در برخی از زمینه‌ها سامانه سیستم عامل ویندوز مایکروسافت را بطور کامل از گردانه رقابت خارج کند. گنو/لینوکس به دلیل سرعت، امنیت، رایگان بودن و از همه مهم‌تر متن-باز و آزاد بودن به سرعت مورد توجه کاربران مختلف قرار گرفت. برای اینکه بدانید گنو/لینوکس چیست، ابتدا باید بدانید که سامانه سیستم عامل چیست، سامانه سیستم عامل در واقع نرم افزاری است که ارتباط بین سخت افزار و کاربر را برقرار می‌کند. در واقع بسیاری از کاربران حتی ارتباط زیادی با خود سامانه سیستم عامل‌ها ندارند و بیشتر استفاده آن‌ها با نرم افزارهایی است که بر روی سامانه سیستم عامل اجرا می‌شوند. پس سامانه سیستم عامل بستری را فراهم می‌کند تا برنامه‌ها به راحتی اجرا شوند و سرویس‌ها مورد نظر خود را به کاربران ارائه کنند. لینوکس سیستم‌عاملی است که قادر است بر روی پردازنده‌های مختلف مبتنی بر معماری ARM یا x86 اجرا شود. این بدین معناست که هسته‌ی لینوکس بعنوان زیرساخت سیستم‌عامل (اندروید، گنو/لینوکس و…) می‌تواند نه تنها روی کامپیوترهای مختلف اجرا شود بلکه امکان نصب و استفاده از آن بر روی انواع مختلف ابزارهای الکترونیکی از ساعت هوشمند گرفته تا تلفن، تبلت، دستگاه‌های غول پیکر صنعتی و… وجود دارد. در حقیقت «لینوکس» کرنل یا هسته‌ای است که سیستم‌عامل‌های مختلفی نظیر گنو/لینوکس و اندروید را نیرو می‌بخشد. در هر حال برای سادگی بیشتر، معمولا در بسیاری از مجامع از گنو/لینوکس نیز با همان نام «لینوکس» یاد می‌شود.

اما لینوکس چطور شکل گرفت؟

یونیکس توسط ۲ مهندس شرکت AT&T با نام‌های کن تامپسون و دنیس ریتچی تولید شد و در سال ۱۹۷۰ منتشر گردید. یونیکس در شروع و آغاز به زبان اسمبلی نوشته شد اما در سال ۱۹۷۳ به طور کلی به زبان سی بازنوشته شد. کمی بعد آن‌ها زبان برنامه نویسی C را نیز به آن اضافه کردند و به دلیل انطباق‌پذیری بسیار بالای آن به سرعت بین مراکز آموزشی و تجارت‌های مختلف توزیع شد و مورد استفاده قرار گرفت. AT&T کمی بعد گواهی خاصی را برای استفاده از سامانه سیستم عامل یونیکس تعریف کرد که شرکت‌ها برای استفاده از آن مجبور به رعایت آن و پرداخت هزینه می‌شدند؛ از طرفی کد سامانه سیستم عامل یونیکس نیز در اختیار دیگران قرار نمی‌گرفت. ماجرا از همین جا شروع شد و شخصی به نام ریچارد استالمن، دانشجوی دکترای آن زمان در دانشگاه MIT با تفکر و فلسفه خاص و مخصوص خود از این اقدام AT&T خوشش نیامد و گروهی به نام GNU (بخوانید «گنو») را با هدف ساخت سامانه سیستم عامل آزاد شبیه به یونیکس تشکیل داد.

ریچارد استالمن در دانشگاه MITریچارد استالمن در MIT

استالمن در سال ۱۹۷۱ وارد آزمایشگاه هوش مصنوعی MIT می‌شود. او این آزمایشگاه را اجتماع شکوفای هکرها می‌نامد، افرادی که عاشق برنامه نویسی بودند و علاقه شدیدی به کشف روش‌های جدید برای کار با کامپیوتر داشتند. آن‌ها یک سامانه سیستم عامل کامل به نام گنو را درست کرده بودند، که تمام آن در همان آزمایشگاه نوشته بود. استالمن عضو همان تیم شد تا به ارتقای سامانه سیستم عامل کمک نموده و قابلیت‌های تازه‌ای را به آن اضافه کند. آزمایشگاه MIT و آن تیم دقیقا همان جایی بود که استالمن عاشق کار کردن در آن بود. آن‌ها عنوان سامانه سیستم عامل خود را Incompatible Timesharing System یا سامانه سیستم اشتراک زمانی ناسازگار نامیدند.

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

ریچارد استالمن

وقتی مدیران شبکه بر روی یکی از کامپیوترهای MIT رمز عبور گذاشتند، استالمن و دوستانش از این موضوع اصلا خوششان نیامد و تصمیم گرفتند تا همه چیز را هک کنند. اینجا بود که آنها توانستند رمزگذاری پایگاه داده محل ذخیره رمزهای عبور را هک کنند. سپس آن‌ها به تمام افرادی که در کامپیوترهای خود رمز عبور وارد می‌کردند چنین پیغامی را ارسال کردند: «می‌بینم که شما فلان رمز عبور را انتخاب کرده‌اید! نظرتون چیه اگر به جای وارد کردن رمز عبور فقط Enter را فشار دهید؟ این کار هم ساده‌تره و هم آسان‌تر!» در واقع استالمن و دوستانش تنها می‌خواستند تلویحا به این موضوع اشاره کنند که امنیت سیستمی که ادمین‌های MIT پیاده کردند در حد شوخی است. استالمن با این روش توانست یک پنجم کاربران آزمایشگاه را به گروه خود ملحق کند و همه آن‌ها به جای رمز عبور فقط از کلید Enter استفاده می‌کردند.

در اواخر دهه ۷۰و اوایل دهه ۸۰ میلادی با افزایش تعداد کاربران کامپیوتر و استفاده آن در مکان‌های مختلف، تولیدکنندگان نرم افزار نیز تصمیم گرفتند تا نرم افزارهای خود را بصورت بسته ارائه کنند و اجازه مشاهده کد محصولات خود را به دیگران ندهند. دیگر نمی‌شد بر روی نرم افزار تغییرات دلخواه را اعمال کرد. مایکروسافت در این زمینه از همه شرکت‌ها هم بزرگ و عظیم‌تر بود و هم بیشتر دست به این کار می‌زد.

gnulaptopدر اوایل دهه‌ی ۸۰ سامانه سیستم عامل‌ها خصوصی شدند و کاربر در زمان خرید متعهد می‌شدند تا سامانه سیستم عامل خریداری شده را در اختیار دیگران قرار ندهد. استالمن این موضوع را مانع پیشرفت می‌دانست و بطور کامل با قوانین حقوق معنوی به آن شکل مخالف بود و آن‌ها را مانع پیشرفت و مشارکت در امور می‌دانست. اینجا بود که استالمن بنیاد نرم افزارهای آزاد (Free Software Foundation) را شکل داد که یکی از اهداف آن ساخت یک سامانه سیستم عامل جدید بود. تفکر اون به این شکل بود که سامانه سیستم عاملی بسازد که بصورت آزاد در اختیار دیگران قرار بگیرد و افرادی که از آن استفاده می‌کنند را تشویق کند تا آن را در اختیار اطرافیان خود قرار دهند. به این ترتیب کاربران می‌توانستند از سامانه سیستم عاملی استفاده کنند که آزاد است و توزیع آن به دیگران نیز آزادانه انجام می‌شود و در عین حال سطوح دیگری از آزادی را نیز بر این بستر فراهم می‌کرد.

پروژه در ژانویه ۱۹۸۴ کلید می‌خورد، درست همان زمانی استالمن از شغل خود در دانشگاه 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 بپردازیم:

GPL چیست و چگونه باعث بقای گنو/لینوکس شد

استالمن برای اینکه آزاد بودن نرم افزارهای نوشته شده توسط گروه GNU را حفظ کند، یک اقدام حیاتی و بسیار مهم را انجام داد که به نوعی باعث دوام و قوت بخشیدن به این پروژه شد. اقدامی که دنیای نرم افزارهای آزاد و لینوکس را تحت شعال خود قرار داد. اگر بخواهیم تعریف ساده‌ای برای GPL داشته باشیم می‌توانیم آن را اینگونه بیان کنیم: نرم‌افزاری که تحت گواهی GPL منتشر می‌شود باید شرایط زیر را داشته باشد:

  • آزادی برای اجرای برنامه برای هر منظوری (آزادی ۰)
  • آزادی برای مطالعه و بررسی چگونگی عملکرد برنامه و تغییر آن برای نیاز خود (آزادی ۱). دسترسی به کد منبع یک پیش‌شرط برای این آزادی است.
  • آزادی برای توزیع مجدد کپی‌هایی از آن، بنابراین شما می‌توانید به همسایگان خود کمک کنید (آزادی ۲)
  • آزادی برای بهبود برنامه و انتشار این تغییرات برای عموم (تحت همان مجوز GPL)، بنابراین تمام جامعه از آن بهره می‌برند (آزادی ۳). دسترسی به کد منبع یک پیش‌شرط برای این آزادی است.

آزاد بودن به معنی مجانی بودن نیست یعنی امکان این وجود دارد که نرم‌افزار آزاد باشد اما بابت خرید آن یا سرویس ارائه شده‌ برای آن، مبلغی دریافت شود. اما با این حال باز هم کد نرم‌افزار باید بصورت کاملا باز در اختیار مشتری قرار گیرد. بر اساس آزادی سه، هر شخصی می‌تواند کُدِ نرم‌افزار تحت گواهی GPL را تغییر داده و حتی با نام جدیدی منتشر کند. اما نرم‌افزار جدید نیز باید حتما و صددرصد تحت گواهی GPL منتشر شود. یعنی دیگران نیز می‌توانند متن برنامه‌ی جدید را تغییر داده و با نام خود منتشر کنند.

GNU Tux Revolution - white background -1280x1024

قانون آزادی سوم در گواهی GPL همان راز ماندگاری تمام پروژه‌های متن باز تحت این گواهی است و عدم وجود آن در FreeBSD راز پنهان شدن این سیستم‌عامل ارزشمند است. هسته‌ی FreeBSD چیزی از لینوکس کم ندارد، اما به دلیل عدم وجود فلسفه‌ی مشابه‌ی GPL شرکت‌های مختلف از جمله اپل،  هسته‌ی FreeBSD را برای تولید سیستم‌عامل‌های Mac OS X و iOS مورد استفاده قرار داده و کمی آن را تغییر داده و با نامی جدید و در قالب محصولی نو، معرفی کردند و هیچ نامی از FreeBSD به میان نیاوردند. از همه‌ی این‌ها بدتر آنکه، محصول ساخته‌‌شده‌ی بر پایه‌ی FreeBSD در قالب یک نرم‌افزار بسته‌ و انحصاری روانه‌ی بازار می‌شوند؛ نرم‌افزاری که نه‌تنها دیگران به کد آن دسترسی ندارند بلکه اجازه‌ی ویرایش و استفاده از آن برای مصارف دیگر را نیز ندارند. در گواهی GNU شما می‌توانید کد شخص دیگری را تغییر دهید، اما حق ندارید نام توسعه‌دهندگان قبلی را مخفی کنید یا محصول را بدون فراهم آوردن آزادی‌ها مجددا عرضه کنید.

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

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

متن باز یا Open Source چیست؟

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

تعریف دیگری به نام Freeware در دنیای نرم‌افزار وجود دارد که بعضا با Free Software یا حتی Open Source اشتباه گرفته می‌شود. Freeware به نرم‌افزار مجانی گفته می‌شود که هیچ‌کس جز تولید کننده‌ی آن حق ویرایش یا تغییر در نرم‌افزار را ندارد. هرچند نرم‌افزار مجانی است، اما نمی‌توان در آن تغییری ایجاد کرد. اما در نرم‌افزار آزاد یا متن‌-بازی که تحت گواهی GPL باشد، شما نه تنها می‌توانید در نرم‌افزار تغییر ایجاد کنید بلکه قادر خواهید بود تا بطور کامل به کد آن دسترسی داشته و بدانید درون نرم‌افزار چه می‌گذرد.

توزیع‌های لینوکس

از آنجایی که گنو/لینوکس برپایه‌ی گواهی GPL عرضه شده است. هر شخص یا مجموعه‌ای می‌تواند در این مجموعه تغییراتی ایجاد کرده و آن را در قالب یک محصول جدید اما مبتنی بر گواهی GPL عرضه کند. به این ترتیب صدها توزیع از لینوکس ایجاد شده که هر کدام توسط شخص یا گروه‌ خاصی از افراد توسعه داده می‌شوند. تمام این توزیع‌ها نیز آزاد و متن‌باز هستند و در توسعه‌ی آن‌ها افراد بسیاری مشارکت دارند. این توزیع‌ها شامل تعدادی نرم‌افزار سامانه سیستم و برنامه‌های کاربردی به همراه روالی مشخص برای نصب آن‌ها در رایانه هستند. توزیع‌ها معمولا برای منظورهای مختلفی از جمله محلی‌سازی، پشتیبانی از یک معماری خاص، کاربردهای بی‌درنگ (real-time applications) و سامانه‌های توکار (embedded systems) به وجود می‌آیند. یک توزیع همه-منظوره معمولی شامل هسته‌ی لینوکس، کتاب‌خانه‌ها و ابزارهای گنو، پوسته‌های خط فرمان، میزکار رابط گرافیکی و انبوه بی‌شماری از نرم‌افزارهای کاربردی از مجموعه‌های اداری و سامانه سیستم پنجره‌ای اِکس گرفته تا مفسرها، ویرایشگرهای متن و ابزارهای علمی است. از جمله بزرگ و عظیم‌ترین توزیع‌های لینوکس که خود مشتقات بسیاری دارند می‌توان به Debian، RedHat، OpenSuse و Arch اشاره کرد. جالب و دیدنی است بدانید که اندروید، محبوب‌ترین سیستم‌عامل موبایلدنیا و جهان نیز بر پایه‌ی لینوکس (کرنل) ساخته شده است.

اگر مایل هستید با توزیع‌های مختلف لینوکس آشنا شوید، این نمودار عریض و طویل را دریافت کنید یا این صفحه در ویکی‌پدیا را بازدید کنید.

حالا که همه چیز آزاد است توسعه دهندگان نرم‌افزارهای متن باز از کجا کسب درآمد می‌کنند؟

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

لینوکس و گسترش عجیب آن در همه‌جا

رد‌هت که یکی از توزیع‌های گنو/لینوکس به شمار می‌رود از بیش ۳۰ میلیون خط کد تشکیل شده‌ است. براساس یک تحقیق و برسی برآورد شده‌ است که بر روی این توزیع نزدیک به ۸ هزار نفر-سال / کار گسترش انجام گرفته‌ است. چنانکه این نرم‌افزار با روش‌های متعارف خصوصی گسترش می‌یافت، هزینه گسترش‌اش در ایالات متحده با روش‌های گسترش متعارف خصوصی بالغ بر ۱/۰۸ میلیارد دلار (با ارزش و قیمت دلار سال ۲۰۰۰) می‌شد. بخش بزرگ و عظیمی از کد (۷۱٪) با زبان برنامه‌نویسی C نوشته شده‌ است؛ اما از بسیاری از زبان‌های دیگر همچون ++C، لیسپ، اسمبلی، پرل، فرترن، پایتون و زبان‌های اسکریپت‌نویسی گوناگون استفاده شده‌ است. اندکی بیش از نیمی از خطوط کد، تحت مجوز عمومی گنو (جی‌پی‌اِل) هستند. هسته لینوکس ۲٫۴ میلیون خط کد دارد و ۸٪ کل کد رد‌هت را تشکیل می‌دهد.در پژوهشی جدید که بر روی توزیع گنو/لینوکس دبیان نسخه ۴٫۰ که در سال ۲۰۰۷ عرضه شده صورت گرفت، مشخص شد این توزیع دارای نزدیک به ۲۸۳ میلیون خط کد بوده که تخمین زده می‌شود هزینه گسترش‌اش با روش‌های گسترش متعارف خصوصی بالغ بر ۸٫۰۷ میلیارد دلار (با ارزش و قیمت دلار سال ۲۰۱۳) و زمان مورد نیاز حدود  ۷۳٫۰۰۰ نفر-سال می‌شود.

اگر لینوکس نبود

بدلیل پایداری و انعطاف گنو/لینوکس، این سیستم‌عامل حضور پررنگی به عنوان سیستم‌عاملی برای کامپیوترهای سرور دارد. بر اساس آمار در سال ۲۰۰۸، از میان ۱۰ مورد از معتبرترین شرکت‌های هاستینگ دنیا، ۵ شرکت سیستم‌عامل گنو/لینوکس را در سرورهای وب خود بکار می‌گیرند. توزیع‌های لینوکس به طور گسترده‌ای به عنوان سامانه سیستم عامل در ابر رایانه‌ها و دیتاسنترها استفاده می‌شود: از نوامبر سال ۲۰۱۰، از ۵۰۰ سامانه سیستم برتر، ۴۵۹ مورد (۹۱٫۸ ٪) تحت اجرای توزیع‌های لینوکس هستند. از لینوکس همچنین بیشتر در سیستم‌های کارگذاشته استفاده می‌شود. رایگان، متن باز و آزاد بودن آن باعث می‌شود انتخابی ایده‌آل برای ابزارهایی مانند سیمپیوتر، رایانه‌ای که برای جمعیت کم درآمد کشورهای در حال گسترش طراحی شده، باشد. لینوکس با داشتن محیط‌های رومیزی مانند گنوم و KDE، رابط کاربری همچون اپل مکینتاش و مایکروسافت ویندوز را در کنار دیگر محیط‌های گرافیکی و رابط خط فرمان یونیکس-مانند سنتی‌اش، عرضه کرد تا کاربران معمولی نیز بتوانند از آن به عنوان جایگزین آزاد و رایگان ویندوز و OS X استفاده کنند. لینوکس به شکل خارق‌العاده‌ای طراحی شده است تا بر روی هر ابزاری از تلفن هوشمند گرفته تا سوپرکامپیوترها فارغ از نوع پردازنده‌ی آن به خوبی کار کند.

Linux kernel ubiquity

اکثر کش‌سرورهایدنیا و جهان مانند SQUID بر روی لینوکس کار می‌کنند. تقریبا تمام DNS سرورهایدنیا و جهان بر روی لینوکس راه‌اندازی شده‌اند که معروف‌ترین آن‌ها BIND است. حدود ۸۰ درصد از وب‌سرورهایدنیا و جهان بر روی وب‌سرورهایی تحت لینوکس کار می‌کنند، وب‌سرورهایی همچون Apache یا Nginix. اکثر وب‌سایت‌هایدنیا و جهان از دیتابیس‌های مبتنی بر لینوکس مانند MySQL بهره می‌برند. نرم‌افزارهای مدیریت دیتاسنترها نیز بر پایه‌ی لینوکس کار می‌کنند. اگر لینوکس نبود هزینه سرویس دهی سرورهای زومیت به شما عزیزان تا ۳ برابر افزایش می‌یافت. 

دلیل همه این‌ها، هزینه‌ی بسیار پایین، سرویس‌های پایدار و ایمن، نیاز به منابع بسیار کم سخت‌افزاری، توسعه‌ سریع توسط میلیون‌ها برنامه‌نویس و از همه مهمتر پایداری، آزاد و متن باز بودن لینوکس است.

ترفند

جهت اطلاع از آخرین تغییرات وب سایت نازترین در خبرنامه وبلاگ ثبت نام کنید:




نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:



چهار شنبه 9 مهر 1393