امروز، پروژه متنباز گیت (Git)، سیستم کنترل نسخهای (Version Control System) که به توسعهدهندگان در سراسر جهان امکان مدیریت کدهایشان را میدهد، بیستمین سالگرد خود را جشن میگیرد. ما با لینوس توروالدز (Linus Torvalds)، خالق گیت و لینوکس (Linux)، که این ابزار را در سال ۲۰۰۵ پس از تجربه چالشهایی با ابزارهای موجود آن زمان خلق کرد، گفتوگویی ترتیب دادیم تا درباره تاریخچه گیت، تأثیری که بر توسعه نرمافزار گذاشته و دیدگاهش درباره آینده آن صحبت کنیم.
س: چه چیزی شما را به خلق گیت ترغیب کرد؟
لینوس: داستان گیت به مشکلات واقعی برمیگردد. در آن زمان، ما در حال توسعه هسته لینوکس (Linux kernel) بودیم و از ابزاری به نام بیتکیپر (BitKeeper) استفاده میکردیم. اما به دلایلی، این ابزار دیگر برای ما کارآمد نبود. من به چیزی نیاز داشتم که سریع، توزیعشده (Distributed) و قابل اعتماد باشد. پس تصمیم گرفتم خودم دست به کار شوم و چیزی بسازم که نیازهایمان را برآورده کند. گیت نتیجه این نیاز بود.
س: گیت در طول این ۲۰ سال چگونه تکامل یافته است؟
لینوس: گیت در ابتدا فقط برای رفع نیازهای شخصی من و جامعه لینوکس طراحی شده بود، اما به مرور زمان به چیزی بسیار بزرگتر تبدیل شد. افراد و شرکتها شروع به استفاده از آن کردند، ابزارهایی مثل گیتهاب (GitHub) بر پایه آن ساخته شدند و به بخشی جداییناپذیر از جریان کار توسعهدهندگان (Developers’ workflow) تبدیل شد. چیزی که در گیت تغییر چندانی نکرده، سادگی و کارایی آن است – هنوز همان اصول اولیه را حفظ کردهایم.
س: بزرگترین تأثیر گیت بر دنیای توسعه نرمافزار چه بوده است؟
لینوس: فکر میکنم گیت به مردم اجازه داد که به صورت توزیعشده و غیرمتمرکز (Decentralized) کار کنند. قبل از گیت، بسیاری از سیستمهای کنترل نسخه متمرکز (Centralized) بودند و این محدودیتهایی ایجاد میکرد. گیت این امکان را فراهم کرد که هر کسی بتواند مستقل کار کند و در عین حال همکاری (Collaboration) آسانی داشته باشد. این موضوع توسعه نرمافزار را دموکراتیکتر کرد.
س: آیا فکر میکردید گیت تا این حد محبوب شود؟
لینوس: نه واقعاً. من فقط میخواستم ابزاری بسازم که کارم را راه بیندازد. این که گیت به این سطح از پذیرش رسیده، بیشتر به خاطر جامعه (Community) و نیازهای واقعی توسعهدهندگان است تا نبوغ من. من فقط جرقه اولیه را زدم.
س: آینده گیت را چگونه میبینید؟
لینوس: گیت هنوز هم قدرتمند و انعطافپذیر است. شاید در آینده ابزارهای جدیدی بر پایه آن ساخته شوند یا رابطهای کاربری (User interfaces) بهتری برایش ایجاد شود، اما هسته اصلی آن به نظرم پایدار خواهد ماند. تا زمانی که توسعهدهندگان به همکاری و مدیریت کد نیاز داشته باشند، گیت جایی خواهد داشت.
مشاهده مطلب اصلی