گیت هاب، سرویسی جدید در دنیای برنامه نویسی
گیت هاب، سرویسی جدید در دنیای برنامه نویسی
گیت هاب در واقع سرویسی است که به عنوان میزبان برای پروژه هایی که از سیستم کنترل گیت استفاده می کنند عمل می کنند. این سیستم توانسته طی ۱۰ سال گذشته به عنوان اثر گذارترین بستری که طی روند برنامه نویسی وجود دارد عمل کند و پس از عملکرد موفقی که داشت توانست توجه ی مایکروسافت را به خود جلب کند بطوری که مایکروسافت امسال با پرداخت ۷.۵ میلیارد دلار این سرویس را خریداری کرد.
حدود یه دهه قبل، سه نفر برنامه نویس یک پروژه ی برنامه نویسی با هدف تقریبا می توان گفت بیشتر تفریحی بود شروع به آغاز یک پروژه کردند. در ابتدا هدف این سه این بود که این پروژه را تنها در روزهای تعطیل و اوقات فراغت خود انجام دهند، اما بعد ها به مرور مشخص شد ایده ای که پشت این پروژه بود پتانسیل آن بیشتر از آن بود که تنها در اوقات فراغت و روزهای تعطیل خود به آن بپردازند.
گیت هاب با ایده ی بسیار خوبی که داشت توانست مشکل میلیون ها برنامه نویس در سراسر جهان را حل کند. سال ها بود که بدلیل پیشرفت برنامه نویسی برخی از پروژه های سنگین را تنها یک نفر نمی توانست انجام دهد به همین دلیل نیاز به کار تیمی بود اما به دلایل بسیار کار تیمی به مراتب مشکل تر از انجام پروژه بود.
ایده ی این تیم به قدری خارق العاده بود که توانست این مشکل را حل کند و براحتی از آن کسب درآمد کند و در نهایت به جایی برسد که حتی مایکروسافت را که زمانی با سیستم های متن باز مشکل داشت به خود علاقه مند کند و حتی مایکروسافت امتیاز این سرویس را برای خود خریداری کند.
برای آشنایی بیشتر این سرویس، باید تا حدودی با روند برنامه نویسی در طی سال های گذشته و پیشرفت های آن آشنا شوید . پس در ادامه همراه ما باشید تا شما بیشتر با سیستم برنامه نویسی و روند توسعه ی نرم افزارها آشنا کنیم.
- برنامه نویسی و توسعه ی نرم افزارها
استیو جابز و بیل گیتس دو نفری هستند که امروزه بسیاری از افراد آن ها را به عنوان تاثیرگذارترین افراد در زمینه ی کامپیوترهای شخصی می دانند. این دو نفر توانستند با ارائه سیستم عامل های خود یعنی مک و ویندوز محبوبیت خود را در میان علاقه مندان به کامپیوتر بیشتر کنند و کار با کامپیوتر را نیز برای افراد آسان تر کنند.
اما بی انصافی است اگر در میان سیستم عامل ها اسمی از سیستم عامل لینوکس و صاحب آن یعنی لینوس توروالدز برده نشود. لینوس توروالدز توانست کمی از رقابت ویندوز و مک بکاهد و در این میان جا برای سیستم عاملی باز کند که متن باز بود و برای افرادی که علاقه داشتند که کنترل بیشتری روی سیستم عامل و کامپیوتر خود داشته باشند راه حلی ارائه دهد و این راه حل همان لینوکس بود.
پس از مدتی از معرفی لینوکس ، لینوس توروالدز نرم افزاری با نام Git را معرفی کرد که می توانست تغییرات نرم افزاری را به صورت فایلی در کامیپوتر ذخیره کند.
کنترل تغییرات نرم افزاری به افرادی که در یک تیم برنامه نویسی کار می کردند این امکان را می داد که بدون اینکه تغییری روی کدهای یکدیگر ایجاد کنند، تغییرات برنامه را مشاهده کنند و کدهای خود نیز در برنامه قرار دهند و آن را توسعه دهند.
افراد تیم برای اینکه بتوانند بدون تغییر در کدهای یکدیگر کدهای خود را توسعه دهند باید از دو فرآیند یعنی فورک کردن (Forking) و شاخه های مستقل (Branching) استفاده کنند. با استفاده از Git همه افراد تیم روی شاخه ی مربوط به خود کار می کنند و تغییراتی که آنها ایجاد می کنند روی پروژه ی اصلی اعمال نمی شود.
قبل از انتشار Git ابزارهای متن باز دیگری نیز وجود دارد ولی هر کدام به دلیل ضعف ها و محدودیت هایی که داشت زیاد مورد توجه برنامه نویسان قرار نگرفت. برای مثال در نسخه های ابزارهای متن باز قبل از Git اعمال تغییرات در پروژه با اجازه ی مدیر پروژه باید انجام می شد و گاها یک تیم این تغییرات را اداره می کرد و این تغییرات را بصورت دستی و سلیقه ای به پروژه ی خود اعمال می کردند.
اما آن زمان گیت در کنار تمام نقاط قوتی که نسبت به سایر ابزارهای متن باز داشت، نقاط ضعفی نیز داشت از جمله ی این نقاط ضعف می توان به موارد زیر اشاره کرد:
- کمبود ابزارهای همکاری تیمی: برای مثال اگر قرار بود دو برنامه نویس با هم کار کنند در صورتی که یکی از آن ها تغییر کوچکی روی برنامه اعمال می کرد باید کل برنامه را مجددا برای هم تیمی خود ارسال می کرد و همین روند پیشرفت پروژه را دشوار می کرد.
- نبود رابط کاربری: افرادی که تصمیم به استفاده از گیت داشتند باید از خط فرمان استفاده می کردند زیرا گیت رابط کاربری نداشت.
- عدم حفظ حریم خصوصی: برخی از پروژه نباید محتوای آن فاش می شد و این امکان که کاربران بتوانند با استفاده از گیت از کدهای خود محافظت کنند وجود نداشت و تنها راه حل موجود برای اینکار داشتن یک حساب کاربری مجزا روی ماشین های یونیکس بود.
این نقاط ضعف باعث می شد که با وجود تمام قابلیت های گیت، برنامه نویسان برای کار با گیت راحت نباشند. یکی از اعضای تیم گیت هاب، یعنی پرستون ورنر در حال کار روی پروژه ای با گیت بود، همان جا ایده ای به ذهنش رسید که اسم ایده ی خود را گیت هاب گذاشت.
در ابتدا کار با ایده ی پرستون ورنر آغاز شد و این ایده ها توسط وانستراث نفر دوم تیم گیت هاب پیاده سازی می شد پس از مدتی با رشد گیت هاب و انتشار آن، افرادی که از این سرویس استفاده می کردند عنوان کردند که با وجود قابلیت های بسیار خوب گیت هاب، حس خوبی نسبت به استفاده از آن ندارند و تمایل دارند در صورتی از گیت هاب استفاده می کنند وجهی در این قبال پرداخت کنند.
به مرور نفر سوم به تیم گیت هاب پیوست و تیم گیت هاب نیز برای درآمدزایی از پروژه ی خود، تدبیری را اندیشید که افراد در صورتی که تمایل دارند پروژه آنها خصوصی شوند وجهی را پرداخت کنند و از طریق توانست براحتی درآمد قابل توجهی را کسب کنند.
در پایان باید به این نکته اشاره کرد که دلیل اصلی موفقیت گیت هاب این بود که به مشکل عمومی برنامه نویسان پی برد و سعی کرد این مشکل را حل کند و با ایده ی فوق العاده ای که داشت توانست به سرعت پیشرفت کند.
دیدگاهتان را بنویسید