في بادرة قويه قام الأستاذ تركى العسيرى بإطلاق مشروع لإنشاء محرك لقواعد البيانات العلائقية Relational DBMS server مع برنامج عميل لاستخدام ذلك الخادم، حتى يكون خروجاً عن الأنماط السائدة من المشاريع العربية في المنتديات وتشجيعاً لاكتساب الخبرة التي يشكو من عدم اكتسابها معظم المبرمجين. هذا المشروع تحت قيادة الأستاذ تركى وباشتراك عدد من المنتديات الكبيرة في مجال البرمجة وهي موقع الفريق العربي للبرمجة ومنتدى فيجوال بيسك للعرب ودوت نت للعرب www.dev4arabs.com/arabserver. صفحة الإنترنت والاتصالات أجرت الحوار التالي مع مدير المشروع الأستاذ تركي لتسليط الضوء أكثر على هذا المشروع الواعد. بداية حدثنا عن فكرة المشروع كيف نشأت ولماذا قواعد البيانات بالذات؟ وما هي الأهداف؟ يشتكي الكثير من المبرمجين العرب من الخبرة الضعيفة في انجاز المشاريع الكبيرة، فالغالبية الساحقة من برامجهم تصنف ضمن البرامج الصغيرة والمنجزة من قبل شخص واحد. وما ان يفكر المبرمج العربي في تطوير برنامج كبير حقيقي، إلا ونجده في نصف الطريق كالذي يتخبطه الشيطان من المس، ويعجز عن ترتيب أفكاره بعدما تبعثرت في شيفرات مصدرية غير منظمة. من هنا جاءت الفكرة لتحقيق الهدف الرئيسي للمشروع وهي إعطاء فرصة حقيقية للمبرمج العربي في المشاركة بفرق تطوير وبناء مشاريع كبيرة حقيقية وفق إطار منظم ومرتب بعناية. فالخبرة الفنية وحدها لا تكفي دون الخبرة الإدارية. أما اختيار خادم لقواعد بيانات، فالهدف هو تطوير مشروع كبير لا يصل إلى الخيال كفكرة بناء نظام تشغيل، ولا إلى البساطة كبرنامج دليل الهاتف. فقد تم عرض مجموعة من البرامج كمعالج نصوص Word Processor وجداول ممتدة Spreadsheet في استفتاء مفتوح، ورجحت أعلى نسبة إلى خادم لإدارة قواعد بيانات DBMS بناء على رغبة الزوار. مما يتكون فريق التطوير؟ وكيف يتم ضبط وتنظيم العمل بين المجموعات المختلفة خصوصا أنهم من أقطار العالم العربي؟ فريق التطوير عبارة عن هيكل إداري مصنف وفقا لمجموعة من المشاريع الفرعية والتي تمثل أحجار الأساس Building Blocks للخادم ArabServer. يأتي مدير المنتج Product Manager في أعلى الهرم الإداري، ثم مديري المشاريع Project Managers ويتبع لكل مدير مجموعة من المشاركين. تنظيم العمل يعتمد بشكل رئيسي على تبادل وثائق المشاريع والأفكار بين مواقع الانترنت العربية والتي رشحت نفسها للمشاركة أو بأي وسيلة يختارها مدير المشروع. فالتنظيم الإداري لا يعتمد على البيوقراطية ولكل مدير صلاحيات في تحديد وسيلة الاتصال. ماهي مراحل المشروع وفي أي مرحلة وصلتم الآن؟ الإجابة على هذا السؤال تعتمد على مديري المشاريع، فعدد المشاريع الحالي وصل إلى 10 مشاريع والعدد في زيادة. بعض المشاريع ما زالت في مرحلة التخطيط Planning والبعض الآخر قارب على الانتهاء من مرحلة التحليل Analysis. ولكن بشكل عام مازلنا في البداية وفي انتظار المزيد من المشاركين. ماهي لغات البرمجة والتقنيات المستخدمة في عمل المشروع؟ وهل تم الاتفاق على معايير للمشروع؟ اعتمدنا استخدام احدث تقنية لتطوير التطبيقات في القرن الحادي والعشرين وهي Microsoft .NET كما إن الخادم موجه للعمل بشكل رئيسي على نظم تشغيل Microsoft Windows. فأنظمة التشغيل الأخرى أصبحت مشبعة من البرامج مفتوحة المصدر. وبخصوص المعايير تم اعتماد مجموعة من المعايير المشتركة (والمطبقة على كافة المشاريع الفرعية) منها: معايير لكتابة وثائق التحليل والتصميم، ومعايير لكتابة الشيفرات المصدرية. متى تتوقعون الانتهاء من المشروع أو بمعنى آخر كم سيستغرق المشروع حتى ينتهي؟ أما المخطط الزمني الشامل للخادم ArabServer فيعتمد على عدد المشاركين وجديتهم، وكلما زاد العدد كانت الفترة اقل. فالمسألة كما أشرت تعتمد على المشاريع الفرعية. وان طلب مني رقم للتخمين يمكن أن أقول أنها ((قد)) تكون فترة بين 5 إلى 8 شهور. هل هناك دعم خارجي للمشروع؟ بكل أسف وبكل إحباط محاولاتنا الكثيرة للحصول على دعم باءت كلها بالفشل. وهو احد اكبر الأسباب التي تؤدي إلى نزوح الكثير من المشاركين والانسحاب. ولا يوجد إلا قلة من المتطوعين الجادين والراغبين في تحقيق ذاتهم Self Actualization والاستمرار رغم الظروف الصعبة. اذكر ابرز المديرين: عبد العظيم غنيم، حسن إمام، محمد الحلبي وغيرهم. فكرة تطوير خادم قواعد بيانات مفتوح المصدر فكرة نادرة جدا على مستوى العالم نرى أبرزها تجربة MySQL، أما على المستوى العربي فهي الأولى من نوعها. هل تعتقد أن يتم برمجة المشروع من الصفر أم ترى أنه يمكن الاستفادة من بعض الشيفرات والمشاريع السابقة المفتوحة المصدر لإنجاز العمل... خصوصا أنها مجربة؟ فكرة استخدام شيفرات جاهزة لن تحقق الهدف الرئيسي للمشروع هذا أولا، أما ثانيا اعتمادنا على تقنية Microsoft .NET يعوق الحصول على شيفرات مفتوحة توافق معايير مشروع ArabServer أو دعم لسمات اللغة العربية. فمن احد ابرز المميزات التي نطمح في تحقيقها هو توفير لغة استعلام باللغة العربية، وقد تتطور (إن وجد الدعم الكافي) إلى تحقيق الاستعلام اللغوي، ليتمكن المستخدم مثلا من كتابة أسئلة باللغة العربية ويحصل على الإجابات. هل هناك تفاعل من المبرمجين العرب حينما طرحتم الفكرة؟ وهل تعتقد أن هذا الحماس سيختفي مع مرور الوقت خصوصا أنه هناك تجارب سابقة في عدد من المنتديات بعمل مشاريع جماعية وفي النهاية تفشل؟ السيناريو الذي ذكر حقيقة ملموسة في اغلب المنتديات العربية. ومن خلال تحليلي وبحثي في تفاصيل هذه المشاريع، استفدت من الأخطاء الكبيرة التي وقعوا فيها والمتمثلة في سوء التنظيم الإداري. بل الأدهى والأمر هو غياب سياسة وفن هندسة البرامج Software Engineering في هذه المشاريع، ورغم أهميتها العظيمة نجد تطبيقها معدوم مع الأسف الشديد في المواقع العربية. شخصيا، قدمت دليل تعريفي للمشاركين ووضح خطوات بناء المشاريع الكبيرة -بشكل عرض عليهم لأول مرة- ووصلتني ردود إعجاب من قبل الكثير. أما توقعاتي على جديتهم و استمراريتهم، فبدون دعم تشجيعي لهم فاعتقد أن السيناريو الذي ذكر سيعاد تمثيله مع تغيير الأبطال. مع ذلك، مازلت متحمس للفكرة وإذا كانت كل الشموع مطفأة، لنحاول إشعال واحدة. هل برأيك سيعمل هذا المشروع على خلق البذرة لدى المبرمجين العرب للاعتماد على أنفسهم وتولد الثقة فيهم لإنتاج برامجهم بما يناسب احتياجاتهم؟ إن عقدة النقص العربي تجاه كل ما هو غربي ليست محصورة في المبرمجين العرب وحدهم، وقد عانيت منها شخصيا عندما كتبت أول كتاب عربي عن تقنية Microsoft .NET عام 2002 (أكثر من 700 صفحة)، فلم توافق أي دار نشر عربية على دعم كتابي وطباعته! وما زلت اذكر جملة قالها لي احد الموظفين:» يا باشا ده مؤلف عربي ما ينفعشي!!» وآخر اقترح علي اقتراح جرحني كثيرا عندما طلب مني كتابة اسم مؤلف أجنبي وكتابة اسمي كمترجم للكتاب! من القصة السابقة والتي تتكرر على الكثير أقول، الثقة لن تكون موجودة فالعقدة مستمرة تجاه الغربي. صحيح أن صناعة تطوير البرمجيات حلقت أعلى آفاقها عندهم، ولكن السبب هو الدعم الذي يحصلون عليه المبرمجين هناك وحماية لحقوق الملكية الفكرية. فهم في النهاية بشر يكتبون برامجهم بعشر أصابع مثلنا، ولم أر أحدا منهم لديه أكثر من 10 أصابع حتى الآن. اعلم أن ردي فيه الكثير من الإحباط والتشاؤم، ولكن الواقعية تحبسني دائما عن جنة خيالي. قرأنا في الموقع أنكم تنوون طرح المشروع بعد الانتهاء منه كمصدر مفتوح لماذا المصادر المفتوحة؟ وهل ستقومون بتسجيل المشروع في موقع sourceforge للمصادر المفتوحة؟ وهل هناك نية لتسويقه؟ السبب توسيع رقعة المشاركة من قبل اكبر عدد من المبرمجين العرب حول العالم. وقد يتم نشره في المواقع الأجنبية الأخرى إن حقق سمة تنافسية بقوة أشهر خوادم قواعد البيانات. نجزم أن واجهة الاستخدام ستكون باللغة العربية ولكن هل ستفكرون بعمل نسخة إنجليزية منها؟ نحن نتبع سياسة جديدة في صناعة البرمجيات تسمى التدويل Internationalizing والتي تهدف إلى عزل شيفرات البرنامج الرئيسية عن كل الشيفرات التي تتعلق بلغة معينة. مما يعني أن البرنامج ليس له لغة معينة، فيمكن تطبيق عدد لا نهائي من اللغات لاحقا وفي أي وقت حتى بعد صدور النسخة النهائية. ختاما ما هي خططكم المستقبلية؟ كل ما هو مفيد في تطوير صناعة البرمجيات العربية. [email protected]