يونيو 29، 2009

ماهو الموقف من مونو Mono بكل حيادية و موضوعية؟

مند الإعلان عن التخلي عن برنامج Tomboy (الذي يعتمد على إطار العمل البرمجي مونو Mono) و تعويضه ببرنامج غنوت Gnote (الذي يعتمد على سي++) في الإصدار القادم من توزيعة فيدورا، و الأخبار تملأ الإنترنت بمخاوف البعض من مونو و المخاطر المستقبلية المتعلقة بالملكية الفكرية في حالة تم الإعتماد عليه لتطوير البرمجيات الحرة.

فما هو وضع مونو Mono من كل المخاوف و المخاطر التي تحوم حوله بكل موضوعية و حيادية؟


أولا، ما هو مونو؟
مونو عبارة عن إطار عمل برمجي حر و مفتوح المصدر صمم خصيصا ليكون بديل مفتوح المصدر للإطار البرمجي دوت نت (Net Framework) على منصة جنو/لينوكس، يونكس، ماك و حتى ويندوز.

و أين تكمن المخاوف؟
تقنية دوت نت هي من إبتكار و تطوير مايكروسوفت Microsoft و هذا يجعلها مالكة لتلك المنصة و بالتالي فهي تملك الأحقية في إمتلاك براءات الإختراع (patents). و فعليا في حوزتها العديد منها.

غير أن مايكروسوفت قامت في صيف 2001 بطلب إجتياز و إعتبار لغة سي شارب C# و اللغة العامة للبنية التحتية (Common Language Infrastructure) كمعيار قياسي موحد و معترف به من طرف ECMA و ISO. و للحصول على هذا الإعتراف يجب توفير التقنية بشروط معقولة وغير تمييزية، و فعلا هذا هو ما حصل. الشيء الذي يسمح للأخرين بإمكانية تطوير برمجيات تستخدم هذه المعايير دون تخوف.

لكن

الإطار البرمجي دوت نت يتكون من أجزاء أخرى لا ينطبق عليها هذا المعيار كـ:
  • WinForms: الذي يوفر الأدوات و المكونات المسؤولة عن توفير الواجهة الرسومية.
  • ADO.Net: الذي يوفر مكونات التواصل مع قواعد و خدمات الباينات.
  • ASP.Net: الذي يوفر مكونات تصميم المواقع الدينامكية و خدمات و برمجيات النت.
  • باﻹضافة إلى WPF, WCF, WF و LINQ
و بالتالي فإن هذه الأجزاء المهمة تبقى غير مغطات بأي ضمان أو رخصة تسمح بإستخدامها. و حتى مبادرة المصدر المشترك التي قامت بها مايكرسوفت في 2007 لا تقدم أي ضمان.


أين مونو من كل هذا؟
في البداية كان هذف مونو هو تطوير إطار عمل متوافق للمعيار القياسي الموحد لـدوت نت (ECMA/ISO). و قد تحقق هذا الهذف و هو مغطى بتصريح يسمح بإستخدامه من طرف اي شخص و لأي غاية.
اما اليوم فقد تمكن مونو من توفير دعم للأجزاء الثلاثة الاساسية الأخرى (WinForms و ADO.Net و ASP.Net) بالإضافة إلى مكونات  أخرى (برمجيات و مقاييس مفتوحة المصرد و موحدة) كـ  OpenGL و GTK و Mozilla.
و بما أن تلك الأجزاء الأخرى الخاضعة لمايكروسوفت لا يوجد عليها أي ضمان فإن إستخدامها لتطوير البرمجيات يحمل مجازفة يجب و ضعها في الحسبان.

لماذا تعتبر مجازفة؟
لأن مايكروسوفت كأية شركة اخرى تقوم بأبحاث و تنفق الأموال لتطوير التقنيات الجديدة/المبتكرة، و من الطبيعي أن تطالب بالحصول على براءات إختراع من مكتب الولايات المتحدة الامريكية لبراءات الإختراع و العلامات التجارية (USPTO) أو حتى من المكاتب المخصص لذلك في بلدان أجنبية.
و فور حصول أي شركة على براءة إختراع يصبح من حقها ترخيص تلك التقنية لأية جهة أخرى، كما يمكن أن تلاحق أية جهة طورت تقنية مطابقة لها. و مدة إمتلاكها هو 20 سنة!

لكن هل هذا دليل نوايا مايكروسوفت؟
أكدت مايكرسوفت في أكثر من مناسبة انها تريد إستخدام قانوني لملكيتها الفكرية و انها تفضل ترخيصها لصالح إعلاء قيمة و مردود الشركة بالنسبة لمالكي أسهم مايكروسوفت.
كما دخلت في نزاعات قضائية في أكثر من مناسبة و كانت آخرها مع شركة طوم طوم حول إنتهاك الملكية الفكرية بخصوص طريقة حفظ الملفات بإستخدام نظام تسير الملفات FAT. و هذا ما دفع مطويري لينوكس إلى إدخال تعديلات على النواة 2.6.30 لتفادي أي هجوم مسقبلي بخصوص ذلك.

نظام تسيير الملافات FAT يعتبر بديهي و قديم و إستخدامه أصبح محدود، و لكن ورغم ذلك قامت مايكروسوفت بالدفاع عن ملكيتها الفكرية.

ما هي الخلاصة؟
  • توفير إطار برمجي بديل لمنصة دوت نت أمر مهم لأنه يساعد على خلق توافقية أفضل بين مختلف المنصات المتواجدة و ربما قد يشجع البعض على إستخدام لينوكس أو الإنتقال إليه.
  • إستخدام مونو لتطوير برمجيات بلغة السي شارب مع إستخدام واجهة رسومية مفتوحة المصدر ك GTK يبقى إختيار مناسب و لا خوف منه.
  • إستخدام مونو لتعلم لغة سي شارب أو إستخدامه في تطوير البرمجيات الحرة المكملة (التي تقدم خدمات بسيطة) يبقى إختيار شخصي و لا خوف منه تقريبا لانه يسهل إستبدالها ببرمجيات أخرى في حالة نزاع.
  • أي إستخدام لمونو لتطوير مكتبات و برمجيات أساسية سيتم إعتمادها لتطوير مكوانات و برمجيات أساسية كواجهة مكتبية أو حزمة مكتبية مثلا يعتبر مجازفة حقيقية قد تحمل عواقب وخيمة في المستقبل.

هل ستنتهي هذه الأخبار و المخاوف يوما ما؟
لن تزول المخاوف حتى أن تقوم مايكروسوفت بإحدى الخطوات التالية:
  • ترخيص منصة دوت نت تحت رخصة حرة كـ جيبيئل GPL 3
  • الإعلان بشكل رسمي أنها لن تقوم بملاحقة المبرمجين الذي يستخدمون هذه التقنيات في البرمجيات الحرة و المفتوحة المصدر.
تحديث 07/07/2009: أخبرت مايكروسوفت أنها ستعلن على أن تشمل C# و CLI في وعدها للمجتمع (Community Promise). و هو وعد سبق و أن قدمته للمجتمع بعدم ملاحقة من يستخدم بعض تقنيات مايكروسوفت لتطوير البرمجيات دون أي ترخيص. لا يحل هذا كل الخلاف (على ما أعتقد) لكنها خطوة جيدة تشكر عليها.

روابط إضافية:
الأسئلة الأكثر تكرار حول ترخيص مونو.
صفحة الملكية الفكرية و الترخيص لمايكروسوفت.
لماذا لا يجب علة البرمجيات الحرة ان تعتمد على مونو أو سي شارب C#
مشروع مونو.

ليست هناك تعليقات:

إرسال تعليق