مایکروسافت در طول سالهای گذشته به دلایل مختلفی مورد انتقاد جامعهی متنباز و گنو/لینوکس قرار گرفته است؛ از سیاستهای انحصاری و تاکتیکهای سلطه بر بازار گرفته تا «سرطان» نامیدن لینوکس توسط مدیرعامل پیشین این شرکت، استیو بالمر. مایکروسافت تحت رهبری ساتیا نادلا اما میخواهد خاطرات تلخ گذشته را فراموش کرده و با جنبش متنباز آشتی کند. با سامانهمراه باشید.
آماندا سیلور ریاست بخش مدیریت برنامههای ویژوال استودیو را در مایکروسافت بر عهده دارد؛ پلتفرم و ابزاری که به توسعه دهندگان این امکان را میدهد تا هر نوع اپلیکیشنی را بسازند. سیلور از زمان ترک دانشگاه در سال ۲۰۰۱ در مایکروسافت مشغول به کار بوده و سالهای ریاست بالمر را نیز تجربه کرده است.
اما این چهرهی رسانهای مایکروسافت که وظیفهی توضیح دادن استراتژیهای مایکروسافت را بر عهده دارد، چرخش ناگهانی غول نرم افزاری دنیای تکنولوژی از مواضع پیشین خود را چگونه توضیح میدهد؟
سیلور میگوید:
من شاهد تحول بزرگی در مایکروسافت هستم و قطعاً اینطور فکر میکنم که آمدن ساتیا [نادلا] باعث بعضی از این تغییرات شده است؛ هرچند بسیاری از تغییرات قبل از آمدن نادلا در حال انجام بودند. من کار خود را با توسعهی وب و کار بر روی چاکرا (Chakra)، موتور جاوا اسکریپت مایکروسافت که در اج استفاده میشود شروع کردم. در آن زمان تیم آفیس در حال تلاش برای حرکت به سمت تبدیل این محصول به یک سرویس و آماده شدن برای آفیس ۳۶۵ و اشتراکهای ابری بود. برای این منظور آنها مجبور بودند کدهایی که ۲۰ سال قدمت داشتند و به زبانهای ++C و #C نوشته شده بودند را توسط هزاران برنامهنویس به کدهایی تبدیل کنند که در مرورگرها قابل اجرا باشند.
بنا به گفتههای سیلور به نظر میرسد که مایکروسافت مدتها پیش رشد سرویسهای آنلاین و ابری را پیشبینی کرده بوده و مشغول آماده شدن برای مواجهه با آن بوده است. تغییر به سمت فضای ابری و متن باز به وضوح برای این شرکت سخت بوده است، اما تا چه حد؟ سیلور در این باره اینطور توضیح میدهد:
وقتی به اجزای غیر قابل استخراج یک نرمافزار مانند موتور محاسباتی اکسل نگاه کنید، این قسمتها هنگام گذار به سمت سرویسهای آنلاین و فضای ابری تقریباً بدون تغییر باقی میمانند. اما در حوزههایی مانند رابط کاربری (UI) تغییرات زیادی لازم است و باید از نو کد بنویسید. همچنین باید رانتایمهای برنامه را از نو تنظیم کنید تا بتواند در مرورگرهای متداول اجرا شود.
تمام آنچه تا اینجا گفته شد دربارهی تغییرات به سمت فضای ابری بود، اما متن باز چه میشود؟ بنا به گفتههای سیلور استفاده از جاوا اسکریپت در سطحی که مایکروسافت میخواست از آن استفاده کند، چالش بسیار بزرگی بوده است. این زبان کنترل مرزی (boundary control) کمی به ردموندیها میداد. اگرچه مایکروسافت از اینکه بر روی جاوا اسکریپت کار کرده و موجب تکامل استانداردهای آن شود خوشحال بود، اما روند این تکامل و اعمال تغییرات کند بودند و در نهایت آنها مجبور شدند دست به ساخت تایپ اسکریپت بزنند.
تایپ اسکریپت (TypeScript)
تاخیر کمیتهی مسئول استانداردهای جاوا اسکریپت در اعمال تغییرات مورد نیاز مایکروسافت یکی از دلایلی بود که منجر به خلق تایپ اسکریپت (TypeScript) شد. تایپ اسکریپت حکم جاوا اسکریپت وسیعتر را برای مایکروسافت دارد. اساس و پایهی زبان تایپ اسکریپت بسیار شبیه جاوا اسکریپت است؛ زبانی که برای میلیونها توسعه دهنده از قبل آشنا است.
سیلور دربارهی علت متن باز شدن تایپ اسکریپت اینگونه توضیح میدهد:
ما از این موضوع مطلع بودیم که اگر قرار باشد تیم آفیس ۳۶۵ تنها مشتری تایپ اسکریپت باشد، این زبان هیچگاه آنطور که شایستهی آن است تکامل پیدا نخواهد کرد و به حداکثر پتانسیل خود نخواهد رسید. در آن زمان مایکروسافت در میان جامعهی توسعه دهندگان وب جایگاه قابل احترامی نداشت. بنابراین باید راهی پیدا میکردیم تا محصول خود را بدون اینکه موجب ناراحتی و رنجش این جامعهی عظیم شود به آنها عرضه کنیم و بتوانیم با آنها برای تکامل این زبان تعامل داشته باشیم. مهمترین انتظار جامعهی توسعه دهندگان وب از ما متن باز بودن تایپ اسکریپت بود و ما متوجه شدیم که حرکت به سوی متن باز تنها گزینهی پیش روی ما است. در آن زمان مایکروسافت هنوز برای متن باز شدن آماده نبود؛ هرچند تیمهایی در مایکروسافت بر روی تکنولوژیهای متن باز مشغول به کار بودند.
چالش مایکروسافت یافتن راهی برای رساندن پروژهی خود به دست جامعهای بود که از اعتبار چندانی میان آنها برخوردار نبود. نکتهی جالب اینجا است که تمامی این اتفاقات تحت ریاست استیو بالمر به وقوع پیوستند، مردی که لینوکس را سرطان میخواند.
- سیلور توضیح میدهد که مایکروسافت همچنین یاد گرفت که باید فرآیند طراحی خود را به صورت آنلاین منتشر کند. این کار باعث کسب اعتبار برای مایکروسافت و قبول مشارکت در پروژه توسط جامعهی متن باز در آینده میشد.
خطر انشعاب
تغییر استراتژی مایکروسافت اتفاقی ناگهانی نبود، بلکه ماهها و شاید سالها طول کشید تا غول نرم افزاری به این نتیجه برسد که باید استراتژی خود در قبال متن باز را مورد بازنگری قرار دهد. تایپاسکریپت به مایکروسافت کمک کرد تا متوجه شود چارچوب برنامه نویسی دات نت (NET.) خود را نیز باید متن باز کند.
سیلور دربارهی سختی تصمیم متن باز کردن پروژهها در مایکروسافت میگوید:
ما از خطرات متن باز کردن برای شرکتها مطلع هستیم. همیشه این خطر وجود دارد که کسی پروژهی شما را گرفته و انشعابی در آن ایجاد کند و در نهایت آن انشعاب از پروژهی شما محبوبتر شود. با توجه به این موضوع، تنها راه موفقیت در متن باز این است که به جامعهی توسعه دهندگان پاسخگو باشید.
سیلور تاکید دارد که مایکروسافت قرار است همچنان به رویهی متن باز خود ادامه دهد و حتی کار بر روی پروژههایی مانند کوردووای آپاچی (Apache Cordova) را نیز شروع کرده است. در حقیقت مایکروسافت مدتی است که بر روی هستهی کوردووا و رانتایمها و پلاگینهای این اکوسیستم کار میکند. زامارین (Xamarin) را نیز نباید فراموش کرد. پروژهای که در ابتدا متن باز بود، سپس برای تجاری سازی بسته شد و در نهایت دوباره توسط مایکروسافت متن باز شد.
تغییرات جدید مایکروسافت میتوانند دو دلیل عمده داشته باشند. بخشی از سیاستهای جدید مایکروسافت در رابطه با متن باز به تصمیمات تجاری و فنی مربوط میشود و در حقیقت برای مایکروسافت به عنوان یک شرکت تجاری، حرکت در این مسیر اجتناب ناپذیر است. از طرفی مایکروسافت تلاش دارد تا با سیاستهای جدید به نوعی رابطهی تیرهی خود با جامعهی متن باز را ترمیم کند. بسیاری از توسعه دهندگان با در نظر گرفتن دلیل اول، به اقدامات اخیر مایکروسافت با دیدهی تردید مینگرند. عدهای دیگر اما از این چرخش مایکروسافت استقبال کرده و دوست دارند یک شانس دیگر به این شرکت بدهند.