گیتهاب قبل از سقوط: چه بود و چی شد؟
خلاصهٔ کاملتر
آرمین روناکر، چهرهای که پشت پروژههای معروفی مثل Flask و Jinja2 قراره، یه مقالهی طولانی و احساسی نوشته دربارهی اینکه گیتهاب چی بود، چی شد، و چرا افولش اینقدر دردناکه.
داستان از SourceForge شروع میشه. قبل از گیتهاب، اکثر توسعهدهندههای اپنسورس روی سرورهای خودشون پروژه داشتن؛ یه نصب Trac اینجا، یه ریپوی Subversion اونجا، یه لیست ایمیل، یه آرشیو. آرمین و دوستش گئورگ حتی یه کالکتیو مشترک به اسم Pocoo داشتن که هزینه سرور رو بین خودشون تقسیم میکردن.
اون دوران، اپنسورس دنیای کوچیکتری بود. نه لزوماً کمتر مهم، بلکه کمترごった返し (ごった返し = شلوغ و آشفته). پروژهها تاریخچه داشتن، نگهدارندههاشون شناختهشده بودن، و وابسته شدن به یه پکیج یعنی اینکه باید میدونستی از کجا اومده. همین اصطکاک طبیعی، انتخابها رو سنجیدهتر میکرد.
بعد گیتهاب اومد. یکی از بزرگترین طعنههای تاریخ نرمافزار هم اینجاست: سیستمهای کنترل نسخهی توزیعشده مثل Git و Mercurial دقیقاً برای اینکه آدمها به یه مرکز واحد وابسته نباشن طراحی شدن، ولی نهایتاً دنیا رفت روی یه سرویس متمرکز غولآسا ساکن شد.
آرمین صادقانه میگه گیتهاب یه هدیهی واقعی بود. مشارکت توی اپنسورس رو ساده کرد، پروژهها رو قابل کشف کرد، و مثل یه کتابخونه عمل کرد که حتی پروژههای رهاشده هم توش قابل پیدا کردن بودن. برعکس دنیای قدیم که اگه دامنهی یه نفر منقضی میشد یا VPSاش خاموش میشد، همه چیز از بین میرفت.
ولی همین سهولت و بیاصطکاک بودن یه اثر جانبی هم داشت: رشد انفجاری میکرودپندنسیها. npm نمادش شد. وقتی انتشار و مصرف یه پکیج هیچ هزینهای نداشت، گراف وابستگیها سریعتر از توانایی درک آدمها رشد کرد. دیگه کسی مثل قدیم فکر نمیکرد که «این پروژه از کجا میاد و چقدر میتونم بهش اعتماد کنم».
حالا آرمین از افول گیتهاب حرف میزنه؛ نه صرفاً به عنوان یه سرویس که تصمیمهای بدی گرفته، بلکه به عنوان یه زیرساخت اجتماعی که در حال تغییر ماهیته. برای کسی مثل او که هویت اپنسورسیش، روابط حرفهایاش، و دوستیهاش از طریق همون ریپوها و ایشوها شکل گرفته، این افول صرفاً یه تغییر پلتفرم نیست.
نکات کلیدی:
- قبل از گیتهاب، توسعهدهندهها زیرساخت خودشون رو اداره میکردن و این اصطکاک، انتخاب وابستگیها رو سنجیدهتر میکرد
- گیتهاب با وجود ماهیت توزیعشدهی Git، به یه مرکز واحد و غالب تبدیل شد
- گیتهاب نقش بایگانی و کتابخانهی اپنسورس رو هم بازی کرد و خیلی از پروژههای قدیمی رو زنده نگه داشت
- npm و گیتهاب با حذف اصطکاک، رشد انفجاری میکرودپندنسیها رو ممکن کردن
- افول گیتهاب برای نسل قدیمیتر، از دست دادن یه زیرساخت اجتماعی واقعیه، نه فقط یه ابزار کد




