
زندگینامهی لینوس توروالدز

«عواملی که باعث میشوند شما کارهایی را انجام دهید که یک موجود زنده میکند: اولی بقاست، دومی نظم اجتماعی و سومی تفریح.»
لینوس بندیکت توروالدز (Linus Benedict Torvalds)، با همین جمله کتاب زندگینامهاش را آغاز میکند. لینوس، یکی از بزرگترین شخصیتهای دنیای فناوری اطلاعات و نرمافزارهای آزاد و متنباز، در تاریخ ۲۸ دسامبر ۱۹۶۹ در هلسینکی (پایتخت فنلاند)، متولد شد. او در خانوادهای با علاقه و توجه ویژه به حوزه ژورنالیسم و رسانهها پرورش یافت. در حالی که دیگر کودکان شهر هلسینکی وقت خود را با اسکی یا هاکی همراه با خانواده یا دوستان خود میگذراندند، لینوس با کنجکاوی زیاد در دنیای کامپیوترها، تمام تلاش خود را به کار گرفت تا بفهمد آنها چگونه عمل میکنند. به عنوان مثال، با استفاده از کدهای مورس (Morse code) و تبدیل آنها به زبان ماشین (Machine Language)، خودش را سرگرم میکرد و زندگیش کاملاً مشغول به صفر و یکهای دنیای کامپیوتر بود. در این دوران، لینوس حدود ۱۲ یا شاید ۱۳-۱۴ سال داشت و همچنان به کاوش های جدید در دنیای کامپیوتر ادامه میداد.
مرد ریاضی
لینوس دوره دبیرستان خود را در مدرسه نورسن گذراند. این مدرسه بین پنج دبیرستان سوئدی زبان در شهر هلسینکی واقع بود و در آن زمان به عنوان مرکزیت آموزشی شناخته میشد. علاقه زیادی به درسهای ریاضی و فیزیک داشت. او به قدری علاقهمند به این دروس بود که در مدرسه به عنوان «مرد ریاضی» شناخته میشد. لینوس در سال ۱۹۸۸، تحصیلات دانشگاهی خود را در دانشگاه هلسینکی (University of Helsinki) آغاز کرد. این دانشگاه در آن زمان یکی از برجستهترین دانشگاههای فنلاند در زمینه علوم کامپیوتر بود. از قول خودش، اولین سال از دوره هفتساله لیسانس برای او بسیار پر حاصل بود. کتابها و قطعات کامپیوتری به عنوان عناصر کلیدی تحصیلی و خلاقیت او به کار میرفتند. از مطالعه کتابهای فیزیک گرفته تا توسعه برنامههای بازی جدید و حتی سفر به دنیای سهگانه علمی-تخیلی کتابهای داگلاس آدامز (Douglas Adams)، او به خودآموزی و تجربه گسترده در عرصه علوم کامپیوتر و فیزیک مشغول بود.
خیلی از ما تاریخ را با شغلها، مکانهای زندگی، و یا خاطراتی که ساختهایم به یاد میآوریم. برای لینوس، سالهای زندگی او با کامپیوترها به یاد ماندنی است. در دوران نوجوانی او، هنوز کامپیوترهای شخصی به میزان گستردهتری وجود نداشتند. اما لینوس یک کامپیوتر خانگی که از پدربزرگش به ارث برده بود داشت. این کامپیوتر، مشابه دیگر کامپیوترهای آن دوران، با استفاده از زبان اسمبلی (Assembly language) برنامهنویسی میشد. لینوس هزینهی کامپیوتر دوم خود را با پسانداز پول از کریسمس، هدیه تولد و همچنین به عنوان تمیزکار در پارک هلسینکی فنلاند کار کرد و از جوایز مختلف مدرسه از جمله لقب «مرد ریاضی»، توانست تهیه کند.
سرانجام، کامپیوتر IBM که یک ماه برای بازی استفاده شده بود، به آخرین ورژن وسیلهی جذاب زندگی برای لینوس تبدیل شد! برای درک عمیقتر شخصیت لینوس، معتقدیم که نگاهی به زندگی او از این زاویه کمک میکند:
یا یک پروژهای برای انجام داریم و وقت خود را صرف آن میکنیم، یا اگر پروژهای موجود نیست، انگیزهای برای برنامهنویسی و کار با کامپیوتر وجود ندارد.
او وقت خود را به جز برنامهنویسی، در فعالیتهای دیگری همچون بازیهای بولینگ و اسنوکر با دوستان، بازی با گربهها و گشتزدن در خانه با حولهی کهنهاش سپری میکند. حتی دلیل اصلی رفتن به خدمت سربازی نیز همین علاقه به برنامهنویسی بود. هنگامی که دوره سربازی ۱۱ ماهه او به پایان رسید و وی وارد دانشگاه شد، انتظارش برای شروع کلاسهای برنامهنویسی زبان C و سیستمعامل یونیکس (Unix) فرا رسید، علاقهی لینوس به سیستمعامل یونیکس بیشتر شد و با مفاهیم آن آشنا شد. او به فلسفهی نهفته در سیستمعامل یونیکس علاقهمند شد و روزانه وقت خود را در کنار این مفاهیم گذراند. او به عبارتی معتقد بود:
برای حل مسائل پیچیده، نیاز به روابط پیچیده نیست. کافی است آجرهایی داشته باشیم که با آنها هر چیزی بسازیم، مانند زبان انگلیسی که با آن چیزهای پیچیدهای را بیان میکنیم و نه زبان چینی که پیچیدگیهای زیادی دارد.
این فلسفه او، انگیزهاش برای شروع پروژههای جدید را ایجاد کرد.
تولد لینوکس
در آن دوران، علاوه بر یونیکس، سیستمعاملهای دیگری نیز در بازار موجود بودند، از جمله سیستمعاملهای شبه یونیکس مانند مینیکس (Minix) که بسیار کارآمد بودند. لینوس از نسخه اولیه مینیکس بر روی جدیدترین کامپیوتر خود نصب کرد. اما در آن زمان، هیچ کس نمیپنداشت که این شبیهساز ترمینال مینیکس میتواند جوانهای برای یک پروژه بزرگتر باشد. لینوس با شبیهساز ترمینال مینیکس مشکلاتی را تجربه کرد و تصمیم گرفت که آن را به زبان ماشین بازنویسی کند. این پروژه بسیار پیچیده بود، زیرا نیازمند برنامهنویسی در سطح پایینترین سطح کامپیوتر بود. این باعث شد تا لینوس دقیقاً به نحوه عملکرد پردازنده مرکزی آگاه شود. او برای یادگیری درباره CPU، این برنامه را با استفاده از زبان اسمبلی نوشت و به قول خودش، نوشتن یک برنامه به زبان اسمبلی در مقایسه با نوشتن همان برنامه با زبان C، نیاز به ۳۰ برابر زمان بیشتر داشت!
تغییر ذهنیت لینوس از یک شبیهساز ترمینال به سمت یک سیستمعامل رخ داد زمانی که نیاز به ارسال و دریافت فایلها و ذخیرهی آنها را حس کرد و به درایور دیسک نیاز داشت که در کنار شبیهساز ترمینالش نبود. در بهار سال ۱۹۹۱، در یک برنامه کاری فشرده، لینوس شروع به اضافه کردن قابلیتهای جدید به پروژه خود کرد که به طور ناخودآگاه منجر به ایجاد یک سیستمعامل جدید شد. سالها بعد از تولید این سیستمعامل جدید، پس از تعدادی از پیشرفتهای آن، لینوس تصمیم گرفت که این دستآوردها را با جامعه به اشتراک بگذارد. او اطلاعات خود را با گروه خبری مینیکس به اشتراک گذاشت و با افرادی (هر چند محدود) روبرو شد که تمایل داشتند به آزمون نسخه بتای سیستم عامل لینوکس (Linux) بپردازند. این اتفاق مارکهای شروع اپنسورس شدن سیستمعامل لینوکس را قرار داد و جامعه بزرگی از توسعهدهندگان و کاربران را به خود جلب کرد. شاید اگر هر کدام از این آجرهای مسیر زندگی لینوس، طور دیگری قرار میگرفتند، شبیهساز ترمینالی که برای ارتباط سریعتر و راحتتر با سایت دانشگاه طراحی کرده بود، حالا به یک سیستمعامل متنباز و محور اصلی دنیای خیلی از برنامهنویسها تبدیل نمیشد.
امیدواریم این متن کوتاه در انبوه متنهای مربوط به لینوس و لینوکس، مقدمهی خوبی برای خواندن کتاب «فقط برای تفریح: داستان یک انقلاب اتفاقی» به قلم خود لینوس و ترجمهی جادی میرمیرانی باشد. لینوس در متن کتاب به این موضوع اشاره دارد که کتاب طراحی و پیادهسازی سیستمهای عامل (نوشته تننبام، متحولکنندهی زندگی او بود. شاید شما هم از کتاب لینوس با این عنوان یاد کنید.