کد مایکروسافت دیگر فقط به ویندوز تعلق ندارد.
در ۲۶ جون ۲۰۱۶ شرکت مایکروسافت این خبر را منتشر کرد: ورژن محبوب .NET Core 1.0 تنها بر سیستم عامل ویندوز اجرا نخواهد شد بلکه روی سیستمهای عامل لینوکس و مک OS X هم قابل اجرا خواهد بود. به علاوه .NET Core نرم افزار اوپنسورس (متنِباز) است. به این معنا که هر برنامهنویس نه تنها میتواند برای ساخت اپلیکیشن رایگان از کد آن استفاده کند، بلکه میتواند بسته به نیاز خود و دیگران آنرا تغییر یا ارتقا دهد.
مایکروسافت اولین بار .NET Core و کد منبع آنرا در سال ۲۰۱۴ منتشر نمود اما ورژنهای قبلی این نرمافزار آزمایشی بودند. امروز اولین باریست که مایکروسافت رسما از استفاده آن برای اپلیکیشنهای لینوکس و OS X، دو رقیب اصلی ویندوز، پشتیبانی میکند. رِدهَت Red Hat، یکی از شرکتهای اصلی فروشندهی لینوکس نیز اعلام کرد رسما از NET. در سیستم عامل لینوکس این شرکت پشتیبانی خواهد کرد.
این تغییر بزرگی نه تنها در مایکروسافت بلکه در صنعت نرمافزاری میباشد. طی ده سال اخیر بازار جهانی فنآوری از گوگل و فیسبوک گرفته تا تویتر برای ساخت خدمات آنلاین و دیگر فنآوریها از لینوکس و دیگر نرمافزارهای آزاد استفاده کردهاند و در نتیجه، شرکتهای فروشندهی حیطهی فنآوری اطلاعات- شرکتهایی که به شرکتها کمک می کنند خدمات آنلاین خود را توسعه دهند- بیشتر و بیشتر به نرمافزارهای آزاد روی آوردند. این امر شامل مایکروسافت، یکی از بزرگترین شرکتهای فروشندهی فن آوری اطلاعات، نیز میشود. مایکروسافت برای رقابت باید اطمینان حاصل کند علاوه بر .NET دیگر ابزارهای فنآوری اطلاعاتِ مایکروسافت روی تمام سیستم عاملها از جمله لینوکس نیز قابل اجرا باشد.
مایکروسافت پس از تکمیل .NET، ورژن پیش نمایشی از نرم افزار سرویسدهندهی پایگاه دادههای SQL خود را منتشر کرد که روی لینوکس قابل اجراست. نرم افزار پایگاه داده ها اوپنسورس/متنباز نبوده و هنوز برای عرضه به بازار آماده نیست. اما این اولین باریست که مایکروسافت این محصول را برای لینوکس عرضه میکند. همیشه نرم افزارهای مایکروسافت، از ترس به هم ریختن فروش پروانهی ویندوز، فقط روی سیستم عامل خودش قابل اجرا بود. اما دنیا تغییر کرده و مایکروسافت نیز تغییر میکند.
پیش زمینه
مایکروسافت سالهاست که بخشهایی از محیط .NET تحت بستهی نرم افزاری ASP.NET MVC در سال ۲۰۰۹ را به صورت نرمافزار متنباز در آورده بود. مایکروسافت همچنین در تطبیق دادن چند نرم افزار متنباز- از جمله پایگاه مترام سازی داده ها به نام Hadoopو ابزار کدگذاری Node.js با ویندوز کمک کرده بود. با اینحال مایکروسافت حتی پس از آنکه اعلام کرد از لینوکس در سرویس Azure cloud خود پشتیبانی می کند، برای سیستم عامل لینوکس نرم افزاری تهیه نکرد. مایکروسافت به اجرای لینوکس کمک میکرد اما در اجرای نرم افزارها کاربر را رها میکرد.
اما در سال ۲۰۱۴ اعلام کرد نه تنها قلب .NET را به صورت نرم افزار متنباز عرضه میکند، بلکه آنرا برای لینوکس و OS X سازگار کرد. سپس ابتدای امسال مایکروسافت شرکت Xamarin را خرید که مدتهاست جهت کمک به برنامه نویسان برای استفاده از فن آوری .NET نرم افزار تولید میکند. از این طریق برنامهنویسان مختلف برای پایگاههای متفاوتی از جمله لینوکس (از طریق نرم افزار متنباز Mono project) و سیستمهای عامل موبایل مانند اندروید و آی.اُ.اس نرم افزار تولید میکنند.
انگیزهی مایکروسافت از انتشار نرم افزار متنباز و پشتیبانی از لینوکس نوعدوستی یا ازخودگذری نیست بلکه برای بقایش ضروریست. طی سالهای گذشته تعداد سرورهای لینوکس از سرورهای ویندوز در بازار بیشتر شدهاست و برنامهنویسان برای تولید نسلِ بعدی اپلیکیشنها به زبانهای متنباز و بستههای نرم افزاری چون Ruby on Rails، پایتان و زبان Google’s Go روی آوردهاند. جولیا لیوسون، نایب رییس بخش برنامه نویسی مایکروسافت، می گوید تیمش از آن می ترسید مارکِ قدرتمند مایکروسافت از وجه بیفتد: «اگر با کدنویستان صحبت کنید، آنها برای محیط توسعه Visual Studio ارزش بسیار بالایی قایلند. با اینحال علیرغم خواستمان، برای این برنامهنویسان مایکروسافت محیط توسعهی مُدِ روزی نبود.»
پاسخ واضح بود: راه دستیابی به برنامهنویسان ارایهی نرم افزارِ متنباز بود. بنابراین لیوسون و مایکروسافت تلاش کردند .NET را بیش از گذشته قابل دسترس نمایند و نه تنها آنرا روی ویندوز قابل اجرا نمایند بلکه روی هر سیستمی که برنامهنویسان مایل به استفاده باشند.
تهدیدی برای ویندوز؟
لیوسون می گوید نگران نیستیم که قابل دسترس شدن .NET در لینوکس و OS X فروش پروانهی ویندوز را کاهش دهد. احتمالا این برنامهنویسان هرگز قصدِ استفاده از ویندوز را نداشتند. اما حالا شاید بخواهند پروانهی محیط توسعهی مایکروسافت Visual Studio و محصولات Xamarin را بخرند یا به جای خدمات کلود/ابرِ آمازون و گوگل از خدمات ابرِ Azure cloud استفاده نمایند.
اما نرم افزار متنباز فقط فروش بیشتر نرم افزار و خدمات نیست. حدود ۱۸٫۰۰۰ برنامه نویس از ۱٫۳۰۰ شرکتِ خارج از مایکروسافت در کامل شدن .NET Core 1.0 سهیم هستند. چرا به صورت رایگان روی محصول مایکروسافت کار می کنند؟ برای جیمز نیسواند و تیمش در شرکت بازیهای ایلیریاد، از این طریق فرصت فراهم می شود تا مشکلات .NET را خودشان رفع کنند و نیازی نیست صبر کنند تا مایکروسافت مشکل را برطرف نماید یا پایگاه برنامهنویسی خودشان را می توانند از پایه بسازند.
او می گوید «سه سال پیش اگر مشکلی در .NET مییافتیم گزارش خطایی برای مایکروسافت مینوشتیم. پس از چند هفته نامهیی دریافت میکردیم مبنی براینکه روی مشکل کار میکنند و شاید پس از یکسال مشکل برطرف میشد.» اما حالا شرکت خودشان مشکل را برطرف میکند و ظرف چند ساعت از مایکروسافت تاییدیه دریافت میکند.
مایکروسافت از این طریق سود زیادی میکند. مایکروسافت از .NET در خدمات کلود/ابرِ خود استفاده میکند بنابراین رفعِ اشکال در این پایگاه که از سوی شرکت ایلیارد و برنامهنویسان خارج از مایکروسافت صورت گیرد بر بهبود آن میافزاید. فیسبوک و گوگل نیز به همین صورت عمل میکنند. چناچه برنامهنویسی خارج از فیسبوک کشف کند چطور سرعت هستهی فیسبک ریاکت React را بالا ببرد، همه- از جمله کاربران- از سرعت بهتر سود خواهند برد. در صورتی که یک دانشجوی رشتهی هوشِمصنوعی راهِ ارتقای هوشِمصنوعی بسته نرمافزاریِ TensorFlow گوگل را بیابد، آن پژوهشگر از ابزار بهتری بهره خواهد برد و هر نرم افزار و برنامهی گوگل که به آن است نیز ارتقا مییابد. در نتیجه، برای گوگل سود تجاری به همراه خواهد آورد.
مایکروسافت هم بالاخره به این طرز تفکر تازه پیوسته و ما شاهد نتایج اولیه آن هستیم.
منبع: وایرد