آیا می دانید مجموعه سورس کد شرکت گوگل چقدر است؟

اگرچه که از روی میزان درآمد یک شرکت می توان به بزرگی آن پی برد، اما گاهی اوقات از روی زیرساخت یک شرکت -که در حوزه ی برنامه نویسی یکی از این زیرساخت ها سورس کد است- نیز می توان به بزرگی یک شرکت پی برد. گفته می شود که سیستم عامل ویندوز که از سال ۱۹۸۰ تاکنون در حال توسعه و تکمیل است، چیزی در حدود ۵۰ میلیون خط کد دارا است و همین سورس کد عظیم، سیستم عامل ویندوز را به یکی از بزرگ ترین نرم افزارهای نوشته شده تا حال حاضر مبدل می سازد. اگرچه که ۵۰ میلیون خط کد چیز کمی نیست، اما در مقایسه با سورس کد سرویس های گوگل، ویندوز حرفی برای گفتن ندارد.

یکی از اعضای گوگل به نام Rachel Potvin در یک کنفرانس مهندسی که در سیلیکون ولی برگزار شد، تخمین زد که سورس کرد مورد نیاز برای اجرای کلیه سرویس های شرکت گوگل -یا بهتر بگوییم شرکت الفبا- از موتور جستجوی گوگل گرفته تا جیمیل، گوگل مپس، یوتیوب، گوگل داکس، کلندر و ...، چیزی در حدود ۲ میلیارد خط کد است یعنی چیز ۴۰ برابر پیچیده تر از سیستم عامل ویندوز!

تعداد مهندسینی که به این سورس کد دسترسی دارند چیزی در حدود ۲۵۰۰۰ نفر است. نکته ی جالب توجه این که این ۲ میلیارد خط کد صرفا در یک Repository یا مخزن نگهداری می شوند که بدون شک می توان لقب «بزرگ ترین ریپازیتوری نرم افزاری دنیا» را به آن داد. این ریپازیتوری چیزی شبیه به گیت هاب است اما با این تفاوت که صرفا در اختیار توسعه دهندگان داخل شرکت گوگل است. مسلما مهندسین گوگل برای هندل کردن این حجم عظیمی از سورس کد، نیاز به یک ساز و کار کنترل نسخه همچون GIT دارند. این سیستم اختصاصی کنترل نسخه ی خود گوگل است که نام آن Piper بوده و وظیفه ی کنترل کلیه ی کامیت های برنامه نویسان را به عهده دارد. این ۲۵۰۰۰ مهندس نرم افزار گوگل، در هر روز ۴۵۰۰۰ کامیت انجام می دهند که رقم قابل توجهی است و این نشان از رو به رشد بودن کلیه نرم افزارهای ساخت گوگل است.

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

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

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

شرکت فیسبوک هم که سورس کد آن چیزی در حدود ۲۰ میلیون خط است، از سیستم کنترل نسخه ی اختصاصی خود استفاده می کند. خبر خوب این که این دو غول دنیای اینترنت -گوگل و فیسبوک- در تلاش هستند تا از سیستم کنترل نسخه ای تحت عنوان Mercurial یک نسخه ی متن باز تهیه کرده تا سایر شرکت های کوچک و بزرگ هم بتوانند از آن استفاده کنند.

Google Is 2 Billion Lines of Code—And It’s All in One Place

0


بهزاد مرادی

از جمله علائقم می‌شه به نشر علم،‌ سرمایه‌گذاری روی نسل آینده، برنامه‌نویسی به خصوص زبان PHP و جامعهٔ اپن‌سورس و همچنین راه‌اندازی استارتاپ و کارآفرینی اشاره کرد و اعتقاد دارم که سکان آکادمی می‌تونه بستری باشه که از اون طریق به علائقم جامهٔ عمل بپوشونم!






از طریق این فرم، می توانید بدون ثبت نام نظر دهید و یا اگر قبلا ثبت نام کرده اید، با ورود ناحیه ی کاربری می توانید علاوه بر ثبت نظر، به مدیریت نظرات خود نیز بپردازید.
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)
(فیلد اجباری)