هزینه واقعی استفاده از اوپنسورس تو گوگل
خلاصهٔ کاملتر
Sophia Vargas از تیم Google Open Source تو این پست نتیجه یه تحقیق داخلی رو گفته. نقطه شروعش این جمله معروفه که اوپنسورس «رایگان مثل تولهسگه، نه مثل نوشیدنی مجانی». یعنی برداشتنش مجانیه، ولی نگه داشتنش وقت و هزینه داره. طبق برآوردها بیش از ۹۰ درصد کدبیسها اوپنسورس دارن. تحقیقهای قبلی بیشتر روی هزینه نگهداری پروژه از طرف maintainerها بوده، ولی گوگل میخواست بفهمه استفاده از هزاران پکیج اوپنسورس براش چقدر خرج داره.
برای همین دو تا سؤال مطرح کردن. اول اینکه یه مهندس که maintainer پروژه اصلی (upstream) نیست، چقدر وقت لازم داره تا یه پکیج رو تو گوگل آپدیت کنه. دوم اینکه آیا معیارهای پیچیدگی میتونن پیشبینی کنن یه آپدیت چقدر سخته.
جواب سؤال اول: بیشتر آپدیتها چهار ساعت یا کمتر طول میکشن، ولی یه دنباله بلند هم هست که به روزها تا ماهها میرسه. درباره سؤال دوم، نویسنده میگه بعضی معیارها پیشبینی بهتری دارن. پچها و شخصیسازیهای محلی، تعداد وابستگیهای پکیج و تعداد مشارکتکنندههای upstream نشونههای بهتری از سختی آپدیت بودن تا سن پکیج یا تعداد تیمهایی که داخل گوگل ازش استفاده میکنن. یعنی هر چی یه پکیج رو بیشتر به سلیقه خودت تغییر بدی، بعداً گرونتر تموم میشه.
خود نویسنده محدودیتها رو هم گفته. نمونهها بر اساس اولویت کاری انتخاب شدن، نه نمونهگیری علمی کامل. ابزار مهندسها، از جمله ابزارهای مبتنی بر genAI، کنترل نشده. دادهها خیلی به سمت Go متمایل بودن و برای همین اثر زبان برنامهنویسی بررسی نشد، در حالی که بررسیهای داخلی دیگه نشون دادن زبان ممکنه اثر زیادی داشته باشه. پکیجهای قدیمی و آرشیوشده هم تو دادهها نبودن. گزارش کامل با عنوان «How much does it cost to maintain a copy of an open source software package (at Google)?» منتشر شده.
نکات کلیدی:
- بیش از ۹۰ درصد کدبیسها کد اوپنسورس دارن
- بیشتر آپدیتهای پکیج تو گوگل زیر ۴ ساعت تموم میشن، ولی بعضیها ماهها طول میکشن
- پچهای محلی، تعداد وابستگیها و تعداد مشارکتکنندههای upstream بهترین پیشبینیکننده سختی آپدیت بودن
- سن پکیج و تعداد تیمهای استفادهکننده پیشبینیکننده ضعیفتری بودن
- دادهها بیشتر مربوط به Go بود و پکیجهای آرشیوشده بررسی نشدن




