خانه توسعهدهنده تکنولوژی لینوکس تاریخچه لینوکس
تاریخچه لینوکس
در سال ۱۹۹۱، مسیر جدیدی برای پیشرفت علوم کامپیوتر به وجود آمده بود، چراکه سختافزارهای قدرتمند، مرز رایانهها را به چیزی فراتر از تصور عموم هدایت کرده بودند. با وجود این، خلأ عدم وجود سیستمعاملها یک کمبود بزرگ در این زمینه محسوب میشد. Dos همچنان حاکم امپراطوری سیستمهای کامپیوتری شخصی بود؛ سیستمعاملی که بیل گیتس آن را از یک هکر اهل سیاتل با قیمت ۵۰٫۰۰۰ دلار خریداری کرده و با استفاده از یک روش تبلیغاتی هوشمندانه آن را به گوشهگوشه جهان نفوذ داده بود. مشتریان رایانه شخصی انتخاب دیگری نداشتند. Mac گزینه بهتری بود، اما قیمت نجومی آن باعث میشد تا اغلب افراد امکان خرید آن را نداشته باشند.
Unix نیز گزینه جایگزین خوبی بود، اما قیمت بسیار بالایی داشت. عرضهکنندگان Unix به دنبال سود بیشتر بودند و قیمتگذاری آنها بسیاری از مشتریان رایانههای شخصی را از خرید باز میداشت. کد منبع یونیکس نیز که به لطف آزمایشگاههای بِل در دانشگاهها تدریس میشد، دیگر به صورت عمومی منتشر نشد. بازیگران بزرگِ بازار نرمافزار نیز هیچ راهحلی برای رفع ناکامی کاربران رایانههای شخصی در سراسر جهان ارائه ندادند.
به نظر میرسید Minix تا حدی میتواند مشکل را حل کند. این سیستمعامل از پایه توسط اندرو اس. تاننباوم (Andrew S.Tanenbaum)، یک پروفسور آمریکایی-هلندی، نوشته شده بود که میخواست عملکرد درونی یک سیستم واقعی را به دانشجویان خود بیاموزد.
Minix برای راهاندازی ریزپردازندههای اینتل ۸۰۸۶ که در بازار سروصدایی به پا کرده بود، طراحی شد. این سیستمعامل بهترین نبود، اما مزیت آن این بود که کد عرضه آن در دسترس عموم قرار داشت. همه کسانی که کتاب تاننباوم به نام «Operating Systems: Design and Implementation» را خوانده بودند، ۱۲٫۰۰۰ خط کدِ نوشتهشده به زبان Assembly و C را در اختیار داشتند. در زمانی که توسعهدهندگان نرمافزار از سورسکدها به شدت محافظت میکردند، برای اولین بار یک برنامهنویس یا هکرِ مشتاق میتوانست سورسکد یک سیستم در حال اجرا را بررسی کند.
ممکن است علاقهمند باشید: تاریخچه پیدایش لاراول
تاننباوم نویسنده بسیار خوبی بود و با بحثی جذاب در باب «هنر ساخت یک سیستمعامل عملیاتی» نظر متخصصان شناختهشده در حوزه علوم کامپیوتر را به خود جلب کرد. دانشجویان کالج تکنولوژی در سراسر دنیا، به مطالعه کتاب و کدهای او پرداختند تا متوجه شوند که دقیقاً چه چیزی رایانهها را هدایت میکند. یکی از این دانشجویان لینوس توروالدز (Linus Torvalds) بود.
در سال ۱۹۹۱، لینوس دانشآموخته سال دوم رشته علوم کامپیوتر در دانشگاه هلسینکی و یک هکر خودآموخته بود. این جوان فنلاندی ۲۱ساله و خوشزبان علاقه زیادی به سیستم کامپیوترها و برداشتن محدودیتهای سیستمهای کامپیوتری داشت. یکی از این محدودیتها کمبود سیستمعاملی بود که میتوانست خواستههای متخصصان را برآورده کند. Minix دقت بسیار بالایی داشت. با این حال، این سیستمعامل بهعنوان یک ابزار آموزشی برای دانشجویان طراحی شده بود و نه یک ابزار قدرتمند تجاری.
در آن زمان، برنامهنویسان در سراسر دنیا توسط پروژه گنویِ (GNU) ریچارد استالمن (Richard Stallman)، به ارائه نرمافزارهای آزاد و باکیفیت ترغیب شده بودند. استالمن در قلمرو کامپیوتر یک قهرمان به شمار میرفت. او کارش را در یک آزمایشگاه هوش مصنوعی معروف در MIT آغاز و در اواسط و اواخر دهه ۱۹۷۰ ویرایشگر Emacs را ابداع کرد.
در اوایل دهه هشتاد، شرکتهای نرمافزاری تجاری، بسیاری از برنامهنویسان بزرگ آزمایشگاه هوش مصنوعی را فریب دادند و به بهانهی محافظت از تکنیک و اسرار آنها توافقنامههای سختگیرانهای را با آنها امضا کردند. اما استالمن توانایی تخیل و دوراندیشی خوبی داشت. از نظر او نرمافزار نباید مثل سایر محصولات باشد، بلکه باید عاری از قوانین کپی یا اصلاح باشد تا اپلیکیشنهای کامپیوتری بتوانند ارتقا پیدا کرده و رشد کنند.
او همزمان با معرفی گنو در سال ۱۹۸۳، اعلام کرد که این پروژه در راستای ایجاد و توسعه نرمافزاری است که فلسفه او را دنبال میکند. با این حال، برای دستیابی به این رویا در بلندمدت، او باید ابتدا ابزارهای آن را میساخت. بنابراین، استالمن در سال ۱۹۸۴ شروع به نوشتن کامپایلر گنو (GCC) کرد و این برای یک برنامهنویس مستقل حکم یک شاهکار را داشت. او با استعداد جادویی خود، با ساخت GCC که یکی از قدرتمندترین کامپایلرهای ابداع شده تا آن زمان بود، از تمام برنامهنویسان در شرکتهای تجاری نرمافزار پیشی گرفت.
ریچارد استالمن، پدر گنو، تا سال ۱۹۹۱ ابزارهای زیادی را خلق کرد. GCC در آن زمان در دسترس کاربران قرار گرفت، اما هنوز هیچ سیستمعامل آزادی وجود نداشت. حتی Minix هم قرار بود لایسنس شود (بعدها در آوریل سال ۲۰۰۰، تاننباوم، Minix را تحت لایسنس BSD عرضه کرد). کار بر روی هستهی گنو (HURD) ادامه داشت، با این حال، انتظار نمیرفت که نتیجه ظرف چند سال آینده منتشر شود.
بالاخره در ۲۵ آگوستِ سال ۱۹۹۱، این پست تاریخی از طرف لینوس به گروه خبری Minix ارسال شد:
من در حال کار بر روی یک سیستمعامل آزاد هستم (به عنوان سرگرمی است و قرار نیست سیستمی عظیم و حرفهای مثل گنو باشد) که میتوان از آن برای کلونهای 386 و 486 AT استفاده کرد. این کار از ماه آوریل آغاز شده و تقریباً در حال آماده شدن است. دوست دارم هر بازخورد و نظر خوب یا بدی که افراد درباره Minix دارند را دریافت کنم، چون سیستمعامل من هم تا حدودی به Minix شباهت دارد؛ از جمله طرحبندی سیستم فایل (به دلایل کاربردی) و موارد دیگر. در حال حاضر، توانستهام bash نسخه 1.08 و GCC نسخه 1.40 را منتقل کنم و به نظر میرسد همهچیز خوب کار میکند. این یعنی من قرار است در چند ماه آینده یک چیز کاربردی داشته باشم و دوست دارم بدانم مردم چه فیچرهایی را بیشتر میپسندند. از همه پیشنهادات استقبال میکنم، ولی قول نمیدهم که همه آنها را اجرا کنم.
لینوس (trovalds@kruuna.helsinki.fi)
همانطور که در این پست مشخص است، خود لینوس هم فکرش را نمیکرد که چیزی که ساخته است، قرار است آنقدر بزرگ شود که دنیای کامپیوتر را برای همیشه تغییر دهد. نسخه 0.01 لینوکس در اواسط ماه سپتامبر سال ۱۹۹۱ منتشر شد و بر روی اینترنت قرار گرفت. ساخته لینوس با استقبال پرشوری مواجه شد. کدها دانلود، تست و بهینهسازی شده و دوباره به لینوس بازگردانده شدند.
خیلی زود، لینوس با مخالفتهایی از جانب اندرو تاننباوم، استاد فوقالعادهای که Minix را نوشته بود، روبهرو شد. تاننباوم در یک پست خطاب به لینوس نوشت:
من بر این نکته پافشاری میکنم که طراحی یک هسته یکپارچه در سال ۱۹۹۱ یک اشتباه اساسی بود. خدا را شکر که شما دانشجوی من نیستید وگرنه برای چنین طرحی نمره بالایی نمیگرفتید.
اندرو تاننباوم به لینوس توروالدز
تاننباوم قطعاً یک پروفسور معروف بود و هر چیزی که میگفت اهمیت زیادی داشت. با این حال، او در مورد Linux اشتباه میکرد. لینوس سرسختتر از آن بود که شکست را بپذیرد. تاننباوم همچنین اظهار داشت که: «Linux منسوخ شده است». این بیانیه تلنگری شد برای تولید نسل جدیدی از Linux. لینوس با پشتیبانی جامعه قدرتمند Linux، به تاننباوم اینطور پاسخ داد:
کار شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی آسیبهای ذهنی Minix است.
لینوس توروالدز به اندرو تاننباوم
تعداد طرفداران لینوکس به سرعت بیشتر شد. به تدریج صدها و هزاران نفر به آن پیوستند. لینوکس دیگر یک اسباببازی برای هکرها نبود و با پشتیبانی تعداد زیادی از برنامههای پروژهی گنو برای یک مسابقه واقعی آماده میشد.
بعدها Linux تحت مجوز عمومی گنو قرار گرفت. بنابراین همه به کدهای منبع دسترسی داشتند و میتوانستند آنها را تست کرده و تغییر دهند. بهسرعت برنامهنویسان و دانشجویان به استفاده از آن روی آوردند. کمپانیهای تجاری هم وارد این حیطه شدند. لینوکس خودش آزاد بود و هست. کاری که این شرکتها انجام دادند گردآوری نرمافزارهای متنوع و ارائه آنها در یک طرحبندی قابلتوزیع بود؛ درست مانند سایر سیستمعاملهایی که افراد عادی آشنایی بیشتری با آنها داشتند و راحتتر میتوانستند از آنها استفاده کنند. اگر چه این سرمایهگذاریها تجاری بودند، برنامهنویسان، سیستم توزیعِ داوطلبانه خود با نام Debian را ایجاد کردند.
ممکن است علاقهمند باشید: داستان آفرینش ویژوال بیسیک؛ زبانی که ساخت ویندوز را ممکن کرد
مشخصه درجه یک لینوکس افزایش مداوم افرادی است که با اشتیاق فراوان برای بهبود قابلیتهای لینوکس کار میکنند. اکنون محبوبیت لینوکس از تعدادی علاقهمند در سالهای ۱۹۹۱-۱۹۹۲ به میلیونها کاربر عمومی افزایش یافته است. سازمانهای بزرگی همچون IBM نیز به استفاده از لینوکس روی آوردهاند و برای توسعه آن صدها و هزاران دلار صرف میکنند. درنهایت بالاخره ثابت شد که نهتنها تلاش برای بهبود، آن طور که بسیاری از طرفداران متنبسته (closed source) ادعا میکنند با هرجومرج همراه نیست، بلکه ایده ضد کسبوکاری بودن عرضه آزاد Linux نیز توهمی بیش نبوده است.
اشتیاق بیحدوحصر لینوس توروالدز برای برداشتن محدودیتها نقطه شروع لینوکس شد. از آن زمان، صدها نفر از سراسر جهان آن را پرورش داده و به منطقه باشکوهش در تاریخ کامپیوتر رساندهاند. امروزه Linux فقط پروژه هکِ یک دانشجو نیست، بلکه به یک پدیده بینالمللی تبدیل شده است که شرکتهای بزرگی مثل IBM و هزاران هزار کاربر را در جنبش نرمافزار متنباز وارد کرده است. در تاریخ حوزه کامپیوتر، از این پروژه همواره به عنوان یکی از برجستهترین تلاشهای موفقیتآمیز بشر یاد خواهد شد.
بیشتر بخوانید: لینوکس یا ویندوز – بهترین سیستم عامل برای برنامه نویسی کدام است؟
منبع: