سال 1971، سیستمعامل یونیکس (Unix) توسط تعدادی از مهندسان «شرکت تلفن و تلگراف آمریکا» (AT&T Corp) توسعه پیدا کرد. سیستمعامل Unix که هر ساله پیشرفته تر میشد، چندان ارزان نبود و همه توانایی استفاده از آن را نداشتند. Dos همچنان حاکم امپراطوری سیستمهای کامپیوتری شخصی بود؛ سیستم عاملی که بیل گیتس (Bill Gates) آن را از یک هکر اهل سیاتل با قیمت 50.000 دلار خریداری کرده و با استفاده از یک روش تبلیغاتی هوشمندانه آن را به گوشه گوشه جهان نفوذ داده بود و مشتریان رایانه شخصی انتخاب دیگری نداشتند.
سیستم عامل Mac گزینه بهتری بود، اما قیمت نجومی آن باعث میشد تا اغلب افراد امکان خرید آن را نداشته باشند. Unix گزینه جایگزین خوبی بود، اما قیمت بسیار بالایی داشت. عرضهکنندگان Unix به دنبال سود بیشتر بودند و قیمت گذاری آنها بسیاری از مشتریان رایانه های شخصی را از خرید باز میداشت. کد منبع یونیکس نیز که به لطف آزمایشگاههای بِل در دانشگاه ها تدریس میشد، دیگر به صورت عمومی منتشر نشد. بازیگران بزرگِ بازار نرم افزار نیز هیچ راه حلی برای رفع ناکامی کاربران رایانههای شخصی در سراسر جهان ارائه ندادند.
در سال 1984 میلادی، «ریچارد استالمن» (Richard Stallman) که رئیس بنیاد نرم افزارهای آزاد (open source) بود، پروژهی «گنو» (GNU) را آغاز کرد. در این پروژه که یک جنبش نرم افزاری محسوب میشد، برنامهنویسان با یکدیگر همکاری میکردند. برنامهنویسان سراسر دنیا توسط پروژه گنویِ (GNU) ریچارد استالمن (Richard Stallman)، به ارائه نرمافزارهای آزاد و با کیفیت ترغیب شده بودند. استالمن در قلمرو کامپیوتر یک قهرمان به شمار میرفت. او کارش را در یک آزمایشگاه هوش مصنوعی معروف در MIT آغاز کرد و در اواسط و اواخر دهه 1970 ویرایشگر Emacs را اختراع نمود.
از نظر ریچارد استالمن نرم افزار نباید مثل سایر محصولات باشد، بلکه باید بدون هیچ گونه قوانین کپی یا اصلاح باشد تا نرم افزارها بتوانند ارتقا پیدا کرده و رشد کنند.
او همزمان با معرفی GNU در سال 1983، اعلام کرد که این پروژه در جهت ایجاد و توسعه نرم افزاری است که در راستای دنبال کردن فلسفه و عقیده ی شخصی خودش است. با این حال، برای دستیابی به این رویا در بلند مدت، او باید ابتدا ابزارهای آن را میساخت. بنابراین، Stallman در سال 1984 شروع به نوشتن کامپایلر گنو (GCC) کرد و این کار برای یک برنامه نویس مستقل حکم یک شاهکار را داشت. او با استعداد جادویی خود، با ایجاد GCC (یکی از قدرتمندترین کامپایلرهای ابداع شده تا آن زمان) از تمام برنامهنویسان در شرکتهای تجاری/نرمافزاری سبقت گرفت.
Richard Stallman، پدر گنو، تا سال 1991 ابزارهای زیادی را خلق کرد. GCC در آن زمان در دسترس کاربران قرار گرفت، اما هنوز هیچ سیستم عامل آزادی وجود نداشت. و این ابزارها تولید شده همگی برای اجرا، نیازمند یک هستهی مناسب و آزاد به عنوان سیستمعامل بودند؛ هستهای که توسعهی آن به این زودیها امکانپذیر نبود.
به نظر میرسید سیستم عامل Minix تا حدی میتواند مشکل را حل کند. این سیستم عامل از پایه توسط اندرواس تاننباوم (Andrew S.Tanenbaum)، یک پروفسور آمریکایی/هلندی، نوشته شده بود که میخواست عملکرد درونی یک سیستم واقعی را به دانشجویان خود بیاموزد.
Minix برای راهاندازی ریز پردازنده های Intel 8086 که در بازار سرو صدایی به پا کرده بود، طراحی شد. این سیستم عامل بهترین نبود، اما مزیت آن این بود که کد عرضه آن در دسترس عموم قرار داشت. همه کسانی که کتاب تاننباوم به نام «Operating Systems: Design and Implementation» را خوانده بودند، 12000 خط کد نوشته شده به زبان Assembly و C را در اختیار داشتند. در زمانی که توسعه دهندگان نرم افزار از سورسکدها به شدت محافظت میکردند، برای اولین بار یک برنامهنویس یا هکر مشتاق میتوانست سورس کد یک سیستم در حال اجرا را بررسی کند.
تاننباوم نویسنده بسیار خوبی بود و با بحثی جذاب در باب «هنر ساخت یک سیستم عامل عملیاتی» نظر متخصصان شناخته شده در حوزه علوم کامپیوتر را به خود جلب کرد.
دانشجویان کالج تکنولوژی در سراسر دنیا، به مطالعه کتابها و کدهای او پرداختند تا متوجه شوند که دقیقاً چه چیزی رایانهها را هدایت میکند. یکی از این دانشجویان لینوس توروالدز (Linus Torvalds) بود.
در سال 1991، «لینوس توروالدز» (Linus Torvalds) دانشجوی 21 ساله ی فنلاندی، سال دوم رشته علوم کامپیوتر در دانشگاه هلسینکی و یک هکر خود آموخته بود. او در ابتدای این سال، یک کامپیوتر IBM خرید که با سیستمعامل MS-DOS کار میکرد. او که از این سیستم عامل راضی نبود، علاقه داشت از یونیکس استفاده کند. ولی میدانست که ارزانترین نوع سیستم عامل یونیکس، 5 هزار دلار قیمت دارد. به همین خاطر و به دلیل عملکرد ضعیف پروژهی گنو در زمینهی توسعهی هستهی سیستم عامل آزاد، لینوس تصمیم گرفت که خودش دست به کار شود.
در 25 آگوست همان سال، «لینوس» متنی را به گروه خبری comp.os.minix مبنی بر توسعهی هستهی یک سیستمعامل جدید میفرستد و از برنامهنویسان میخواهد که در این مسیر به او کمک کنند :
متن نامه به شرح زیر بود :
من در حال کار بر روی یک سیستمعامل آزاد هستم (به عنوان سرگرمی است و قرار نیست سیستمی عظیم و حرفهای مثل GNU باشد) که میتوان از آن برای کلونهای 386 و 486 AT استفاده کرد. این کار از ماه آوریل آغاز شده و تقریباً در حال آماده شدن است. دوست دارم هر بازخورد و نظر خوب یا بدی که افراد درباره Minix دارند را دریافت کنم، چون سیستمعامل من هم تا حدودی به Minix شباهت دارد؛ از جمله طرحبندی سیستم فایل (به دلایل کاربردی) و موارد دیگر. در حال حاضر، توانستهام bash نسخه 1.08 و GCC نسخه 1.40 را منتقل کنم و به نظر میرسد همه چیز خوب کار میکند. این یعنی من قرار است در چند ماه آینده یک چیز کاربردی داشته باشم و دوست دارم بدانم مردم چه فیچرهایی را بیشتر میپسندند. از همه پیشنهادات استقبال میکنم، ولی قول نمیدهم که همه آنها را اجرا کنم.
لینوس (trovalds@kruuna.helsinki.fi)
خیلی زود، Linus Torvalds با مخالفتهایی از جانب Andrew S.Tanenbaum، استاد فوق العادهای که Minix را نوشته بود، روبه رو شد. تاننباوم در یک پست خطاب به لینوس نوشت :
من بر این نکته پافشاری میکنم که طراحی یک هسته یکپارچه در سال 1991 یک اشتباه اساسی بود. خدا را شکر که شما دانشجوی من نیستید وگرنه برای چنین طرحی نمره بالایی نمیگرفتید.
اندرو تاننباوم به لینوس توروالدز
تاننباوم قطعاً یک پروفسور معروف بود و هر چیزی که میگفت اهمیت زیادی داشت. با این حال، او در مورد Linux اشتباه میکرد. لینوس سر سخت تر از آن بود که شکست را بپذیرد. تاننباوم همچنین اظهار داشت که : «Linux منسوخ شده است». این بیانیه تلنگری شد که نسل جدیدی از Linux تولید شود و لینوس توروالدز با پشتیبانی جامعه قدرتمند Linux، به تاننباوم اینطور پاسخ داد :
کار شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی آسیبهای ذهنی Minix است.
لینوس توروالدز به اندرو تاننباوم
اینگونه بود که او اولین نسخه از سیستم عامل لینوکس را سپتامبر همان سال (1991) منتشر کرد. دومین نسخهی آن به فاصلهی کمی در اکتبر همان سال منتشر شد.
تعداد طرفداران لینوکس به سرعت بیشتر شد. به تدریج صدها و هزاران نفر به آن پیوستند. از دید فنی، Linux تنها نامی است برای هستهی سیستم عامل و نه کل آن. دلیل این تعریفهای گوناگون از لینوکس، به دلیل ماهیت انعطافپذیر آن است. کمی بعد از عرضهی این سیستم عامل، Linus Torvalds تصمیم گرفت که به پروژهی GNU بپیوندد.
همچنین توصیه میشود مطالعه کنید :
فیلم داستان لینوکس (انقلاب سیستم عامل ها)
در نتیجه، همه ی برنامه نویسان به سورس کدها سیستم عامل دسترسی داشتند و میتوانستند آنها را تست کرده و تغییر دهند. به سرعت برنامه نویسان و دانشجویان به استفاده از آن روی آوردند. کمپانی های تجاری هم وارد این حیطه شدند. لینوکس خودش آزاد بود و هست و با قرار گرفتن تحت مجوز عمومی GNU، به سرعت توسعهی لینوکس افزوده شد و توزیعهای مختلفی ظاهر شدند. توزیعها مجموعهای از ابزارها هستند که برای رسیدن به اهدف مختلف در کنار هم قرار میگیرند و از هستهی لینوکس استفاده میکنند. به همین خاطر، لغت لینوکس را به سیستم عاملهایی اطلاق میکنند که از ترکیببندی لینوکس (به عنوان هسته سیستم عامل) با نرم افزارهای آزاد و متن باز به دست میآیند. درصورتی که بنیاد نرم افزارهای آزاد تاکید دارد که از چنین سیستمعامل هایی، با عنوان گنو/لینوکس (GNU/Linux) یاد شود. بعدها برنامهنویسان، سیستم توزیعِ داوطلبانه خود با نام Debian را ایجاد کردند.
ویدیو داستان انتخاب اسم GNU :
ویدیو داستان انتخاب اسم GNU :
سیستم عامل Mac گزینه بهتری بود، اما قیمت نجومی آن باعث میشد تا اغلب افراد امکان خرید آن را نداشته باشند. Unix گزینه جایگزین خوبی بود، اما قیمت بسیار بالایی داشت. عرضهکنندگان Unix به دنبال سود بیشتر بودند و قیمت گذاری آنها بسیاری از مشتریان رایانه های شخصی را از خرید باز میداشت. کد منبع یونیکس نیز که به لطف آزمایشگاههای بِل در دانشگاه ها تدریس میشد، دیگر به صورت عمومی منتشر نشد. بازیگران بزرگِ بازار نرم افزار نیز هیچ راه حلی برای رفع ناکامی کاربران رایانههای شخصی در سراسر جهان ارائه ندادند.
در سال 1984 میلادی، «ریچارد استالمن» (Richard Stallman) که رئیس بنیاد نرم افزارهای آزاد (open source) بود، پروژهی «گنو» (GNU) را آغاز کرد. در این پروژه که یک جنبش نرم افزاری محسوب میشد، برنامهنویسان با یکدیگر همکاری میکردند. برنامهنویسان سراسر دنیا توسط پروژه گنویِ (GNU) ریچارد استالمن (Richard Stallman)، به ارائه نرمافزارهای آزاد و با کیفیت ترغیب شده بودند. استالمن در قلمرو کامپیوتر یک قهرمان به شمار میرفت. او کارش را در یک آزمایشگاه هوش مصنوعی معروف در MIT آغاز کرد و در اواسط و اواخر دهه 1970 ویرایشگر Emacs را اختراع نمود.
از نظر ریچارد استالمن نرم افزار نباید مثل سایر محصولات باشد، بلکه باید بدون هیچ گونه قوانین کپی یا اصلاح باشد تا نرم افزارها بتوانند ارتقا پیدا کرده و رشد کنند.
او همزمان با معرفی GNU در سال 1983، اعلام کرد که این پروژه در جهت ایجاد و توسعه نرم افزاری است که در راستای دنبال کردن فلسفه و عقیده ی شخصی خودش است. با این حال، برای دستیابی به این رویا در بلند مدت، او باید ابتدا ابزارهای آن را میساخت. بنابراین، Stallman در سال 1984 شروع به نوشتن کامپایلر گنو (GCC) کرد و این کار برای یک برنامه نویس مستقل حکم یک شاهکار را داشت. او با استعداد جادویی خود، با ایجاد GCC (یکی از قدرتمندترین کامپایلرهای ابداع شده تا آن زمان) از تمام برنامهنویسان در شرکتهای تجاری/نرمافزاری سبقت گرفت.
Richard Stallman، پدر گنو، تا سال 1991 ابزارهای زیادی را خلق کرد. GCC در آن زمان در دسترس کاربران قرار گرفت، اما هنوز هیچ سیستم عامل آزادی وجود نداشت. و این ابزارها تولید شده همگی برای اجرا، نیازمند یک هستهی مناسب و آزاد به عنوان سیستمعامل بودند؛ هستهای که توسعهی آن به این زودیها امکانپذیر نبود.
به نظر میرسید سیستم عامل Minix تا حدی میتواند مشکل را حل کند. این سیستم عامل از پایه توسط اندرواس تاننباوم (Andrew S.Tanenbaum)، یک پروفسور آمریکایی/هلندی، نوشته شده بود که میخواست عملکرد درونی یک سیستم واقعی را به دانشجویان خود بیاموزد.
Minix برای راهاندازی ریز پردازنده های Intel 8086 که در بازار سرو صدایی به پا کرده بود، طراحی شد. این سیستم عامل بهترین نبود، اما مزیت آن این بود که کد عرضه آن در دسترس عموم قرار داشت. همه کسانی که کتاب تاننباوم به نام «Operating Systems: Design and Implementation» را خوانده بودند، 12000 خط کد نوشته شده به زبان Assembly و C را در اختیار داشتند. در زمانی که توسعه دهندگان نرم افزار از سورسکدها به شدت محافظت میکردند، برای اولین بار یک برنامهنویس یا هکر مشتاق میتوانست سورس کد یک سیستم در حال اجرا را بررسی کند.
تاننباوم نویسنده بسیار خوبی بود و با بحثی جذاب در باب «هنر ساخت یک سیستم عامل عملیاتی» نظر متخصصان شناخته شده در حوزه علوم کامپیوتر را به خود جلب کرد.
دانشجویان کالج تکنولوژی در سراسر دنیا، به مطالعه کتابها و کدهای او پرداختند تا متوجه شوند که دقیقاً چه چیزی رایانهها را هدایت میکند. یکی از این دانشجویان لینوس توروالدز (Linus Torvalds) بود.
در سال 1991، «لینوس توروالدز» (Linus Torvalds) دانشجوی 21 ساله ی فنلاندی، سال دوم رشته علوم کامپیوتر در دانشگاه هلسینکی و یک هکر خود آموخته بود. او در ابتدای این سال، یک کامپیوتر IBM خرید که با سیستمعامل MS-DOS کار میکرد. او که از این سیستم عامل راضی نبود، علاقه داشت از یونیکس استفاده کند. ولی میدانست که ارزانترین نوع سیستم عامل یونیکس، 5 هزار دلار قیمت دارد. به همین خاطر و به دلیل عملکرد ضعیف پروژهی گنو در زمینهی توسعهی هستهی سیستم عامل آزاد، لینوس تصمیم گرفت که خودش دست به کار شود.
در 25 آگوست همان سال، «لینوس» متنی را به گروه خبری comp.os.minix مبنی بر توسعهی هستهی یک سیستمعامل جدید میفرستد و از برنامهنویسان میخواهد که در این مسیر به او کمک کنند :
متن نامه به شرح زیر بود :
من در حال کار بر روی یک سیستمعامل آزاد هستم (به عنوان سرگرمی است و قرار نیست سیستمی عظیم و حرفهای مثل GNU باشد) که میتوان از آن برای کلونهای 386 و 486 AT استفاده کرد. این کار از ماه آوریل آغاز شده و تقریباً در حال آماده شدن است. دوست دارم هر بازخورد و نظر خوب یا بدی که افراد درباره Minix دارند را دریافت کنم، چون سیستمعامل من هم تا حدودی به Minix شباهت دارد؛ از جمله طرحبندی سیستم فایل (به دلایل کاربردی) و موارد دیگر. در حال حاضر، توانستهام bash نسخه 1.08 و GCC نسخه 1.40 را منتقل کنم و به نظر میرسد همه چیز خوب کار میکند. این یعنی من قرار است در چند ماه آینده یک چیز کاربردی داشته باشم و دوست دارم بدانم مردم چه فیچرهایی را بیشتر میپسندند. از همه پیشنهادات استقبال میکنم، ولی قول نمیدهم که همه آنها را اجرا کنم.
لینوس (trovalds@kruuna.helsinki.fi)
خیلی زود، Linus Torvalds با مخالفتهایی از جانب Andrew S.Tanenbaum، استاد فوق العادهای که Minix را نوشته بود، روبه رو شد. تاننباوم در یک پست خطاب به لینوس نوشت :
من بر این نکته پافشاری میکنم که طراحی یک هسته یکپارچه در سال 1991 یک اشتباه اساسی بود. خدا را شکر که شما دانشجوی من نیستید وگرنه برای چنین طرحی نمره بالایی نمیگرفتید.
اندرو تاننباوم به لینوس توروالدز
تاننباوم قطعاً یک پروفسور معروف بود و هر چیزی که میگفت اهمیت زیادی داشت. با این حال، او در مورد Linux اشتباه میکرد. لینوس سر سخت تر از آن بود که شکست را بپذیرد. تاننباوم همچنین اظهار داشت که : «Linux منسوخ شده است». این بیانیه تلنگری شد که نسل جدیدی از Linux تولید شود و لینوس توروالدز با پشتیبانی جامعه قدرتمند Linux، به تاننباوم اینطور پاسخ داد :
کار شما استاد دانشگاه و محقق بودن است و این بهانه خوبی برای برخی آسیبهای ذهنی Minix است.
لینوس توروالدز به اندرو تاننباوم
اینگونه بود که او اولین نسخه از سیستم عامل لینوکس را سپتامبر همان سال (1991) منتشر کرد. دومین نسخهی آن به فاصلهی کمی در اکتبر همان سال منتشر شد.
تعداد طرفداران لینوکس به سرعت بیشتر شد. به تدریج صدها و هزاران نفر به آن پیوستند. از دید فنی، Linux تنها نامی است برای هستهی سیستم عامل و نه کل آن. دلیل این تعریفهای گوناگون از لینوکس، به دلیل ماهیت انعطافپذیر آن است. کمی بعد از عرضهی این سیستم عامل، Linus Torvalds تصمیم گرفت که به پروژهی GNU بپیوندد.
همچنین توصیه میشود مطالعه کنید :
فیلم داستان لینوکس (انقلاب سیستم عامل ها)
در نتیجه، همه ی برنامه نویسان به سورس کدها سیستم عامل دسترسی داشتند و میتوانستند آنها را تست کرده و تغییر دهند. به سرعت برنامه نویسان و دانشجویان به استفاده از آن روی آوردند. کمپانی های تجاری هم وارد این حیطه شدند. لینوکس خودش آزاد بود و هست و با قرار گرفتن تحت مجوز عمومی GNU، به سرعت توسعهی لینوکس افزوده شد و توزیعهای مختلفی ظاهر شدند. توزیعها مجموعهای از ابزارها هستند که برای رسیدن به اهدف مختلف در کنار هم قرار میگیرند و از هستهی لینوکس استفاده میکنند. به همین خاطر، لغت لینوکس را به سیستم عاملهایی اطلاق میکنند که از ترکیببندی لینوکس (به عنوان هسته سیستم عامل) با نرم افزارهای آزاد و متن باز به دست میآیند. درصورتی که بنیاد نرم افزارهای آزاد تاکید دارد که از چنین سیستمعامل هایی، با عنوان گنو/لینوکس (GNU/Linux) یاد شود. بعدها برنامهنویسان، سیستم توزیعِ داوطلبانه خود با نام Debian را ایجاد کردند.
ویدیو داستان انتخاب اسم GNU :
ویدیو داستان انتخاب اسم GNU :