مايكروسوفت والمصدر المفتوح: حين سقطت فكرة الطريق الوحيد
سيطرت مايكروسوفت في الماضي على عالم البرمجيات عبر ويندوز (Windows)، وأوفيس (Office)، وفيجوال ستوديو (Visual Studio)، محوّلةً قوّتها التقنية إلى هيمنة على المنصات. وعلى الرغم من أن بيئة تشغيل اللغات المشتركة (CLR) كانت نجاحًا هندسيًا مستدامًا، إلا أنها لم تتحول قط إلى البوابة الموحدة لجميع لغات البرمجة. ومع بروز المصادر المفتوحة، ونظام لينكس، والويب، واشتداد المنافسة والضغوط القانونية، اضطرت مايكروسوفت إلى تبني أدوات تعمل عبر مختلف المنصات، وجعل دوت نت (.NET) مفتوح المصدر، وكسب ثقة المطورين من خلال إتاحة حرية الاختيار والشفافية.

عرفت مايكروسوفت زمنًا بدا فيه أن الطريق إلى معظم مستخدمي الحاسوب يمر عبر بوابتها. كان Windows على الأجهزة، وOffice في المؤسسات، وVisual Studio بين أيدي المطورين. لم تكن تلك الهيمنة وهمًا، ولم تأتِ من فراغ؛ فقد بنت الشركة منتجات قوية، ووفرت أدوات جعلت بناء البرامج ونشرها أسهل لملايين الناس. لكن القوة التقنية لا تمنح صاحبها حق تقرير الطريق الذي يجب أن يسلكه الجميع.
هذه المسافة بين صناعة أدوات ممتازة وتحويل الأدوات إلى بوابات إلزامية هي أصل اعتراضي على مايكروسوفت، رغم أنني عملت خلال مسيرتي بمعظم منتجاتها تقريبًا.
قوة حقيقية، وتاريخ لا يجوز تلميعه
من الظلم إنكار أثر مايكروسوفت في البرمجة الحديثة. لقد أتاحت Windows وبيئة التطوير التابعة لها سوقًا واسعًا للبرمجيات، واستثمرت بكثافة في الأدوات والتوثيق والتوافق مع الإصدارات السابقة. يستطيع المرء أن ينتقد الشركة بشدة، وأن يعترف في الوقت نفسه بقدرتها الهندسية الهائلة.
لكن انتقاد نزعتها الاحتكارية ليس مجرد انطباع شخصي. ففي قضية مكافحة الاحتكار الأمريكية، قررت المحكمة أن مايكروسوفت امتلكت قوة احتكارية في سوق أنظمة تشغيل الحواسيب الشخصية المتوافقة مع معالجات Intel، ووثقت ممارسات استخدمتها لحماية موقع Windows من تهديدات البرمجيات التي يمكن أن تعمل عبر أنظمة مختلفة، ومنها المتصفحات وJava. وقائع المحكمة
كانت الرسالة التي تلقاها كثير من المطورين واضحة: يمكنك أن تبني داخل المنظومة، لكن خروجك منها قد يكون مكلفًا. وحين تصبح تكلفة الخروج مرتفعة بسبب الاعتماد على واجهات وأدوات وتنسيقات ومسارات توزيع يسيطر عليها طرف واحد، تتراجع حرية الاختيار حتى لو كان الدخول إلى المنظومة سهلًا ومغريًا.
CLR: عبقرية هندسية أم مركز جديد للسيطرة؟
عندما ظهرت منصة .NET، قدمت مايكروسوفت فكرة قوية: يمكن للغات مختلفة أن تنتج شيفرة وسيطة وتعمل فوق بيئة تشغيل اللغة المشتركة (CLR)، مستفيدة من نظام أنواع مشترك ومكتبات وخدمات تنفيذ وإدارة للذاكرة. هذا إنجاز هندسي يستحق التقدير. لقد سهّل التفاعل بين مكونات مكتوبة بلغات مختلفة، وأعطى مطوري التطبيقات مكاسب حقيقية في الإنتاجية. كما أن بنية البنية التحتية المشتركة للغات (CLI) وُصفت في معيار عام هو ECMA-335؛ لذلك لا يصح تصوير الفكرة كلها على أنها سر تقني مغلق. معيار ECMA-335
لكنني، بصفتي مطورًا، رأيت وجهًا آخر لهذا العرض. فكلما زاد اعتماد لغة أو شركة على CLR ومكتبات .NET وأدوات المنصة، ازداد ارتباط قراراتها بمركز تملك مايكروسوفت فيه نفوذًا كبيرًا، خصوصًا في السنوات التي كان فيها .NET Framework مرتبطًا أساسًا بـWindows. لغة البرمجة ليست مجرد صياغة نحوية؛ بل لها نظام أنواع، ونموذج للذاكرة، ومكتبات، وواجهات للنظام، وأدوات للبناء والنشر. ومن يسيطر على هذه الطبقات يستطيع التأثير في اتجاه اللغة المبنية فوقها.
هل توجد وثيقة تثبت أن مايكروسوفت أعلنت نيتها إخضاع كل لغات البرمجة لـCLR؟ لا أملك مثل هذا الدليل، ولا أريد أن أنسب إلى الشركة نية غير موثقة. ما أصفه هنا هو قراءتي لآثار استراتيجية المنصة وحوافزها: عرض شديد الجاذبية يدعو الآخرين إلى بناء لغاتهم ومنتجاتهم داخل عالمها. وكان من حقي، ومن حق غيري من المطورين، أن نرفض أن يصبح هذا العالم مرجعًا إلزاميًا لصناعة البرمجيات.
لذلك يجب أن نكون دقيقين في الحكم على النتيجة: لم يكن CLR فشلًا تقنيًا كارثيًا؛ الذي فشل هو فكرة أن يصبح CLR الطريق الوحيد الذي تخضع له لغات العالم وشركاته. واصلت لغات وبيئات وأدوات قوية ازدهارها خارجه، واستمرت البرمجة الأصلية والأنظمة المفتوحة والمنصات المنافسة في التقدم. ولا يمنح نجاح .NET داخل مجالاتها المنصة حق احتكار مستقبل البرمجة كله.
كيف كسر المصدر المفتوح هيبة المركز الواحد؟
لم يحتج مجتمع المصدر المفتوح إلى شركة واحدة تضاهي مايكروسوفت في الحجم. جاءت قوته من تعدد المراكز: أنظمة تشغيل وأدوات ومترجمات ومكتبات يستطيع الناس استخدامها ودراستها وتطويرها من دون طلب إذن من شركة بعينها. ومع نمو Linux والويب والأدوات متعددة المنصات، أصبح على كل شركة تريد اجتذاب المطورين أن تعمل داخل عالم لا تستطيع إغلاقه على نفسها.
لم يكن المصدر المفتوح القوة الوحيدة التي دفعت مايكروسوفت إلى التحول؛ فقد غيّرت الويب والأجهزة المحمولة والحوسبة السحابية والمنافسة والرقابة القانونية السوق أيضًا. لكن التقليل من أثر مجتمع المصدر المفتوح إنكار لتحول شاهدناه بأعيننا: أصبح دعم الأنظمة المختلفة والمشاركة في تطوير الأدوات وسيلتين مهمتين لكسب ثقة المطورين، بدلًا من كونهما منحتين تقدمهما الشركة متى شاءت.
تُظهر قرارات مايكروسوفت نفسها حجم هذا التحول. ففي عام 2014 أعلنت أن مترجمي C# وVisual Basic في مشروع Roslyn سيصبحان مفتوحي المصدر. ثم أعلنت فتح .NET Core، بما في ذلك بيئة التشغيل والمكتبات الأساسية، وذكرت صراحة أن بناء منصة .NET تعمل عبر الأنظمة وتقوية المجتمع المحيط بها كانا من أسباب القرار. واليوم تقدم مايكروسوفت .NET بوصفها منصة مفتوحة المصدر تعمل على Windows وLinux وmacOS. تستحق هذه الوقائع الاعتراف بها، لكنها لا تمحو تاريخ الشركة ولا تعني أن كل ما توزعه مفتوح المصدر. إعلان Roslyn · إعلان .NET Core · موقع .NET
حتى VS Code، الذي أستخدمه، يذكّرنا بضرورة التدقيق في التفاصيل. فالشيفرة المصدرية لمشروع Code - OSS منشورة بموجب ترخيص MIT، بينما تخضع نسخة Visual Studio Code التي توزعها مايكروسوفت لترخيص منتج مختلف، وتتضمن إضافات خاصة بمايكروسوفت. والانفتاح ليس مفتاحًا يكون في وضع التشغيل أو الإيقاف فحسب؛ بل علينا أن نسأل دائمًا: أي شيفرة مفتوحة؟ ومن يسيطر على التوزيع؟ وما الذي يظل مغلقًا؟ التوضيح الرسمي لـVS Code
موقفي بصفتي مطورًا
استخدمت خلال مسيرتي معظم منتجات مايكروسوفت تقريبًا. واليوم لا أستخدم منها في عملي المعتاد إلا Windows، وOffice أحيانًا، وVS Code. لا أنكر قيمة هذه الأدوات، ولا أطلب من الآخرين عدم استخدامها. لكنني لا أريد أن أبني مستقبلي التقني على افتراض أن شركة واحدة يجب أن تقف في مركز كل لغة ومترجم ومكتبة ومنصة نشر.
ما كسره المصدر المفتوح لم يكن قدرة مايكروسوفت على الابتكار أو النجاح؛ فالشركة ما تزال قوية، وقد تعلمت كيف تعمل داخل العالم المفتوح. الذي انكسر هو هيبة الطريق الوحيد: الفكرة التي توحي للمطورين بأن عليهم المرور عبر بوابة واحدة كي يجد عملهم مكانًا في السوق.
هذا، في رأيي، هو الانتصار الحقيقي لمجتمع المصدر المفتوح. فهو لم يُلغِ مايكروسوفت، بل أجبر حتى عملاقًا بحجمها على مخاطبة المطورين بالمبادئ التي يقدرونها: قابلية التشغيل البيني، والقدرة على فحص الأدوات التي يعتمدون عليها، ودعم الأنظمة المختلفة، وحرية اختيار الطريق. ويجب أن نستمر في الدفاع عن هذه المبادئ، سواء جاء خطر البوابة المغلقة من مايكروسوفت أم من أي شركة أخرى.
مقالات ذات صلة
نهايةُ المبرمج العادي: السوق لا يرحم من يخاف الذكاء الاصطناعي ولا من يستسلم له
لم تختفِ وظائف البرمجة، لكن زمن المبرمج العادي انتهى. فالذكاء الاصطناعي خفّض قيمة الأعمال المتكررة ورفع سقف المنافسة. المبرمج الذي يعتمد عليه بلا فهم سيسقط عند أول مشكلة حقيقية، والمحترف الذي يرفضه سيدفع ثمن البطء. أما الفائز فهو من يجمع عمق المعرفة، ودقة المراجعة، وسرعة الأدوات الحديثة. المستقبل لمن يستخدم الذكاء الاصطناعي بوعي، ويفهم كل ما ينتجه، ويتحمل مسؤوليته كاملة. فالفهم أصلٌ، والإتقان حصن.
لا خجل بعد اليوم من استخدام الذكاء الاصطناعي في البرمجة
لا خجل من استخدام الذكاء الاصطناعي في البرمجة؛ فالاحتراف لا يُقاس بعدد الأسطر التي يكتبها المهندس بيده، بل بقدرته على تصميم الحل وفهمه ومراجعته واختباره وتوثيقه. الذكاء الاصطناعي أداة هائلة لتسريع التطوير، لكنه لا يعفي من فهم الأساسيات أو تحمل المسؤولية. المهندس الحقيقي يقوده، يحدد القيود، يتحقق من النتائج، ويرفض ما لا يفهمه. عندها يصبح الذكاء الاصطناعي مضاعفًا لقوة المهندس، لا بديلًا عنه.
من مجلد «MyLang» إلى ForgeLang - سيرة حلم بدأ عام 2000 وتحول بعد ربع قرن إلى لغة برمجة حقيقية
بدأ حلم ForgeLang عام 2000 داخل مجلد صغير باسم MyLang، بعد اختفاء لغة GLPro التي أحببتها. وبعد محاولات ودراسات امتدت ربع قرن، بنيت ForgeAssembler أساسًا للغة أنظمة حديثة، سريعة وآمنة، تقارب أداء C بلا تكاليف خفية. وبمساعدة الذكاء الاصطناعي تحول الحلم إلى مشروع حقيقي، أخطط لطرحه مفتوح المصدر خلال الربع الأول من 2027، ضمن منظومة متكاملة من المكتبات وأدوات الإنتاج.