بیوگرافی لینوس توروالدز، خالق لینوکس و گیت

لینوس توروالدز (Linus Benedict Torvald) مهندس کامپیوتر فنلاندی-آمریکایی است. او خالق و توسعه‌دهنده‌ی کرنل لینوکس است. این کرنل به‌عنوان کرنل سیستم‌عامل‌های محبوب لینوکس، اندروید، کروم و بسیاری سیستم‌عامل‌های محبوب کنونی شناخته می‌شود. سیستم کنترل نسخه‌ی توزیع شده‌ی گیت نیز از دیگر اختراعات توروالدز است.

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

لینوس توروالدز را می‌توان موثررترین برنامه‌نویس دنیای کامپیوتر نامید. فردی که با توسعه‌ی کرنل رایگان و متن باز لینوکس، دنیای جدیدی را پیش روی مهندسین کامپیوتر قرار داد.

تولد و تحصیل

لینوس توروالدز در ۲۸ دسامبر سال ۱۹۶۹ در شهر هلسینکی، پایتخت و بزرگترین شهر فنلاند به دنیا آمد. نام او از لینوس پائولینگ، فیزیک-شیمی‌دان مشهور و برنده‌ی جایزه‌ی نوبل گرفته شده است. خانواده‌ی توروالدز جزء اقلیت سوئدی کشور فنلاند بودند.

خانواده‌ی ژورنالیت توروالدز از کودکی او راعاشق خواندن کردند

اکثر اعضای خانواده‌ی توروالدز، ژورنالیست بودند. والدینش، نیلز و آنا توروالدز، هردو اعضای گروه رادیکال دانشگاه هلسینکی در دهه‌ی ۱۹۷۰ بودند. پدرش کمونیست بود و سال‌ها برای تحصیل در مسکو زندگی کرد و سپس به‌عنوان ژورنالیست رادیویی مشغول به کار شد. مادر لینوس در یک روزنامه‌ی فنلاندی به‌عنوان مترجم و گرافیست خبری کار می‌کرد. پدربزرگ او نیز سردبیر یک روزنامه‌ی فنلاندی و عمویش در تلویزیون فنلاند مشغول به کار بود.

لینوس توروالدز

توروالدز در سال‌های نوجوانی

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

مقاله‌های مرتبط:

پدربزرگ مادری لینوس، لئو تورنگویست پروفسور آمار دانشگاه هلسینکی بود و تاثیر زیادی روی لینوس جوان داشت. لئو در میانه‌ی دهه‌ی ۱۹۸۰ یکی از اولین کامپیوترهای شخصی جهان با نام Commodore Vic را خریداری کرد. توروالدز به سرعت به این دستگاه جدید علاقه‌مند شد اما با همان سرعت، از تعداد کم نرم‌افزارهای آن دلسرد شد.

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

لینوس توروالدز در سال ۱۹۸۷ اولین کامپیوتر خود را با پس‌اندازش خریداری کرد. این کامپیوتر، Sinclair QL نام داشت و جزء اولین کامپیوترهای خانگی ۳۲ بیتی بود. این کامپیوتر شخصی به پردازنده‌ی ۷.۵ مگاهرتزی موتورولا و ۱۲۸ کیلوبایت حافظه‌ی رم مجهز بود که نسبت به کومودور پدربزرگ، پیشرفت بزرگی برای لینوس بود. البته لینوس به‌سرعت از این کامپیوتر ناامید شد چرا که سیستم‌عامل آن روی حافظه‌ی رام کار می‌کرد و قابلیت برنامه‌نویسی نداشت.

لینوس در سال ۱۹۸۸ راه والدینش را در پیش گرفت و برای ادامه‌ی تحصیل به دانشگاه هلسینکی رفت. او در آن زمان در برنامه‌نویسی و علوم کامپیوتر حرفه‌ای شده بود. لینوس در سال ۱۹۹۰ در دوره‌های آموزشی زبان برنامه‌نویسی C شرکت کرد که همین آموزش‌ها، پایه‌گذار توسعه‌ی لینوکس توسط او شدند.

توروالدز در میان سال‌های تحصیل مجبور شد که یازده ماه به‌عنوان نیروی ارتش فنلاند خدمت کند. این دوره‌ی اجباری وقفه‌ای تقریبا یک ساله در تحقیقات او ایجاد کرد. او در دوران خدمت به درجه‌ی ستوان دوم رسید. در سال ۱۹۹۰، توروالدز به دانشگاه بازگشت تا تحصیلاتش را ادامه دهد و در آن زمان با سیستم‌عامل یونیکس آشنا شد.

یونیکس

محیط یکی از اولین نسخه‌های سیستم‌عامل یونیکس

تولد لینوکس

لینوس در سال ۱۹۹۱ یک کامپیوتر شخصی IBM با پردازنده‌ی ۳۳ مگاهرتزی اینتل ۳۸۶ و ۴ مگابایت رم خریداری کرد. او از خرید خود بسیار راضی بود چرا که پردازنده‌ی کامپیوتر جدید، پیشرفت‌های قابل توجهی نسبت به کامپیوترهای قبلی او داشت. البته سیستم‌عامل این کامپیوتر نیز لینوس را راضی نکرد. کامپیوتر او مجهز به MS-DOS بود که قابلیت‌ها کافی برای استفاده از امکانات پردازنده‌ی اینتل ۳۸۶ را نداشت. ضغف داس و تمایل لینوس برای توسعه‌ی سیستم‌ها، او را به سیسم‌عامل قدرتمندتر یعنی یونیکس علاقه‌‌مند کرد.

محدودیت‌های MS-DOS و قیمت بالای یونیکس، توروالدز را تشویق به توسعه‌ی سیستم‌عامل جدید کرد

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

به‌هرحال مینیکس قابلیت‌های بیشتری نسبت به داس داشت و به‌نحوی بهتر با پردازنده‌های x86 اینتل کار می‌کرد. البته این سیستم‌عامل نیز محدودیت‌های خاص خود را داشت. تمامی کدهای این سیستم‌عامل به صورت عمومی در دسترس نبودند، بعلاوه برخی قابلیت‌های اصلی یونیکس در آن تعبیه نشده بود و از همه مهم‌تر، قیمت مجوز آن نیز بالا بود.

مقاله‌های مرتبط:

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

در تاریخ ۲۵ آگوست سال ۱۹۹۱، توروالدز تصمیمش برای توسعه‌ی سیستم‌عامل متن باز و رایگان را علنی کرد. این خبر به‌صورت اعلامیه‌ای در گروه خبری مینیکس منتشر شد و به‌عنوان یکی از باارزش‌ترین اسناد تاریخ دنیای کامپیوتر شناخته می‌شود. در متن این اعلامیه آمده است:

سلام به تمام کابران مینیکس

من در حال توسعه‌ی یک سیستم‌عامل رایگان (به‌صورت تفریحی) هستم. این سیستم‌عامل برای پردازنده‌های ۳۸۶ بهینه‌سازی شده است. فعالیت من روی این سیستم‌عامل از ماه آوریل آغاز شده  وبه‌زودی اولین نسخه عرضه خواهد شد. من از هر بازخوردی در ارتباط با نقاط قوت و ضعف مینیکس که سیستم‌عامل من شبیه به آن است استقبال می‌کنم.

در حال حاضر بش نسخه‌ی ۱.۰۸ و gcc نسخه‌ی ۱.۴۰ را روی سیستم‌عامل خودم پورت کرده‌ام و به نظر می‌رسد همه‌چیز به خوبی عمل می‌کند. احتمالا تا چند ماه دیگر به نتیجه‌ی نهایی خواهم رسید. من از هرگونه نظر و پیشنهادی استقبال می‌کنم اما تضمینی به اجرای همه‌ی نظرات ندارم 🙂

لینوس توروالدز

ftp

صفحه کنونی ftp تاریخی که اولین نسخه‌ی لینوکس در آن قرار گرفت

در ۱۷ سپتامبر همان سال، پس از تلاش‌های مستمر، نسخه‌ی اولیه و خام ۰.۰۱ سیستم‌عامل لینوس آماده شد. اولین نسخه‌ی رسمی ۰.۰۲ نیز پنجم اکتبر معرفی شد که قابلیت اجرای Bash و GCC را داشت. آماده شدن این نسخه‌ها باعث شد تا لینوس اعلامیه‌ای جهت شروع پروژه‌ی مشترک منتشر کند که امروز به‌عنوان بزرگترین پروژه‌ی اشتراکی جهان شناخته می‌شود. در متن این اعلامیه آمده است:

آیا حسرت روزهای اوج مینیکس با نسخه‌ی ۱.۱ را می‌خورید. حسرت زمانی که هر فردی می‌توانست درایور مخصوص خود را توسعه دهد؟ آیا بدون پروژه مانده‌اید و با تمام وجود منتظر سیستم‌عاملی با قابلیت شخصی‌سازی هستید؟ آیا از این که همه چیز تنها در مینیکس اجرا می‌شود خسته شده‌اید؟ در این صورت این اعلامیه بهترین گزینه برای شما است:-)

همان‌طور که مدتی پیش اعلام کردم، من در حال توسعه‌ی سیستم‌عاملی رایگان و شبیه به مینیکس هستم که برای پردازنده‌های AT-386 بهینه شده است. بالاخره این سیستم‌عامل به مرحله‌ی اجرا رسید. من قصد دارم که سورس کد این پروژه را برای توسعه‌ی گسترده‌تر منتشر کنم. در حال حاضر سیستم‌عامل در نسخه‌ی ۰.۰۲ قرار دارد اما به راحتی توانسته نرم‌افزارهای bash، gcc، gnu-make و gnu-sed و compress را اجرا کند.

سورس کد پروژه‌ی شخصی من در آدرس nic.funet.fi یا (۱۲۸.۲۱۴.۶.۱۰۰) و در شاخه‌ی /pub/OS/Linux قابل دسترسی است. در این شاخه فایل README نیز به همراه تعدادی فایل باینری برای اجرا در لینوکس وجود دارد. سورس کد تمام کرنل در دسترس عموم قرار دارد چرا که از هیچ کد مینیکسی در آن استفاده نشده است. البته منابع کتابخانه‌ای به‌طور کامل رایگان نیستند و نمی‌توان در حال حاضر آنها را گسترش داد. به‌هرحال این سیستم تا کنون به خوبی کار کرده است.

اری لمکی، دوست توروالدز به او پیشنهاد داد که کد پروژه را در شبکه‌ای منتشر کند تا این منابع برای استفاده‌ و مطالعه‌ی دیگر برنامه‌نویسان در دسترس باشد. لمکی خود توسعه‌دهنده‌ی سرویس FTP بانام ftp.funet.fi بود که پروژه‌ی لینوس را روی سرویس خود منتشر کرده بود.

توروالدز نام Freax را برای سیستم‌عامل خود انتخاب کرده بود

لینوس ابتدا تصمیم گرفت تا نام لینوکس (ترکیبی از لینوس و مینیکس) را برای پروژه‌اش انتخاب کند اما پس از مدتی این نام را خودپسندانه دانست و تصمیم گرفت تا از نام Freax برای سیستم‌عاملش استفاده کند. کلمه‌ای که از ترکیب Free، Freak و Minix تشکیل شده بود. در نهایت لمکی پروژه را طبق نام اولیه و با اسم لینوکس بارگذاری کرد و از آنجا، نام لینوکس برای این سیستم‌عامل استفاده شد.

لینوس توروالدز

توروالدز با لپتاپ و کامپیوتری قدیمی در حال اجرای لینوکس

یکی از تصمیمات مهم توروالدز در ابتدای معرفی لینوکس، عرضه‌ی آن تحت مجوز GPL بود. خود او نیز این تصمیم را مهم‌ترین تصمیم زندگی‌اش می‌داند. مجوز General public license توسط ریچارد استالمن، حامی نرم‌افزار آزاد تدوین شده و به هر کسی اجازه‌ی مطالعه، استفاده، ایجاد تغییرات و بازتوزیع نرم‌افزار مورد نظر را می‌دهد. تنها وظیفه‌ی شخص دوم، آزاد گذاشتن کد‌های نرم‌افزاری است که با استفاده از کد اصلی توسعه داده است.

انتشار لینوکس تحت مجوز نرم‌افزار آزاد، بسیاری از مهندسین برنامه‌نویس در سرتاسر جهان را تشویق کرد که در توسعه‌ی سیستم‌عامل تازه متولد شده‌ی توروالدز به او کمک کنند. در نتیجه رشد و بهبود لینوکس با سرعت بالایی ادامه یافت.

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

لینوکس اوج می‌گیرد

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

gpl

لوگوی GPL، مجوز انتشار لینوکس

یکی از تکالیف توروالدز در کلاس‌های مقدماتی کامپیوتردر سال ۱۹۹۳، ارسال ایمیل به استاد بود. یکی از دانشجویان توروالدز به نام Tove Monni که قهرمان کاراته بود، در ایمیل تکلیفی به‌نوعی از او خواستگاری کرد. این خواستگاری منجر به ازدواج شد و سه سال بعد، اولین فرزند این زوج به دنیا آمد.

ریچارد استالمن معتقد بود که این سیستم‌عامل باید گنو لینوکس نام بگیرد

اگرچه تولد فرزند تمرکز توروالدز را تاحدودی از توسعه‌ی سیستم‌عامل پرت کرده بود اما او توانست در دسامبر سال ۱۹۹۶ نسخه‌ی ۲.۰ لینوکس را عرضه کند. این نسخه بهبودهای زیادی داشت و مهم‌ترین آنها، قابلیت اجرا روی انواع پردازنده‌ها بود. پیشرفت لینوکس در ماه‌های بعد به قدری سریع بود که در سال ۱۹۹۷، نصب سه میلیون نسخه از آن در جهان تخمین زده شد. دو سال بعد این آمار به هفت میلیون رسید.

لینوس توروالدز

مسیر پیشرفت توروالدز و لینوکس خالی از چالش و انتقاد نبوده است. حتی در داخل اکوسیستم نرم‌افزارهای آزاد نیز انتقاداتی به روند فعالیت توروالدز وارد می‌شد. به‌عنوان مثال، پروفسور تاننبام از عدم استفاده از میکروکرنل‌ها در لینوکس ناراضی بود و در سال ۱۹۹۲ مقاله‌ای تند با عنوان «لینوکس منسوخ شده است» منتشر کرد.

علاوه بر تاننبام، استالمن نیز اعتقاد داشت که ن