
درمورد گیتهاب و از دسترس خارج کردن کاربران ایرانی
گیت یک سیستم کنترل متنباز است که برای اولین بار توسط بنیانگذار لینوکس، Linus Trovalds طراحی شد. لازم است بدانیم که کارکرد گیت به سیستم کنترل ورژن (SVN)های دیگر ازجمله Subversion و CVS شباهت دارد.
وقتی توسعهدهندگان چیز جدیدی مانند یک اپلیکیشن خلق میکنند، مدام تغییراتی در کدهای آن میدهند تا اولین نسخهی رسمی و غیر بتا آمادهی انتشار شود. این روند در بهروزرسانی برای نسخههای بعدی نیز ادامه دارد.
سیستمهای کنترل نسخه تغییرات و بازنگریهای توسعهدهندگان را در یک مخزن مرکزی ذخیره میکنند. با این کار همکاری بین توسعهدهندگان آسان میشود؛ به این شکل که هر توسعهدهنده میتواند نسخهی جدید را دانلود کند، تغییرات را در آن اعمال و سپس آپلود کند. کلیهی توسعه دهندگان قادر به مشاهدهی تغییرات جدید، دانلود آنها و مشارکت در پروژه خواهند بود.
هاب چیست :
کلمهی هاب اشاره به دستگاه قدیمی هاب در علم شبکه دارد که قادر بود یک سری سیستم را بهصورت یک شبکه واحد به هم متصل کند. هاب یعنی مرکز یک فعالیت، منطقه و یا یک شبکه. برای مثال USB Hub را در نظر بگیرید، در اینجا هاب یعنی یک مرکز برای ارتباطات USB. به عبارت دیگر مرکزی که تمام فعالیتها حول محور آن رخ میدهد.حال گیتهاب قدمی فراتر گذاشته و کل جهان را مثل یک شبکه به هم متصل کرده است.
گیت هاب GitHub چیست :
گیت هاب (GitHub) شبکه اجتماعی مورد علاقه برنامه نویسان می باشد . در گیت هاب می توانید کد ها را با دیگران به اشتراک بگذارید و روی پروژه ها به صورت تیمی کار کنید فضایی که توسعهدهندگان فایلهای خود را در آن ذخیره میکنند و قابل اشتراکگذاری با تمام افراد جهان است.
در این سرویس میزبانی وب، پروژههایی قرار دارند که از سیستم کنترل ورژن گیت استفاده میکنند. به زبان سادهتر، گیت هاب یک سیستم مدیریت پروژه و نسخهبندیِ کد و همچنین یک شبکهی اجتماعی برای توسعه دهندگان و برنامهنویسان است که بزرگترین منبع موجود برای ذخیرهسازی کارهایی است که به صورت همکارانه ایجاد شدهاند.
یکی از مشکلاتی که تا قبل از ظهور گیت هاب برای تیم های برنامه نویسی وجود داشت این بود که در زمان توسعه یک کد خاص ، کار نهایی اعضای مختلف تیم با هم متناقض بود. اما با وجود این پلت فرم در هر لحظه اعضای مختلف میتوانند تغییرات کد را مشاهده نمایند و بر اساس آن کار توسعه را پیگیری نمایند.
در گیت هاب سه مفهوم مهم وجود دارد :
مخزن (Repository):
معادل فارسیِ Repository را میتوان مخزن، منبع یا انبار عنوان کرد مخزن جایی است که تمام فایلهای مربوط به یک پروژه در آن ذخیره میشوند. گاهی واژهی Repository را بهصورت خلاصه یعنی Repo هم نمایش میدهند. هر پروژه مخزن مخصوص خودش را دارد که با URL خاصی هم قابلدسترسی خواهد بود.
Fork :
اصطلاح «Forking» زمانی رخ میدهد که شما پروژهای جدید را بر اساس پروژهای از پیش ایجادشده، ادامه میدهید و یا تغییرات جدیدی را بر آن ایجاد میکنید. این ویژگی فوقالعاده باعث شده است که توسعهی برنامه و پروژههای بیشتری در دستور کار افراد زیادی قرار گیرند. اگر شما هم در گیت هاب با پروژهای مواجه شدید که علاقهمند به مشارکت در آن بودید، میتوانید فایل آن را دانلود و تغییرات موردنظرتان را بر روی نسخهی کپی آن اعمال و سپس نسخهی بازنگری شدهی خود را منتشر کنید. اگر تغییراتی بر روی نسخهی اصلی پروژهای (Original Repository) که بر روی کپی آن کار میکنید اعمال شود، شما هم میتوانید بهراحتی آن تغییرات را به نسخهی کپی خود اضافه کنید.
Merge :
تغییرات را میتوان با پروژه اصلی ادغام (Merge) کرد که با Pull Request انجام میشود. با عمل Merge می تواند کد را به جای نسخه اصلی بارگذاری کند و بپذیرد.
شبکهی اجتماعی :
از آن جایی که GitHub در واقع نوعی شبکه اجتماعی نیز محسوب می شود ، امکانات جالبی مانند ، امکان Follow سایر کاربران ، امتیاز به کد ها ، دریافت به روزرسانی ها و گفت و گوی عمومی و خصوصی نیز در آن وجود دارد. که میتوان آن را یکی از قدرتمندترین ویژگیهای آن دانست. هر کاربر در گیت هاب یک پروفایل داشته و یک رزومه برای وی وجود دارد، که آثار پیشین و همکاریهایی که توسط درخواستهای ادغام انجام داده است را نشان میدهد. بازبینی در پروژه را میتوان به صورت عمومی مورد بحث قرار داد و بسیاری از ویژگیهای دیگری که میتوان از این جنبههای همکارانه و اجتماعی بهرهمند شد.
گیت هاب فقط برای همه و نه تنها برنامه نویسان :
نکتهی جالبتوجه اینجاست که تنها این توسعهدهندگانِ وب نیستند که از سیستم گیت هاب استفاده میکنند. هر تیمی که در حال اعمال تغییرات بر روی پروژهای است میتواند با امکاناتی که گیت هاب در اختیارش میگذارد به پیشروی پروژهی خود کمک کند. اگر در تیم خود، دائماً در فایلهای ورد خود تغییر ایجاد میکنید، میتوانید از گیت هاب بهعنوان سیستم کنترل ورژن استفاده کنید. البته این راهکار چندان هم رایج نیست؛ چراکه در اغلب مواقع جایگزینهای بهتری هم وجود دارند، اما بهتر است که گیت هاب را هم به خاطر بسپرید.
از دسترس خارج کردن کاربران ایرانی :
محدود کردن دسترسی ایرانی ها به گیت هاب که طی یک سال اخیر توسط شرکت امریکایی مایکروسافت خریداری شده، واکنش توسعه دهندگان داخلی و در مواردی خارجی را در پی داشته است. عدهای اقدام گیتهاب را تبعیض علیه ایرانیان میدانند و عدهای نیز مایکروسافت را بهخاطر این موضوع سرزنش میکنند.
گیتهاب با ارسال ایمیلی به کاربران ایرانی، از مسدودشدن دسترسی آنها به سرویس خود با هدف تبعیت از تحریمهای اِعمالشده از سوی ایالات متحده علیه کشورمان خبر میدهد. متن ایمیل ارسالی به کاربران ایرانی گیتهاب بدین شرح است:
"بهموجب محدودیتهای مربوط به قوانین تجارت [خارجی] ایالات متحدهی آمریکا، حساب کاربری شما در گیتهاب مسدود شده است. کاربران حسابهای عادی (غیرسازمانی) تنها برای ارتباطات شخصی خود به سرویسهای مخازن عمومی گیتهاب دسترسی محدودی خواهند داشت."
در دنیای برنامه نویسی، گیت هاب بستری حرفه ای محسوب می شود که پروفایل برنامه نویسان در آن معادل پروفایل حرفه آنهاست. در مواردی که برنامه نویسی با شرکتی خارجی وارد همکاری شود؛ در اولین اقدام از برنامه نویس؛ تقاضای ارسال پروفایل گیت هابشان را برای بررسی می کنند. بر این اساس، نقش گیت هاب در دنیای برنامه نویسی غیر قابل انکار است. دیگر دسترسی به پروژه های اپن سورس ایرانی و خودمان نداریم و تنها به پروژههای اپن سورس خارجی می توانیم دسترسی پیدا کنیم.
جالب است در جریان باشید فیلتر شکن نیز در این رابطه اثرگذار نیست و عملا با هیچ روشی نمی توانیم این وضعیت را دور زده، تغییر داده و بی اثر کنیم.