
۳۵ سالگی لینوکس؛ سیستمعاملی که قرار نبود بزرگ و حرفهای شود!
مقدمه؛ پروژهای که قرار نبود دنیا را تغییر دهد
گاهی بزرگترین اتفاقات دنیای فناوری با یک سرمایهگذاری چند میلیارد دلاری، یک تیم بزرگ مهندسی یا یک برنامه تجاری چندساله آغاز نمیشوند.
گاهی همهچیز از یک دانشجوی ۲۱ ساله، یک کامپیوتر شخصی و یک ایده ساده شروع میشود.
در سال ۱۹۹۱، لینوس توروالدز، دانشجوی فنلاندی علوم کامپیوتر، روی پروژهای کار میکرد که در ابتدا هیچ شباهتی به یک انقلاب جهانی در دنیای فناوری نداشت. هدف او ساخت محصولی برای رقابت با شرکتهای بزرگ نبود؛ حتی تصور نمیکرد پروژهاش روزی به یکی از مهمترین بخشهای زیرساخت دیجیتال جهان تبدیل شود.
توروالدز در ۲۵ اوت ۱۹۹۱ پروژه خود را در گروه خبری مرتبط با MINIX معرفی کرد و آن را پروژهای شخصی و سرگرمی توصیف کرد؛ پروژهای که خودش هم انتظار نداشت «بزرگ و حرفهای» شود.
اما ۳۵ سال بعد، داستان کاملاً متفاوت است.
لینوکس از یک پروژه دانشجویی کوچک به فناوریای تبدیل شده که در سرورها، زیرساختهای ابری، تجهیزات شبکه، سیستمهای نهفته، ابررایانهها و دنیای موبایل حضور دارد.
اما سؤال اصلی اینجاست:
چطور یک پروژه کوچک که حتی سازندهاش آینده بزرگی برای آن تصور نمیکرد، توانست چنین مسیر شگفتانگیزی را طی کند؟
لینوکس چگونه متولد شد؟
برای فهم داستان لینوکس باید به ابتدای سال ۱۹۹۱ برگردیم؛ زمانی که لینوس توروالدز یک کامپیوتر مجهز به پردازنده Intel 80386 در اختیار داشت.
توروالدز برای یادگیری بیشتر درباره سیستمعاملها از MINIX استفاده میکرد؛ سیستمعاملی آموزشی که توسط اندرو تننبام، استاد علوم کامپیوتر، طراحی شده بود.
MINIX برای آموزش مفاهیم سیستمعامل بسیار ارزشمند بود. دانشجویان میتوانستند ساختار داخلی سیستم را بررسی کنند و با نحوه کار اجزای مختلف یک سیستمعامل آشنا شوند.
اما لینوس از محدودیتهای آن برای نیازهای شخصی خودش راضی نبود.
او میخواست قابلیتهای پردازنده ۳۸۶ را بهتر بشناسد و سیستمعاملی داشته باشد که کنترل بیشتری روی آن فراهم کند.
بنابراین شروع کرد به نوشتن کد.
در ابتدا هدف، ساخت یک سیستمعامل جهانی نبود.
حتی پروژه مشخصی به نام «لینوکس» هم وجود نداشت.
فقط مجموعهای از آزمایشها و برنامههایی بود که بهتدریج پیچیدهتر میشدند.
اولین آزمایشها؛ از چند خط کد تا یک کرنل واقعی
یکی از جذابترین بخشهای داستان لینوکس این است که نخستین آزمایشهای آن بسیار ساده بودند.
توروالدز در مراحل اولیه روی قابلیتهای پردازنده و چندوظیفگی کار میکرد. برنامههایی ساده روی صفحه اجرا میشدند تا مشخص شود پردازنده چگونه میتواند بین وظایف مختلف جابهجا شود.
این آزمایشها شاید در مقایسه با سیستمهای امروزی ابتدایی به نظر برسند، اما برای لینوس یک هدف مهم داشتند: فهمیدن اینکه چگونه میتوان کنترل بیشتری روی سختافزار داشت و یک محیط اجرایی مستقل ایجاد کرد.
هر قابلیت جدید، نیاز تازهای را آشکار میکرد.
برای اجرای برنامهها، به مدیریت حافظه نیاز بود.
برای ذخیره اطلاعات، به دسترسی به دیسک و فایلسیستم نیاز بود.
برای ارتباط با سیستمهای دیگر، امکانات ارتباطی و ترمینال لازم بود.
به این ترتیب، چیزی که از چند آزمایش ساده شروع شده بود، آرامآرام به یک هسته سیستمعامل تبدیل شد.
۲۵
اوت ۱۹۹۱؛ اولین معرفی عمومی لینوکس
۲۵ اوت ۱۹۹۱ یکی از مهمترین تاریخها در داستان لینوکس است.
در این روز، لینوس توروالدز پیامی در گروه خبری comp.os.minix منتشر کرد و از پروژهای خبر داد که روی یک سیستمعامل رایگان برای کامپیوترهای مجهز به پردازندههای ۳۸۶ و ۴۸۶ کار میکرد.
او در همان پیام تأکید کرد که پروژه بیشتر یک سرگرمی شخصی است و قرار نیست به پروژهای بزرگ و حرفهای تبدیل شود.
همین جمله امروز یکی از مشهورترین بخشهای تاریخ لینوکس است.
چون چیزی که توروالدز آن زمان یک سرگرمی میدید، بعدها به یکی از بزرگترین پروژههای متنباز جهان تبدیل شد.
نکته مهم دیگر این بود که لینوس از کاربران MINIX درباره ویژگیهایی که دوست داشتند یا دوست نداشتند بازخورد میخواست.
او هنوز نمیدانست که این دعوت ساده به مشارکت، آغاز شکلگیری جامعهای جهانی از توسعهدهندگان خواهد بود.
نسخه ۰٫۰۱؛ لینوکس هنوز یک سیستمعامل کامل نبود
نسخه اولیه لینوکس در سپتامبر ۱۹۹۱ منتشر شد.
این نسخه با لینوکسی که امروز میشناسیم تفاوت بسیار زیادی داشت.
نه نصب سادهای داشت، نه محیط کاربری مدرن و نه مجموعهای از امکاناتی که یک کاربر امروزی از سیستمعامل انتظار دارد.
اما یک ویژگی بسیار مهم داشت:
کد آن در اختیار دیگران قرار گرفته بود.
این یعنی افراد دیگری میتوانستند کد را بررسی کنند، آن را آزمایش کنند، مشکلاتش را پیدا کنند و پیشنهادهای خودشان را ارائه دهند.
در همین نقطه بود که یک اتفاق تعیینکننده رخ داد.
لینوکس دیگر فقط پروژه شخصی لینوس توروالدز نبود.
اینترنت، لینوکس را از اتاق یک دانشجو بیرون آورد
اگر لینوکس در سال ۱۹۹۱ ساخته میشد اما امکان همکاری اینترنتی وجود نداشت، احتمالاً مسیر آن کاملاً متفاوت میشد.
در آن دوران، شبکههای آنلاین و گروههای خبری به توسعهدهندگان اجازه میدادند کد و ایدههای خود را با افراد دیگری در نقاط مختلف جهان به اشتراک بگذارند.
توسعهدهندگان لینوکس نیز از همین فضا استفاده کردند.
یک نفر قابلیتی اضافه میکرد.
فرد دیگری یک باگ را اصلاح میکرد.
شخص دیگری پشتیبانی از سختافزار جدیدی را اضافه میکرد.
و نتیجه دوباره به پروژه اصلی بازمیگشت.
به این ترتیب، سرعت رشد لینوکس دیگر به توانایی یک نفر محدود نبود.
جامعه توسعهدهندگان به موتور اصلی رشد پروژه تبدیل شد.
این همان ویژگیای بود که بعدها به یکی از مهمترین نقاط قوت اکوسیستم لینوکس تبدیل شد.
GNU
چه نقشی در موفقیت لینوکس داشت؟
برای درک درست تاریخ لینوکس، باید یک تفاوت مهم را بدانیم.
Linux در اصل نام کرنل یا هسته سیستم است، نه تمام اجزای یک سیستمعامل کامل.
کرنل وظایف اساسی مانند مدیریت پردازنده، حافظه و ارتباط نرمافزارها با سختافزار را بر عهده دارد.
اما یک سیستمعامل کامل به اجزای بسیار بیشتری نیاز دارد؛ از کامپایلر و کتابخانه گرفته تا ابزارهای خط فرمان، برنامههای سیستمی و محیط کاربری.
اینجاست که پروژه GNU اهمیت پیدا میکند.
ریچارد استالمن پروژه GNU را در سال ۱۹۸۳ با هدف ساخت یک سیستمعامل آزاد و سازگار با Unix آغاز کرده بود. تا اوایل دهه ۱۹۹۰، بسیاری از اجزای اصلی این سیستم آماده شده بودند، اما کرنل آن یعنی GNU Hurd هنوز به بلوغ لازم نرسیده بود.
در طرف دیگر، لینوس توروالدز یک کرنل قابل استفاده داشت.
ترکیب این کرنل با ابزارها و اجزای GNU، پایه شکلگیری سیستمهای GNU/Linux را فراهم کرد.
به زبان ساده:
GNU بخش بزرگی از ابزارهای مورد نیاز یک سیستم آزاد را فراهم کرده بود و Linux جای خالی کرنل را پر کرد.
همین ترکیب یکی از مهمترین اتفاقات تاریخ نرمافزار آزاد بود.
Linux یا GNU/Linux؛ بالاخره کدام درست است؟
این موضوع ممکن است در نگاه اول کمی پیچیده باشد، اما تفاوت آن ساده است.
وقتی درباره Linux صحبت میکنیم، از نظر فنی منظور کرنل است.
اما سیستم کاملی که کاربر نصب و استفاده میکند، از کرنل لینوکس به همراه مجموعهای از ابزارها، کتابخانهها، نرمافزارها و اجزای دیگر تشکیل شده است.
پروژه GNU به همین دلیل ترجیح میدهد برای اشاره به کل سیستم از عبارت GNU/Linux استفاده شود.
البته در استفاده عمومی، عبارت «لینوکس» معمولاً برای اشاره به کل سیستمها و توزیعهای مبتنی بر Linux نیز استفاده میشود.
بنابراین اگر جایی نوشته شد «سیستمعامل لینوکس»، از نظر کاربرد عمومی قابل درک است؛ اما اگر بخواهیم دقیق و فنی صحبت کنیم، Linux نام کرنل است.
G
PL؛ تصمیمی که مسیر لینوکس را تغییر داد
یکی از نقاط عطف تاریخ لینوکس، تغییر مجوز پروژه بود.
لینوکس در سال ۱۹۹۲ تحت مجوز GNU General Public License یا GPL منتشر شد. این تصمیم به دیگران اجازه داد نرمافزار را آزادانهتر بررسی، تغییر و بازتوزیع کنند و در توسعه آن مشارکت داشته باشند.
این موضوع اهمیت بسیار زیادی داشت.
وقتی کد یک پروژه در دسترس جامعه قرار میگیرد، توسعهدهندگان بیشتری میتوانند روی آن کار کنند.
شرکتها میتوانند محصولات و خدمات خود را پیرامون آن ایجاد کنند.
دانشگاهها میتوانند آن را مطالعه کنند.
و توسعهدهندگان مستقل میتوانند نسخههای خودشان را بسازند.
به همین دلیل، GPL فقط یک تصمیم حقوقی نبود؛ بخشی از زیرساخت اجتماعی و اقتصادی رشد اکوسیستم لینوکس شد.
وقتی خالق MINIX گفت: «Linux is obsolete»
تاریخ لینوکس فقط پر از موفقیت نیست.
در همان سالهای ابتدایی، یکی از معروفترین بحثهای تاریخ سیستمعاملها شکل گرفت.
اندرو تننبام، خالق MINIX، در سال ۱۹۹۲ بحثی با عنوان «LINUX is obsolete» مطرح کرد.
اختلاف اصلی به معماری سیستمعامل مربوط میشد.
لینوکس از معماری Monolithic Kernel استفاده میکرد؛ معماریای که بخشهای اصلی مانند مدیریت حافظه، فایلسیستم و بسیاری از درایورها در فضای کرنل قرار میگیرند.
در مقابل، تننبام از رویکرد Microkernel دفاع میکرد؛ رویکردی که تلاش میکند هسته سیستم را کوچکتر نگه دارد و بخش بیشتری از خدمات سیستمعامل را خارج از هسته اجرا کند.
تننبام همچنین نسبت به وابستگی اولیه لینوکس به معماری ۳۸۶ و آینده این پروژه انتقاد داشت.
این بحث به یکی از مشهورترین مناظرههای تاریخ سیستمعاملها تبدیل شد.
اما تاریخ نشان داد که پیشبینیها همیشه مطابق واقعیت پیش نمیروند.
چرا لینوکس برخلاف پیشبینیها موفق شد؟
هیچ عامل واحدی را نمیتوان دلیل موفقیت لینوکس دانست.
ترکیبی از چند ویژگی، مسیر این پروژه را تغییر داد.
متنباز بودن
توسعهدهندگان میتوانستند کد را بررسی کنند و در توسعه آن مشارکت داشته باشند.
جامعه جهانی توسعهدهندگان
پروژه دیگر به یک فرد یا یک شرکت وابسته نبود.
انعطافپذیری
لینوکس بهمرور روی معماریها و سختافزارهای مختلف قابل استفاده شد.
شکلگیری توزیعهای مختلف
توزیعهایی مانند Debian و دیگر پروژهها، لینوکس را به مجموعهای کاملتر و کاربردیتر تبدیل کردند.
رشد سرورها و اینترنت
لینوکس بهتدریج جایگاه مهمی در سرورها و زیرساختهای اینترنت پیدا کرد.
امکان ساخت محصولات و خدمات تجاری
شرکتها توانستند بدون اینکه مالک انحصاری کد اصلی باشند، کسبوکارهایی پیرامون لینوکس ایجاد کنند.
این عوامل در کنار یکدیگر باعث شدند لینوکس بسیار فراتر از هدف اولیه سازندهاش رشد کند.
لینوکس چگونه از یک پروژه دانشجویی به زیرساخت فناوری تبدیل شد؟
مسیر رشد لینوکس را میتوان یک زنجیره از اتفاقات دانست.
یک دانشجو برای نیاز خودش شروع به کدنویسی کرد.
جامعه توسعهدهندگان وارد پروژه شد.
GNU بسیاری از ابزارهای مورد نیاز را فراهم کرد.
مجوز GPL امکان مشارکت و توسعه آزاد را تقویت کرد.
توزیعهای مختلف شکل گرفتند.
شرکتها به استفاده و توسعه آن روی آوردند.
و در نهایت لینوکس از یک پروژه شخصی به بخشی از زیرساخت فناوری جهان تبدیل شد.
این مسیر یک نکته مهم را نشان میدهد:
موفقیت یک فناوری همیشه از همان ابتدا قابل پیشبینی نیست.
گاهی ارزش واقعی یک پروژه زمانی مشخص میشود که افراد مختلف بتوانند آن را توسعه دهند و کاربردهای جدیدی برایش پیدا کنند.
لینوکس امروز کجای دنیای فناوری است؟
امروز نام لینوکس را میتوان در بخشهای مختلف دنیای فناوری پیدا کرد.
از سرورها و دیتاسنترها گرفته تا تجهیزات شبکه، سیستمهای نهفته و ابررایانهها.
در دنیای رایانش ابری نیز لینوکس یکی از فناوریهای بسیار مهم زیرساختی محسوب میشود.
در حوزه موبایل نیز Android از کرنل Linux استفاده میکند؛ هرچند Android خود مجموعهای از اجزا و فناوریهای اختصاصی دارد و نباید آن را با یک توزیع معمولی لینوکس دسکتاپ یکسان دانست.
این گستردگی نشان میدهد لینوکس دیگر صرفاً یک سیستمعامل برای علاقهمندان به کامپیوتر نیست.
لینوکس به یکی از پایههای مهم زیرساخت دیجیتال مدرن تبدیل شده است.
راز ماندگاری لینوکس چیست؟
شاید مهمترین دلیل ماندگاری لینوکس، توانایی آن برای تغییر باشد.
فناوری در ۳۵ سال گذشته بارها تغییر کرده است.
پردازندهها سریعتر شدهاند.
رایانش ابری به وجود آمده است.
موبایل به بخش بزرگی از زندگی دیجیتال تبدیل شده است.
هوش مصنوعی رشد کرده است.
دیتاسنترها به زیرساختهای عظیم تبدیل شدهاند.
اما لینوکس توانسته در بسیاری از این تغییرات همراه فناوری حرکت کند.
این همان چیزی است که یک پروژه متنباز قدرتمند میتواند انجام دهد:
بهجای اینکه برای یک کاربرد خاص ساخته شود و در همانجا باقی بماند، امکان دارد با نیازهای جدید سازگار شود.
سال بعد؛ آن «سرگرمی» به کجا رسید؟
در سال ۱۹۹۱، لینوس توروالدز پروژهای را معرفی کرد که خودش انتظار نداشت به یک سیستمعامل بزرگ و حرفهای تبدیل شود.
امروز، پس از ۳۵ سال، Linux دیگر یک آزمایش دانشجویی نیست.
این پروژه به یکی از مهمترین نمونههای موفق توسعه متنباز تبدیل شده و در بخشهای مختلف زیرساخت فناوری حضور دارد.
شاید جذابترین بخش داستان همین تضاد باشد:
پروژهای که قرار نبود بزرگ شود، بزرگ شد.
پروژهای که قرار نبود حرفهای شود، به یکی از جدیترین فناوریهای دنیای کامپیوتر تبدیل شد.
و پروژهای که برای نیازهای یک دانشجو آغاز شده بود، امروز توسط جامعهای جهانی از توسعهدهندگان و سازمانها توسعه پیدا میکند.
لینوکس چه درسی برای دنیای فناوری دارد؟
داستان لینوکس فقط داستان یک کرنل یا یک سیستمعامل نیست.
این داستان نشان میدهد که نوآوری همیشه از پروژههای بزرگ و پرهزینه آغاز نمیشود.
گاهی یک مشکل شخصی میتواند جرقه یک ایده بزرگ باشد.
گاهی یک پروژه کوچک با کمک جامعه رشد میکند.
و گاهی حتی سازنده یک فناوری هم نمیتواند آینده واقعی ساخته خودش را پیشبینی کند.
لینوکس یکی از نمونههای روشن همین اتفاق است.
لینوس توروالدز در سال ۱۹۹۱ یک پروژه شخصی را آغاز کرد؛ اما جامعه توسعهدهندگان، پروژه GNU، اینترنت و تصمیمهای فنی و حقوقی مختلف دست به دست هم دادند تا آن پروژه به چیزی بسیار بزرگتر تبدیل شود.
۳۵ سال بعد، لینوکس دیگر فقط بخشی از تاریخ کامپیوتر نیست؛ بخشی از زیرساخت دنیای دیجیتال است.
سوالات متداول درباره لینوکس
لینوکس چه سالی ساخته شد؟
پروژه لینوکس در سال ۱۹۹۱ توسط لینوس توروالدز آغاز شد. او در ۲۵ اوت ۱۹۹۱ برای نخستینبار پروژه خود را بهصورت عمومی در گروه خبری مرتبط با MINIX معرفی کرد.
لینوس توروالدز چرا لینوکس را ساخت؟
لینوس توروالدز در ابتدا قصد نداشت یک سیستمعامل تجاری یا جهانی بسازد. او برای یادگیری بیشتر درباره کامپیوتر ۳۸۶ و ایجاد محیطی مناسب برای نیازهای شخصی خودش شروع به توسعه یک سیستمعامل کرد.
آیا لینوکس یک سیستمعامل است یا کرنل؟
از نظر فنی، Linux نام کرنل یا هسته سیستم است. سیستمهای کاملی که کاربران معمولاً آنها را «لینوکس» مینامند، علاوه بر کرنل شامل ابزارها، کتابخانهها و نرمافزارهای مختلف هستند.
GNU چه ارتباطی با لینوکس دارد؟
پروژه GNU پیش از ظهور لینوکس بسیاری از اجزای مورد نیاز یک سیستمعامل آزاد را توسعه داده بود. پس از توسعه کرنل لینوکس، این دو مجموعه در کنار یکدیگر پایه سیستمهای GNU/Linux را شکل دادند.
چرا لینوکس محبوب شد؟
متنباز بودن، امکان مشارکت جامعه، انعطافپذیری، پشتیبانی از سختافزارهای متنوع و استفاده گسترده در سرورها و زیرساختهای فناوری از عوامل مهم موفقیت لینوکس هستند.
آیا اندروید از لینوکس استفاده میکند؟
بله. Android از کرنل Linux استفاده میکند، اما Android یک سیستمعامل مستقل با اجزای اختصاصی خود است و نباید آن را با توزیعهای معمول لینوکس یکسان دانست.
منظور از GNU/Linux چیست؟
GNU/Linux به سیستمی اشاره میکند که کرنل Linux در کنار اجزای سیستم GNU و سایر نرمافزارها مورد استفاده قرار میگیرد. پروژه GNU برای اشاره دقیقتر به کل این سیستم از عبارت GNU/Linux استفاده میکند.
آیا واقعاً لینوکس در ابتدا فقط یک سرگرمی بود؟
بله. لینوس توروالدز در معرفی اولیه پروژه در سال ۱۹۹۱ آن را پروژهای شخصی و سرگرمی توصیف کرده بود. چیزی که آن زمان یک پروژه کوچک به نظر میرسید، در دهههای بعد به یکی از مهمترین پروژههای متنباز تبدیل شد.
جمعبندی؛ سیستمی که قرار نبود بزرگ شود
۳۵ سال پیش، لینوس توروالدز نمیدانست کدی که برای نیازهای شخصی خودش مینویسد، روزی به یکی از مهمترین پروژههای تاریخ فناوری تبدیل خواهد شد.
او یک پروژه کوچک را آغاز کرد؛ جامعه توسعهدهندگان آن را گسترش داد؛ GNU ابزارهای مهمی در اختیار آن قرار داد؛ GPL امکان توسعه آزاد آن را تقویت کرد و در نهایت لینوکس از یک پروژه دانشجویی به یکی از پایههای مهم دنیای دیجیتال تبدیل شد.
داستان لینوکس شاید بیش از هر چیز یک درس مهم برای دنیای فناوری داشته باشد:
گاهی بزرگترین انقلابها از کوچکترین پروژهها شروع میشوند.
و شاید اگر امروز بخواهیم جمله معروف لینوس توروالدز را از نگاه ۳۵ سال بعد بخوانیم، جذابترین بخش داستان همین باشد:
قرار نبود بزرگ و حرفهای شود؛ اما شد.
دیدگاه خود را ثبت کنید...
آدرس ایمیل شما با توجه به قوانین حریم خصوصی منتشر نمی شود.