قلما نجد تواجداً عربياً في عالم المصادر المفتوحة وإن وجدت فهي اجتهادات فردية تفتقر للبيئة الجماعية في العمل. غير أنه مع تلك الجهود الفردية تخرج لنا أعمال إبداعية تفيد المستخدم العربي للحاسب وتسهل تعامله معه.

والشاب المصري محمود سمير إبراهيم فايد - الطالب بكلية الهندسة الالكترونية - قد أثبت أن العمل الفردي والإسهام في عالم المصادر المفتوحة ليست حكرا على البيئات الجماعية بل بالإمكان نشر أي عمل إبداعي ليستفيد منه الجميع عبر مشروعه البرمجة بدون كود. يعتبر محمود من الشباب الذين ترعرعوا منذ نعومة أظفارهم على استخدام الحاسب وبرمجته - على يد والده الذي يعمل مهندساً للحاسب. ففي العاشرة من عمره بدأ تعلم البرمجة من خلال مساعدة والده ومستعينا بمكتبة عربية مليئة بالكتب التي كان يعتمد عليها والده كمراجع له، وفي عام 2000وصل محمود إلى مرحلة إتقان للبرمجة على المستوى الذي كان عليه والده وزملاءه من حيث الكفاءة ولكن بالطبع لم يكن يملك خبرة السنين التي يمتلكونها نتيجة الأعمال التي قاموا بها. بعدها بدأ محمود يتجه إلى البحث العلمي وبالتحديد في الجزء الأخير الخاص بنظام التشغيل والمتعلق بنظام إدارة الواجهة الرسومية وذلك لانبهاره بالاختلافات الجذرية بين الأنظمة التي تعتمد على الواجهة الخطية مثل نظام MS-DOS والأنظمة التي تدعم البيئة الرسومية مثل نظام ويندوز. و في عام 2006حرص محمود على توثيق ما يصل إليه من معلومات من خلال طرح الكتب العربية المجانية وذلك في موقع كتب (www.kutub.info)، وقد قدم كتابين هما (أعمق أسرار البرمجة - الجزء الأول و الجزء الثاني). صفحة تقنية المعلومات حاورت الشاب محمود للاطلاع أكثر على مشروع البرمجة بدون كود.

@ ما هو مشروع البرمجة بدون كود؟

  • هو حلم كل مبرمج في بداية تعلمه للبرمجة ولكن سرعان ما يزول بمجرد الإبحار في عالم البرمجة وهو فكرة وصفها الكثير في بداية عملي على تطبيقها بأنها غريبة وتارة يقال أنها ضعيفة وأحيانا مجنونة. لقد بدأت العمل في هذا المشروع حين عاد اخي الكبير من احد المؤتمرات الخاصة بالبرمجة واخبرني بالصدفة عن تعبير احد الحضور عن دهشته لما رآه من ادوات جديدة تسهل البرمجة قائلا: (ممكن بعد كدة يخلونا نبرمج من غير كود) لفتت الجملة انتباهي وشغلت ذهني وأشعلت حلمي القديم مما جعلني ابدأ رحلتي في البحث العلمي اولا وكان ذلك في ديسمبر عام 2005، تعلمت من خلال الأبحاث ان اي تطور جذري في علم البرمجة لابد ان يستند على احد التغيرين التاليين اما تغير في نمط البرمجة (مثل التغير من البرمجة الهيكلية الى برمجة الكائنات) او تغير في أدوات التطوير(مثل ما حدث من خلال بيئة التطوير المتكاملة كما في اللغات المرئية) ولقد عملت على هذا المبدأ في عام 2006نجحت في تقديم نمط البرمجة الجديد الذي يوفر المناخ الأساسي للبرمجة بدون كود وفي نفس الوقت يأخذ في الاعتبار جوانب اخرى لا يغفل عنها المبرمجين مثل (الاستفادة من مفاهيم برمجة الكائنات ودعم هياكل البيانات المعقدة ونظام ادارة الأحداث وأنظمة الشبكات) ويقدم النمط فكرة جديدة ايضا حيث اني اخذت احتمال وجود تغيرات مستقبلية في التكنولوجيا مستقبلا ولهذا فان النمط الجديد يستند على فكرة الوحدات التي يتم التحكم بها وادارتها للوصول للهدف المنشود

وهذه الوحدات قابلة للزيادة مع التغيرات الجذرية التي تطرأ على التكنولوجيا.

خلال عام 2007وفقت في بناء البيئة التي توفر عالم كامل للبرمجة بدون كود مما يتيح لنا:

  • 1تحقيق العزل الكامل عن الكود وعن قواعد اللغة Syntax وليست هناك ضرورة لكتابة الكود على الإطلاق.

  • 2يمكن عمل برمجيات جديدة بدون كود (وهو ما يقابل كتابة الكود قديما)

  • 3يمكن التعديل في هذه البرامج بدون التعرض للكود (وهو ما يقابل عملية تحرير الكود قديما)

  • 4يمكن التحكم في سير البرامج بدون التعرض للكود (وهو ما يقابل عملية التحكم في ترتيب الاسطر البرمجية)

  • 5يمكن استخدام مفاهيم نمط البرمجة بدون التعرض للكود (وهو ما يقابل نمط البرمجة في الكود)

  • 6الواجهة الرسومية قابلة للامتداد والتعديل بسهولة جدا

  • 7الواجهة الرسومية تقبل ان تكون بأي لغة (عربي - انجليزي ..... إلخ)

  • 8البرمجة بدون كود يمكن ان تستند على اي لغة برمجة ولكن يفضل لغة تدعم نمط البرمجة الجديد.

  • 9يمكن للبرمجة بدون كود ان تعمل مع البرمجة بالكود على التوازي (اذا رغب احد في ذلك) ولكن هذا غير ضروري.

    10يمكن ان تدعم البرمجة بدون كود اي لغة برمجة ترتكز على الكود لتضيف اليها وتطور في المشاريع الموجودة بالفعل.

وقد انتهيت من المشروع بصورة كاملة وقد عملت في المشروع منفردا - وانضم الى مبرمج ايطالي Arcangelo Molinaro كان مهتما بالمشروع منذ البداية ومشاركته في المشروع تكمن في ترجمة المشروع الى اللغة الايطالية بالاضافة الى اختبار المشروع واكتشاف الاخطاء التي تظهر اثناء التطوير.

وأخيرا للحصول على المشروع:

www.sourceforge.net/projects/doublesvsoop

موقع المشروع العربي الرسمي:

www.doubles.palfth.com

وهو في بدايته

@ كيف يمكن للمستخدم العربي الاستفادة من هذا البرنامج؟

  • يمكن الاستفادة من المشروع بأحد الأسلوبين التاليين:

اما بالنظر الى المشروع كمنصة مجانية مفتوحة المصدر مستقلة لبناء التطبيقات بدون كود وبدون الحاجة الى استخدام لغات البرمجة الاخرى باستثناء اللغات المضمنة بصورة تلقائية مع المشروع والتي يكون المبرمج معزولا عنها ولا يشترط ان يكون له دراية بها وهي لغات مجانية ومفتوحة المصدر.

او بالنظر للمشروع كأداة ووسيلة تزيد من الإنتاجية وذلك بدمجها مع أدوات ولغات البرمجة الحالية مما يتيح لنا تطوير المشاريع الموجودة بالفعل ويزيد من سرعة العمل بصورة ملحوظة.

@ هل هذه أول مشاركة لك في عالم المصادر المفتوحة؟ وهل لديك مشاريع مستقبلية تصب في نفس المضمار؟

  • هذه ليست أول مشاركة فقد عملت سابقا في مشروع كان بسيطا عبارة عن مكتبة للرسم Graphic Library ولكني كنت مهتما به وعملت على تقديم محيط تطوير استنادا على تلك المكتبة بحيث يوفر محيط التطوير بيئة عمل رسومية كاملة للتطبيقات المعدة بلغة كليبر CA-Clipper تحت نظام DOS وقدمت من خلال المشروع ايضا مصمم نماذج متطور واذكر ان الشيفرة المصدرية التي قدمتها من خلال هذا المشروع حوالي 17ألف سطر وهي تعتبر قليلة جدا مقارنة بما يقدمه المشروع من نتائج.

موقع المشروع www.sourceforge.net/projects/fglib ومدير هذا المشروع مبرمج اجنبي يدعى Ferns Pannakker

@ ما رأيك في التواجد العربي في عالم المصادر المفتوحة وهل هناك مشاركات فعالة من قبلهم؟

  • بالتأكيد لدينا كمطورين عرب مشاركات في العديد من المشاريع ولكن يصعب ان يتم تحديد حجم هذه المشاركات لأن المشاريع مفتوحة المصدر عددها يفوق 150ألف مشروع وذلك في موقع واحد فقط بينما هناك العديد من المشاريع في مواقع اخرى.

ولكن على حد اطلاعي ان اغلب مساهمتنا في المشاريع مفتوحة المصدر تكون مطورين ولكن المبادرة بإدارة المشروع والبدء به نادرا ما تكون لنا.

@ أخيرا ما هي نصيحتك للمبرمجين العرب وخاصة فيما يتعلق بالمشاركة في مشاريع المصادر المفتوحة؟

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