گیتهاب برای این دنیای جدید ساخته نشده
خلاصهٔ کاملتر
تو این مقاله کایل گالبرایت، مدیرعامل و همبنیانگذار Depot، میگه بحث دربارهٔ کارایی و پایداری گیتهاب سر جاش، ولی سؤال جالبتر خودِ پارادایمیه که باهاش کار میکنیم. به گفتهٔ نویسنده این شکل کار با روشی که امروز نرمافزار میسازیم جور درنمیاد. منظورش هم فقط گیتهاب نیست؛ گیتلب و بیتباکت و بقیه هم دقیقاً همین وضع رو دارن.
نویسنده میگه گلوگاههایی که سالها روشون کم سرمایهگذاری کردیم — سورسکنترل، CI/CD، کدریویو و دیپلوی — حالا دارن همون سرعت تازهای رو که به دست آوردیم میکشن. فشارش هم چند برابر شده، چون کدنوشتن از تیم مهندسی بیرون زده و به فروش و پشتیبانی و مارکتینگ هم رسیده؛ یعنی یه بیلد دهدقیقهای رو کل شرکت حس میکنه، نه فقط چندتا مهندس.
به گفتهٔ او پنج سؤال هنوز بیجوابه: مالک کد کیه و مسئولیت کدی که دیپلوی میشه با کیه، چطور به کد اعتماد کنیم، این حجم کد تولیدشده رو چطور ریویو کنیم، کد یه جا رو چطور به کد جای دیگه وصل کنیم، و هزینهٔ توکن رو در برابر کیفیت فیچرها چطور بسنجیم. نویسنده معتقده اگه اینا رو از پنج نفر بپرسی، پنج جواب متفاوت میگیری.
گیتهاب از نگاه او یه ابزار همکاریه، مثل گوگلداکس برای متن. اولش وصلکردن مدلها به همون جریان برنچ و پولریکوئست و CI منطقی بود، چون ایجنتها هنوز با سرعت آدم کار میکردن. ولی نسل جدید مدلها که خوب شدن، نتیجهش شد کد بیشتر، برنچ بیشتر و کار موازی بیشتر — و همون پارادایم انسانمحور تبدیل شد به گلوگاه اصلی.
پیشنهاد نویسنده اینه که تحویل نرمافزار رو مثل زیرساخت ببینیم، نه زنجیرهای از کارهای دستی: چند پریمیتیو پایه که بقیهٔ چیزها روش ساخته میشه — سورسکنترل با تاریخچهٔ تغییرناپذیر، اجرای ایزوله و سریع، آرتیفکت تکرارپذیر، کش برای کارهای قطعی، هویت برای اثبات اینکه کد رو کی یا چی ساخته، و پالیسی قابلاعمال با ماشین. به گفتهٔ او برندهٔ دههٔ بعد پولریکوئست بهتر نمیسازه؛ زیرساختی میسازه که تولید و اعتبارسنجی و دیپلوی رو در مقیاس ماشین جلو ببره.
نکات کلیدی:
- از نگاه نویسنده مشکل کندی گیتهاب نیست، پارادایم انسانمحور برنچ و پولریکوئسته
- با تولید انبوه کد توسط ایجنتها، ریویو و CI و دیپلوی به گلوگاه اصلی تبدیل شدن
- کدنوشتن دیگه فقط کار تیم مهندسی نیست و هزینهٔ بیلد کند رو همهٔ شرکت حس میکنه
- پیشنهاد مقاله نگاه زیرساختیه: سورسکنترل، اجرا، آرتیفکت، کش، هویت و پالیسی بهعنوان پریمیتیوهای پایه




