نیاز زنجیره‌ی ارزش صنایع نرم‌افزاری به جایگزین داخلی Github

نیاز زنجیره‌ی ارزش صنایع نرم‌افزاری به جایگزین داخلی Github

در این مطلب به یک گلوگاه مهم در زنجیره‌ی ارزش صنعت نرم‌افزار ایران اشاره می‌کنم که پارسال به طور محدود تحریم شد، و چند روز پیش رفع تحریم. علیرغم رفع تحریم این سرویس، پیشنهاد من در این نوشته بر اینست که ما باید به دنبال ساخت یک جایگزین داخلی برای گیت‌هاب باشیم. اینکه کشور چین هم در آگوست سال ۲۰۲۰ در همین زمینه اقدامی جدی را کلید زده می‌تواند دلیل دیگری باشد برای نیاز به توجه به این موضوع. گیت‌هاب ۲ محصول یا شاخصه دارد: ۱. اشتراک کد ۲. کنترل نسخه‌های مختلف نرم‌افزارهای در حال توسعه یا رشد. این ۲ شاخصه و سرویس‌های این‌چنینی نقش به‌سزایی در فضای توسعه‌ی نرم‌افزار و کدباز داخلی، آموزش، و امید نسل حاضر توسعه‌دهندگان دارد و فکر می‌کنم نیاز باشد هرچه زودتر به فکر تحریم‌ناپذیرکردن آن باشیم.یکی از نقاط قوت صنعت اینترنت و نرم‌افزار در هر منطقه و کشور، کیفیت جامعه‌ی برنامه‌نویس Open Source یا کدباز آنست. فرهنگ و اکوسیستم اوپن‌سورس یا کدباز (باز به معنی باز بودن، نه بازی کردن)، این امکان را به برنامه‌نویسان می‌دهد که کد و برنامه‌های خود را با دیگران به اشتراک بگذارند. این اشتراک کد به برنامه‌نویسان اجازه می‌دهد که در زمان تولید محصولات اینترنتی جدید، به جای تولید همه‌ی نرم‌افزار از صفر، تا جای ممکن از کدهای آماده‌ی سایر برنامه‌نویسان استفاده کنند و تمرکز خود را روی آن ۲۰ درصدی از کار قرار دهند که ۸۰٪ نتیجه‌ی نهایی را رقم می‌زند (به جای آنکه بر ۸۰ درصدی از کار تمرکز کنند که شاید به ۲۰٪ از نتیجه‌ی نهایی منجر شود).به عنوان مثال، زمانیکه شما در حال یک نرم‌افزار هستید، احتمالا به یک سیستم مدیریت کاربری یا یک سیستم پرداخت آنلاین نیاز دارید. برای اینکه ارائه‌ی چنین سیستم‌هایی، یا تیم نرم‌افزاری شما باید این‌ها را از صفر بسازند، که زمان و هزینه‌بر است، و یا می‌توانند آن ۲ سیستم را در سایت‌هایی جستجو کنند که برنامه‌نویسان دیگر کدهای خود را در آن در اختیار عموم قرار داده‌اند. دلیل اصلی سرعت رشد صنایع نرم‌افزار برخلاف خیلی از صنایع دیگر همین بازیافت کد و انتقال و اشتراک دانش برنامه‌نویسان است.یکی از محصولات مهمی که در سراسر دنیا به این امر کمک می‌کند، گیت‌هاب نام دارد که اخیرا به مالکیت شرکت مایکروسافت درآمد. گیت‌هاب، یک مخزن است برای نگه‌داری و اشتراک نرم‌افزار و کنترل نسخه‌های مختلف آن، بر پایه‌ی فناوری گیت. در این مطلب به کنترل نسخه (ورژن) های مختلف یک نرم‌افزار یا جزییات این فناوری نمی‌پردازم، چون هدفم بیشتر یک نگاه استراتژیک به ریسک‌های مربوط به تحریم محدود گیت‌هاب علیه آی‌پی‌های ایرانی‌ست. اما به عنوان یک توضیح مختصر، گیت به برنامه‌نویسان اجازه می‌دهد تا در هر زمانی، بتوانند تمامی تغییرات و نسخه‌های گذشته در کدهایشان را ببینند و بتوانند با هر نسخه‌ی پیشین برگردند. گیت‌هاب عملا یک اینترفیس یا رابط کاربری برای این کار است، که البته این اجازه رو هم به برنامه‌نویسان می‌دهد که بطور همزمان روی یک کد کار کنند، بدون اینکه کار همدیگر رو از بین ببرند. و در کنار این‌ها، گیت‌هاب به کاربران این اجازه را هم می‌دهد که پروژه‌های خصوصی تشکیل دهند (چون اوپن‌سورس اختیاری است و نه اجباری).پارسال گیت‌هاب تصمیم به تحریم محدود کاربران ایرانیش شد. محدود به این معنی که برنامه‌نویسان ساکن ایران دیگر امکان داشتن پروژه‌های خصوصی در گیت‌هاب نیستند (پروژه‌هایی که برای عموم قابل مشاهده نیست). خب، این باعث شد تعداد زیادی از برنامه‌نویسان کدهای ارزشمند خود را بدون اطلاع قبلی از دست بدهند. به نظر من این یک زنگ خطر برای صنعت نرم‌افزار ایران است چون اگر روزی این تحریم و تحریم‌های این چنینی، وسیع‌تر شوند و دسترسی برنامه‌نویسان ایرانی به کدهای دیگران دشوار شود، این ۳ خطر خواهد داشت:کاهش سرعت و کیفیت توسعه‌ی نرم‌افزار در کشور در بلند مدتتاثیر منفی بلند مدت بر آموزش و یادگیری فناوری‌های نرم‌افزاری نوین و لبه‌ی تکنولوژی کاهش امید و کیفیت تجربه‌ی برنامه‌نویسان داخلی در کوتاه مدت می‌شود از جایگزین‌های خارجی دیگر (GitLab، و دیگران) یا سرورهای داخلی استفاده کرد، اما اگر دستمان از میلیون‌ها خط کد برنامه‌نویسان سراسر دنیا کوتاه شود، عملا مجبور خواهیم شد به صورت هفتگی ۸۰٪ زمانمان را صرف اختراع دوباره‌ی چرخ کنیم، و ۲۰٪ باقی را صرف تولید نرم‌افزارهای نو.من در سال ۲۰۱۶ یک گروه تولید محصولات اینترنتی در دانشگاهم در مالزی تاسیس کردم که امروز بزرگترین باشگاه فناوری دانشجویی در این کشور است و مشاهدات دقیقی از رفتار و طرز یادگیری علوم رایانه در میان ۶۰٪ میانی و ۲۰٪ بالایی دانشجویان داشتم. ۶۰٪ میانی بماند برای بعد اما در میان ۲۰٪ بالایی، بسیار مهم است که دانشجو بتواند به کدی که توسط دیگران نوشته شده دسترسی داشته باشد، آن را به سرعت اجرا کند، تغییر دهد، و آن را مهندسی معکوس کند، تا جایی که روزی خودش بتواند خلق اثر جدید کند. زمانیکه دسترسی به کد سخت شود، تعداد سناریوهای کنجکاوی یک دانشجو کاهش پیدا می‌کند و این در بلندمدت مضر است. کیفیت تجربه‌ی کار و زندگی مهندسین نرم‌افزار برتر (۲۵٪ بالای جامعه‌ی مهندسین نرم‌افزار) تا حد زیادی به این موارد بستگی دارد: کیفیت، سختی، مقیاس و/یا تازگی مسائلی که حل می‌کنند (مثال: ساخت یک وبسایت پخش ویدیو که می‌تواند همزمان توسط ده‌ها یا صدها میلیون مخاطب مورد بازدید قرار بگیرد)کارکردن با تیم‌ها و افراد و مدیرانی که خود آنها هم باهوش و باکیفیت هستنددسترسی به ابزارهای نوین مهندسی نرم‌افزار (مثال: استفاده از LaunchDarkly برای شخصی‌سازی تجربه‌ی کاربران مختلف در یک اپلیکیشن موبایل)حقوق و مالکیت و مزایای عالیدر میان اینها، کاهش دسترسی به ابزارها (شامل ابزاری مانند گیت‌ها) می‌تواند تاثیر منفی روی مابقی موارد هم داشته باشد و از درون یک دلیل واگیردار برای امید بریدن از فضای توسعه‌ی نرم‌افزار داخلی ایجاد کند.۲ راهبرد جدا برای تحریم‌ناپذیرکردن ۲ شاخصه‌ی اصلی گیت‌هاب و سایر محصولات این‌چنینی پیشنهاد می‌کنم: یک سرور ملی گیت که به شرکت‌ها و افراد ایرانی مختلف (یا افراد تحت حوزه‌ی تمدنی ایران) اجازه می‌دهد مثل گیت‌هاب، پروژه‌های نرم‌افزاری و کدهای خود را در آن بارگزاری کنند و با سایر برنامه‌نویسان مشارکت داشته باشند.یک وبسایت به مانند Sci-Hub اما برای اشتراک کد (سای‌هاب وبسایتی است که که همه‌ی مقالات دانشگاهی جهان را به صورت رایگان برای همگان قابل دسترسی می‌کند. این سایت در غرب قانونی نیست و طرز ایجاد آن هم قانونی به حساب نمی‌آید چون به کارتل دانشگاه‌های غرب ضربه می‌زند. به همین شکل، و با همین سازوکار، می‌توانیم کارتلی را که هرازچندگاهی می‌کوشد اکوسیستم کدباز را برای ایرانیا ببندد، خنثی کنیم).

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *