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

درخواست مشاوره

لینوس توروالدز، برنامه‌نویس خوش‌ذوق فنلاندی که نامش با کرنل محبوب لینوکس و همچنین سیستم کنترل نسخه‌ی گیت گره خورده است.

 

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

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

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

تولد و تحصیل

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

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

 

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

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

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

 

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

 

تولد لینوکس

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

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

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

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

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

من در حال توسعه‌ی یک سیستم‌عامل رایگان (به‌صورت تفریحی) هستم. این سیستم‌عامل برای پردازنده‌های ۳۸۶ بهینه‌سازی شده است. فعالیت من روی این سیستم‌عامل از ماه آوریل آغاز شده و به‌زودی اولین نسخه عرضه خواهد شد. من از هر بازخوردی در ارتباط با نقاط قوت و ضعف مینیکس که سیستم‌عامل من شبیه به آن است استقبال می‌کنم. در حال حاضر بش نسخه‌ی ۱.۰۸ و gcc نسخه‌ی ۱.۴۰ را روی سیستم‌عامل خودم پورت کرده‌ام و به نظر می‌رسد همه‌چیز به‌خوبی عمل می‌کند. احتمالا تا چند ماه دیگر به نتیجه‌ی نهایی خواهم رسید. من از هرگونه نظر و پیشنهادی استقبال می‌کنم؛ اما تضمینی به اجرای همه‌ی نظرات ندارم.-:)

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

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

 

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

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

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

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

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

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

توسعه‌ی گیت

لینوس توروالدز، خالق سیستم عامل Linux است. Git در ابتدا برای توسعه لینوکس ساخته شد اما امروزه پروژه‌های زیادی با الهام گرفتن از گیت ساخته می‌شوند. وی در ابتدا از سیستم کنترل نسخه دیگری به نام BitKeeper برای مدیریت کد منبع Linux استفاده می‌کرد. در سال 2005 دسترسی رایگان به بیت کیپر برای توسعه دهنده‌های لینوکس محدود شد و به همین دلیل لینوکس شروع به جستجو برای یافتن یک گزینه مناسب به جای بیت کیپر کرد اما در این مورد موفق نبود چرا که هیچ نرم‌افزاری وجود نداشت که بتواند میزان تغییر و حجم لینوکس را مدیریت کند. نبود این یک نرم‌افزار کارآمد توروالدز را به فکر فرو برد تا یک نرم‌افزار کنترل جدید برای خود توسعه دهد. سرانجام گیت در آوریل سال 2005 فعالیت خود را شروع کرد و توانست در مدت زمان کمی کارایی خود را نشان دهد.

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

توسعه‌ی گیت

گیت یک ابزار ثبت ورژن و اصلاحات است که عموما توسط برنامه‌نویسان و توسعه‌دهنده‌ها مورد استفاده قرار می‌گیرد. توسعه‌ی این ابزار توسط توروالدز به انتقادها از او به‌ دلیل استفاده از ابزار انحصاری BitKeeper بازمی‌گردد.

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

 

زندگی شخصی و وضعیت کنونی لینوس توروالدز

فعالیت اصلی لینوس توروالدز در حال حاضر، عضویت در بنیاد لینوکس و کمک به توسعه‌ی هرچه بیشتر کرنل لینوکس است. او در توسعه‌ی نرم‌افزاری با نام Subsurface نیز نقش داشته است. این نرم‌افزار آزاد برای ثبت وقایع و برنامه‌ریزی برای غواصان استفاده می‌شود. توورالدز در حال حاضر به‌عنوان بالاترین مقام جهت تأیید اضافه شدن کد به کرنل اصلی لینوکس فعالیت می‌کند و برند Linux را نیز تحت مالکیت دارد.

توروالدز در حال دریافت جایزه‌ی IEEE سال ۲۰۱۸

 

یک قانون برنامه‌نویسی و یک سیارک به نام این مهندس فنلاندی ثبت شده است

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

از افتخارات لینوس توروالدز می‌توان به قرار گرفتن در رتبه‌ی ۱۷ لیست ۱۰۰ فرد مهم مجله‌ی تایمز در سال ۲۰۰۰ اشاره کرد. علاوه بر آن، این مجله در سال ۲۰۰۴ نیز او را یکی از تأثیرگذارترین افراد جهان نام‌گذاری کرد. طبق آخرین آمار، ثروت توروالدز نزدیک به ۱۵۰ میلیون دلار است. لینوس توروالدز در تألیف کتابی در مورد لینوکس نیز نقش داشته است. این کتاب به روند انقلابی این سیستم‌عامل اشاره می‌کند و Just For Fun: The Story of an Accidental Revolutionary نام دارد.

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

مقالات مرتبط

کاور بلاگ _tailwind چیست
Tailwind CSS یک ابزار قدرتمند و مدرن است که به توسعه‌دهندگان وب امکان می‌دهد به سرعت و با کارآیی بالا، وبسایت‌ها و برنامه‌های وب را طراحی و پیاده‌سازی کنند. این فریمورک بر اساس ایده‌آل‌هایی از جمله اصول Atomic CSS و Utility-first طراحی شده و کمک می‌کند تا با استفاده از کلاس‌های تعریف شده، به سرعت و با دقت بالا، ویژگی‌های ظاهری و تغییرات استایلی را در صفحات وب خود اعمال کنید. در این مقاله، به بررسی اصول، ویژگی‌ها و کاربردهای Tailwind CSS پرداخته خواهد شد و با مزایا و چگونگی استفاده از آن آشنا می‌شوید.
کاور بلاگ _ant design چیست
در دهه گذشته، با پیشرفت سریع تکنولوژی و توسعه نرم‌افزارها، طراحی و تجربه کاربری به یکی از ارکان اساسی توسعه وب تبدیل شده است. یکی از چالش‌های مهم در این زمینه، ایجاد رابط‌های کاربری زیبا، کارآمد و قابل اطمینان است. Ant Design به عنوان یک چارچوب طراحی سیستمی بر پایه React و Angular، به توسعه‌دهندگان کمک می‌کند تا به سرعت و با کیفیت به ساخت رابط‌های کاربری حرفه‌ای بپردازند. در این مقاله، به بررسی اجمالی از Ant Design و ویژگی‌ها، مزایا و کاربردهای آن خواهیم پرداخت.
کاوربلاگ_ Micro Frontends چیست؟
Micro Frontends یک رویکرد نوظهور در توسعه وب است که به منظور بهبود قابلیت انعطاف و مدیریت پروژه‌های وب توسط تیم‌های مختلف توسعه دهنده طراحی شده است. به کمک این مفهوم می‌توان شکاف بین توسعه میکروسرویس‌های پشت سرور و رابط کاربری را کاهش داد. همچنین به توسعه‌دهندگان این امکان را می‌دهد تا بخش‌های جداگانه از یک وب‌اپلیکیشن را به عنوان میکروفرندانت‌ها مدیریت و ادغام کنند. در این مقاله، ما به بررسی اصول و مزایای Micro Frontends خواهیم پرداخت و چگونگی پیاده‌سازی آن در پروژه‌های واقعی را بررسی خواهیم کرد.
کاوربلاگ_ طراحی محصول چیست؟
طراحی محصول به عنوان یک عامل مهم در توسعه و پیشرفت صنایع و بازارهای جهانی شناخته می‌شود. این حوزه هنر و علم، فرآیندی گسترده و چندجانبه است که با بهره‌گیری از دانش‌های مختلف از جمله مهندسی، طراحی صنعتی، روانشناسی مصرف‌کننده و فناوری، به ایجاد محصولاتی نوآورانه و عملی می‌پردازد.
کاور بلاگ _نقشه راه بک اند
در دهه اخیر، توسعه وب به سرعت گسترش یافته و باعث شده است که تعداد زیادی از افراد به دنبال فرصت‌های یادگیری و بهبود مهارت‌های خود در زمینه‌های بک‌اند (Backend) و فرانت‌اند (Frontend) باشند. اگرچه یادگیری بک‌اند امور مربوط به سمت سرور و پردازش داده‌ها را در بر می‌گیرد، اما تأثیر فرانت‌اند به عنوان واسط کاربری نقش بسیار مهمی در تجربه کاربری و تعامل با کاربران دارد. در این مقاله به بررسی "نقشه راه یادگیری بک‌اند" و همچنین چگونگی ارتقاء مهارت‌های بک‌اند در کنار فهم عمیقی از فرانت‌اند می‌پردازد. این نقشه راه نه تنها به توسعه‌دهندگان حرفه‌ای امکان پیشرفت و تخصص در بخش بک‌اند را فراهم می‌آورد، بلکه به تازه‌واردان نیز راهنمایی جامعی برای شروع و تسلط بر این دو زمینه اصلی توسعه وب ارائه می‌دهد.
کاور بلاگ_ nest.js چیست
توسعه وب به سرعت در حال تحول است و فریم‌ورک‌ها و ابزارهای جدیدی برای تسهیل فرآیند توسعه نرم‌افزارهای وب ارائه شده‌اند. یکی از این فریم‌ورک‌های نسل جدید که توانسته است جذابیت بسیاری از توسعه‌دهندگان را به خود جلب کند، Nest.js است. Nest.js یک فریم‌ورک توسعه نرم‌افزارهای وب بر پایه‌ Node.js است که با استفاده از مفهومی به نام "وابستگی‌های تزریقی" (Dependency Injection) و الهام گرفته از Angular، توسعه ساختاری سازمان‌یافته و مدیریت پروژه را سهولت بخشیده است. در این مقاله به بررسی اصول و ویژگی‌های Nest.js می‌پردازیم.

درخواست مشاوره

درخواست مشاوره