كلمة…

أكتوبر 24, 2009 بواسطة الأمجد توفيق

طلب إليّ أن أكتب كلمة بالنيابة عن الطلاب المتفوقين لكي ألقيها في حفل تكريم في جامعة دمشق أقامته نقابة المعلمين. وبفضل الله، كان للكلمة وقع كبير على أسماع الناس، لم أتوقعه، لذلك ارتأيت أن أنشر ما وفقني الله إلى إلقائه هنا في المدونة، وها هي ذا الكلمة:

بسم الله الرحمن الرحيم. الحمد لله رب العالمين، وأفضل الصلاة وأتم التسليم على سيدنا محمد وآله وصحبه أجمعين.

أيها الحفل الكريم،

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

وليس لطالب، وقف موقفي هذا، إلا أن يشعر بتلك الصعوبة وهو ينوب عن جمع من زملائه، تفوقوا وحققوا ما حققوا من درجات، بعد تعب وجدّ. فالفضل أولاً يعود للبارئ عز وجل، الذي أوجد لكل منا كيانه البشري المكتمل، وأودع فيه ما شاء أن يودعه من خصال الجد والمثابرة والصبر، وأذن لنا أن نقتبس من نور علمه ما شاء لنا أن نقتبس. ثم يأتي فضل أهالينا الذين عاضدونا طوال طريق الرحلة وساندونا بكل ما أوتوا من إمكانات وقدرات، وتحمَّلوا ما تحمَّلوا من أخطائنا وهفواتنا وزلاتنا؛ وفضل أساتذتنا ومعلمينا الذين نذروا نفوسهم لتكون الدليل والمرشد لنا طوال الطريق، فصبروا على عجالتنا وطيشنا، وقدّموا لنا من معين نصحهم وإرشادهم ما أعاننا على مشقة الطريق ووعورته.

وإن هذه المرتبة التي شُرِّفنا بالوصول إليها، لَتُلِحُّ على وجدان كل منا وتُذكّّره بعظيم المسؤوليات الملقاة على عاتقه. وأول تلك المسؤوليات هو عدم الركون إلى ما حققنا من نجاح في عامنا هذا، بل يجب أن تتطلع نفس كل واحد منا إلى أن يحقق النجاح في دورة اكتساب المعرفة كاملة، والتي تشمل ثلاث درجات: فالدرجة الأولى هي درجة الحصول على المعرفة واستيعابها وهي درجة يخوض فيها طالب العلم كما يخوض البحَّار المستكشف عرض المحيط، لا ينزل في جزيرة ولا أرض إلا وطمحت نفسه إلى مزيد من الإبحار والاستكشاف، أما الدرجة الثانية فهي توظيف هذه المعرفة المكتسبة في الارتقاء بالمجتمع الذي نعيش فيه وتحسينه وتطويره، وعلى كل منا أن يحذر من أن يُقبِل على العلم حتى يتكسّب منه، بل عليه أن يطلب العلم حتى ينفع به الآخرين. أما الدرجة الثالثة، وهي الأعلى، فهي إنتاج معرفة جديدة يتلقفها الآخرون وينتفعون بها ويفيدون منها، ومن المؤسف أن الكثيرين من الناس يعزفون عن هذه الدرجة ويرضون بالأقل والأدنى.

أمر آخر لا بد لي أن أركز عليه…

إنه إدراك مسؤوليتنا تجاه الأمة التي ننتمي إليها، وبخاصةً في الظروف الصعبة التي تمر بها وتمر بها البشرية بأكملها. علينا أن نعمل على استكمال بناء كيان الأمة واستقلالها في شتى المجالات، ولاسيما في المجال الفكري -وهذا أمر مهم- والمجالين العلمي والتقاني. لا ينبغي أن يكون هدفنا مجرّد اللحاق بركب الأمم المتداعية، ولا مجرّد تقديم مزيد من الإبداعات والاختراعات المادية الجديدة، فالعالم لديه ما يكفيه منها الآن. إنما هو بحاجة إلى قيادة جديدة، تستطيع أن تأخذ بيد البشرية لتحقق الغاية من وجود هذا الكائن البشري، وتختار منهج الحياة الصحيح، الذي يحقق التناغم في حركته مع حركة جميع المخلوقات والموجودات في هذا الكون الذي خلقه الله. إنه الدور الذي قامت به أمتنا أول مرة يوم وضع العرب أسس حضارة الإسلام التي كان مجيئها إلى هذا العالم كانبلاج الفجر بعد ليل طويل. والبشرية اليوم تنتظر من يقوم بهذا الدور من جديد، والذي نستطيع أن نقدمه نحن إن أقبلنا بإرادة صادقة وعقل واع وذهن مستنير.

والسلام عليكم ورحمة الله وبركاته

المتتاليات المتقاربة: شرط التقارب

أكتوبر 6, 2009 بواسطة الأمجد توفيق

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

عندما نقول أن متتالية ما تتقارب من عدد حقيقي L ، فهذا يعني أننا نقول:

convergence

عندها يكون شرط التقارب محققاً. وذلك أن الفرق بين قيمة حد المتتالية an والنهاية L، يصبح أصغر من عدد صغير حقيقي ε ، وذلك من أجل قيم n كبيرة بما فيه الكفاية (أي أكبر من عدد طبيعي مثل N). وآمل من المخطط التالي أن يوضح المقصود.

convergence0

الجوانب الاجتماعية للبرمجيات غير المملوكة

سبتمبر 29, 2009 بواسطة الأمجد توفيق

سأتناول ورقة بحث مقدمة من قبل الدكتور كاسترين ويبر Dr. Kastren Weber للمجلة الدولية لأخلاقيات المعلومات International Journal of Information Ethics (IJIE) يتحدث فيها بإيجاز عن تاريخ حركة البرمجيات الحرة والمفتوحة المصدر التي يشير لها باسم البرمجيات غير المملوكة non-proprietary software، ويحاول فيها تقديم تصور عن الخلفية الإيديولوجية لهذه الحركة الاجتماعية. كما يشير الباحث إلى عدد من المشاكل التي تتعلق بهذه الحركة، كمفهوم التمويل ومفهوم المسؤولية. وفي نهايته يقدم خطوطاً عامة يتنبأ من خلالها بمستقبل هذه الحركة.

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

يشير الكاتب في البداية إلى أن حركة البرمجيات الحرة والمفتوحة المصدر، كحركة اجتماعية، ما زالت حركة هامشية، ولا يمكن أن تقارن بالحركات الاجتماعية الأخرى (كالحركات المناوئة للعولمة، وحركات حماية البيئة على سبيل المثال)، فمجتمعات التطوير التي نشأت عن هذه الحركة لا تمثّل بالضرورة الأفكار الأصلية التي بنيت عليها الحركة، فها نحن نجد ريتشارد ستولمان Richard Stallman، مؤسس مؤسسة البرمجيات الحرة Free Software Foundation، يوجه اللوم والانتقاد إلى مشاريع حركة البرمجيات المفتوحة المصدر Open Source Software، بسبب تركيزها على الناحية التكنولوجية دون النواحي الأخلاقية والاجتماعية، وهذا نقص كبير له دلالته عند محاولة فهم الأهمية الاجتماعية لهذه الحركة.

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

الأيديولوجيا

عند التحدث عن الناحية الأيديولوجية (أي الأفكار الأساسية التي ينطلق منها في بناء التصور الكلي لموضوع معين)، نجد تبايناً بين البرمجيات الحرة Free Software والبرمجيات المفتوحة المصدر Open Source Software فيما يخص فكرة ملكية البرنامج. نجد في أفكار إيريك رايموند Eric Raymond، المدافع عن البرمجيات المفتوحة المصدر، تركيزاً على النواحي النفعية، أي الفوائد التي يمكن أن تعم عند إبقاء الرماز المصدر مفتوحاً. بينما يؤكد ريتشارد ستولمان Richard Stallman، السابق ذكره، وجوب بقاء الرماز المصدري “حراً” (سيتم شرح مفهوم الحرية لاحقاً)، ويرى أن هذا الأمر واجب أخلاقي تجاه المجتمع الذي ينتمي إليه الإنسان.

على الرغم من الاختلاف بين ستولمان ورايموند، إلا أنهما ينطلقان من المنطلق نفسه، فكلاهما يؤمن بالفكر الليبرالي (الذي نراه جاهلياً)، ويرى الباحث أن ثمة اختلافاً في فهم كل منهما لمعنى الليبرالية.

من ناحية يعتبر ريتشارد ستولمان البرنامج نوعاً من المعلومات أو المعرفة ولهذا السبب لا يجوز لأحد أن يدعي حق التصرف الحصري على الأفكار أو المعلومات لأن هذا سيؤدي إلى الضرر بالناس الآخرين. عندما يقوم بهذا فإن ستولمان يناقش من منطلق ليبرالي يساري، قريب إلى منطلق وأسلوب جون لوك John Locke، الذي يرى أنه من المحرم أخلاقياً امتلاك الموارد الطبيعية كالماء أو الغذاء دون ترك كمية كافية للآخرين، وعند ادعاء التصرف الحصري في هذه الموارد فإن هذا سيؤدي إلى إلحاق الضرر بالآخرين. وستولمان قام في الحقيقة بتطبيق هذه الفكرة على عالم الأفكار والمعلومات.

هناك نقطة مهمة وأساسية في الفكر الليبرالي تشكل منطلقاً مهماً، وهي مفهوم الملكية الخاصة. فعند الحصول على بضاعة بطريقة شرعية لا يجوز أن يتدخل أحد في ملكية الفرد أبداً، وعلى هذا، فإذا حصل إنسان ما على برنامج حاسوب فهذا يعني أنه يجب أن يكون حراً، يفعل به ما يشاء، وهذا يتضمن البيع والوهب والتعديل وإعادة الهندسة وغير ذلك. وفي حال الانطلاق من هذا المنطلق، يتبين لنا طبيعة الاختلاف بين رايموند وستولمان. فوفقاً للتصور السابق، فإن الحصول على البرنامج إذا تمّ من خلال تبادل إرادي فإنه من الشرعي أن يتضمن تقييداً لحقوق الاستخدام طالما أنه تضمن موافقة الطرفين، وهذا يسمح لرايموند الذي يبدو أنه يميل إلى اليمين الليبرالي بقبول اعتبار البرنامج بضاعة وقبول مفهوم ملكية البرنامج السائد أمراً مبرراً وشرعياً، وهذا ما يرفضه ستولمان. لكن على الرغم من هذا، فإن رايموند يرى أن مفهوم ملكية البرنامج أمر ضار، ولا يرفضه انطلاقاً من مبادئ أو مفاهيم كلية بقدر ما يدعو إلى رفضه من منطلق نفعي pragmatic.

رغم المنطلق الليبرالي الذي يركز على الحقوق الفردية لكل من ستولمان ورايموند، إلا أن الباحث يشير إلى أن أفكار حركة البرمجيات غير المملوكة متأثرة إلى حد بعيد بالفلسفات الاجتماعية (التي نرى أنها جاهلية) كالماركسية Marxism والشيوعية Communism والفوضوية Anarchism، دون أن يشرح ذلك بالتفصيل، لكنه يؤكد أن هذا التناقض الذي يكتنف أفكار الحركة لا بد أن يدفعها إلى التطور والانقسام في المستقبل.

مسح تاريخي سريع

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

في أواخر السبعينيات وفي الثمانينيات حصلت العديد من التغييرات في عملية تطوير البرمجيات خصوصاً بعد انتشار الحواسيب الصغيرة (مثل Apple II وIBM PC)، والتي أدت إلى ظهور سوق للبرمجيات. وأدى ذلك إلى ظهور مفهوم ملكية البرامج، فلم يعد الرماز المصدري مفتوحاً مثلما كان من قبل. وكما يقول الباحث فقد تحوّل تطوير البرمجيات العلمي الطابع إلى إنتاج تجاري الطابع.

رفض ريتشارد ستولمان أحد أهم رموز مجتمع البرمجيات غير المملوكة أن يكون جزءاً من منظومة الإنتاج التجاري للبرمجيات الجديدة، فترك معهد MIT سنة 1984 حيث كان يعمل لعدة سنوات في مختبر الذكاء الصنعي. وبدأ بمشروع GNU، حيث أراد تطوير نظام تشغيل حر شبيه بنظام الـ UNIX، وقام بإنشاء مؤسسة البرمجيات الحرة Free Software Foundation. ويُقصد بالحرية، حرية استخدام وتغيير وصيانة وتوزيع البرنامج من قبل الجميع. ولحماية هذه الحرية، قام ستولمان بتأليف رخصة GNU العمومية GNU Public License (GPL).

وكما أشار الباحث من قبل، وبقدر التوجه ذي الطابع الأيديولوجي والأخلاقي الذي يغلب على خطاب ستولمان في حديثه عن البرمجيات الحرة، نجد النفعية غالبة في خطاب إيريك رايموند الذي أسس مبادرة البرمجيات المفتوحة المصدر في عام 1998 كردة فعل على طرح شركة Netscape للرماز المصدري لمتصفح الويب الخاص بها. فأنصار البرمجيات المفتوحة المصدر غالباً ما يتحدثون عن فوائد فتح الرماز المصدري للبرنامج، فهم يرون أن تلك البرمجيات يمكن الاعتماد عليها بشكل أكبر، كما أنها سهلة الإصلاح والتطوير.

ثم يحدّثنا الباحث عن لينوس تروفالدس Linus Trovalds الذي قام ببناء نظام التشغيل Linux بالتزامن مع مشروع GNU الذي بدأه ستولمان، وكانت نتيجة تعاونهما نظام التشغيل Linux/GNU المعروف الآن بـ Linux. وعلى الرغم من ذلك فإن تروفالدس أقرب من ناحية الأفكار إلى رايموند، وأفكاره غالباً ما تتمحور حول مبادئ نفعية، وهو نفسه يعمل في مجال صناعة البرمجيات التقليدية.

الدوافع

ونقطة مهمة يتطرق إليها الباحث، وهي أهمية إدراك الدوافع وراء تطوير البرمجيات غير المملوكة. وقد قام كل من كريم لخاني وجيمس وولف بإعداد دراسة أوسع مما أشار إليه الباحث في ورقة البحث التي نتناولها الآن (يمكن تحميلها من هذا الرابط). وعلى أية حال فإن الباحث يرى أن دافع الرفض والمعارضة للأرباح الهائلة والسياسات الاحتكارية التي تقوم بها الشركات لمنافسيها، فضلاً عن الرغبة العميقة بالاطلاع على الرماز المصدري، والاعتقاد بأن بيل غيتس يسعى من خلال شركته إلى التحكم بالعالم هي ربما الدوافع الرئيسية للمطورين. ومعرفة الدوافع لا بد أن يعطينا فكرة مهمة عن طبيعة البرمجيات التي يتم توليدها من قبل حركة البرمجيات الحرة. وهو ما سأشير إليه –إن شاء الله- في تعقيبي على البحث.

منهجية التطوير: عدم المسؤولية، واللامؤسساتية

الإنترنت هي الأداة الرئيسية في عملية تطوير البرنامج غير المملوك، ولولا هذه الأداة، كما يرى الباحث، ما كان لمشاريع ضخمة مثل Linux أو Apache Server أن تأتي إلى الوجود، لأن تطوير ودعم وتوزيع مشاريع ضخمة كهذه لا يمكن أن يتم إلا من خلال اتصالات سريعة ورخيصة وغير متزامنة بين العاملين في المشروع. في أغلب الأحيان فإن مشاريع البرمجيات غير المملوكة ترتكز على فريق ثابت من المطورين، وحول هذه النواة تجتمع حشود كبيرة من الناس الذين يدعمون عملية التطوير بطرق عدة، كاختبار إصدارات البرمجيات، أو ببرمجة الأجزاء الصغيرة من المشروع. ولكل مشروع شخص أو عدة أشخاص يدعى الصائن maintainer الذي يمثل المشروع للجهات الخارجية، والذي يقوم باختيار الكود النهائي لإصدارات المشروع.

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

التعقيب

لا بد لي بعد هذا العرض لمحتوى البحث أن أعود إلى النقطة التي بدأت بها، فهناك جوانب نحن معنيون بالوقوف عندها وإدراكها، خصوصاً بعد أن أصبح الإقبال على البرمجيات الحرة والمفتوحة المصدر يزداد يوماً بعد يوم، دون وجود رؤية واضحة ومحددة لدى الكثيرين.

النقطة الأولى هي إدراك طبيعة البرمجيات التي يمكن أن تنتجها حركة البرمجيات غير المملوكة، والتي تتحدد من خلال الدوافع ومنهجية التطوير. فمن الناحية النظرية يمكن تطوير أي مشروع، ولكن الواقع يخبرنا بغير هذا. إن نظرة سريعة لكل ناتج الحركة ستكشف لنا عن حقيقة مهمة جداً، فمعظم عمليات التطوير كانت تتم من قبل الهاكرز hackers، وهم الأشخاص الفنيون البارعون في برمجة الحاسوب وكشف الأخطاء وتتبع الثغرات (ولا نقصد بذلك المعنى الإعلامي المنتشر الذي يشير إلى المخترقين)، لذلك فقد كان الناتج موجّهاً لتأمين حاجاتهم بالدرجة الأولى. فأنجح مشاريع البرمجيات الحرة والمفتوحة المصدر هي مشاريع تتضمن أدوات وبنى تحتية برمجية ويشار إليها بـ LAMP أي مشاريع Linux وApache Server وMySQL وPHP/Perl، ويمكننا أن نضيف مشروع Eclipse لبناء بيئات تطوير متكاملة IDEs تدعمه شركات عدة مثل IBM لمنافسة شركة مايكروسوفت Microsoft. ونجد في غالب منتجات الحركة شيئاً من القصور في ناحية تأمين سهولة التخاطب مع المستخدمين العاديين في أغلب المنتجات. والأهم من هذا كله أن الحركة لا تقود عملية التطور المعلوماتي في المجتمعات الرأسمالية، كما أنها لا تقدّم أدوات أساسية لخدمة المجتمعات التي ولدت فيها، فهي مثلاً لم تقدم منتجات محترفة في مجال التصميم بمساعدة الحاسوب Computer-Aided Design (CAD)، وهذا النوع من البرامج أساسي في المجتمعات الغربية التي تعد مجتمعات صناعية بالدرجة الأولى. وعلى أية حال، فإن هذا كله طبيعي ومفهوم في ضوء معرفتنا التي اكتسبناها حول طبيعة حركة البرمجيات غير المملوكة والدوافع الكامنة وراء عملية التطوير. لذلك فإن تفكيرنا بأن مجرّد الانتقال إلى موجة هذه الحركة، سواءً من ناحية الأفكار، أو من ناحية استيراد وغرس التكنولوجيا التي صنعتها هذه الحركة لن يكون كافياً لنا. فهذه الحركة عجزت، بعد هذه الفترة الطويلة، عن أن تقدم أدوات معلوماتية كاملة لتسير بها مجتمعاتها، فكيف يمكننا أن نفكر أن هذه الحركة ستقدّم للدول النامية أدوات معلوماتية لتنمية المجتمع وحل مشاكله؟ هذا لا يعني أن استيراد التكنولوجيا التي ولّدتها صناعة البرمجيات الرأسمالية هي الحل، أو أنها أفضل. نعم، لا بد أن ثمة دوافع مشتركة موجودة، ولكننا يجب أن لا نتجاهل الفرق الشاسع بين الأفراد الذين يحاولون التحرر من رق الشركات الرأسمالية في مجتمعاتهم، وبين من يريد لأمة كاملة من البشر يزيد تعدادها عن مليار إنسان أن تستقل تماماً عن سيطرة المجتمعات والقوى الرأسمالية، حتى تستطيع أن تقود هذه البشرية، وتحكمها بمنهجها القويم، وتردها إلى جادة الصواب، وتقوم بتحقيق غاية وجود الإنسان في الكون. فهذا الفرق الضخم هو تماماً كالفرق بين من يبني سفينة ليقطع بها النهر، وبين من يريد أن يبني سفينة ليخوض بها عباب المحيط. فالشيء الذي لا بد من أو يوضع بالحسبان هو أنه لا مفر لنا من أن نبدأ بالعمل انطلاقاً من مرتكزاتنا نحن، ومن خلال رؤيتنا الخاصة للكون وغاية الحياة من جهة، وإدراكنا لاحتياجات واقعنا.

هذا يقودني إلى النقطة الثانية. فلقد تبين من خلال العرض السابق ارتباط مسألة التعامل مع البرمجيات بالقيم والأخلاق والمعايير فضلاً عن المفاهيم الاجتماعية والاقتصادية، لذلك فنحن نجد أنفسنا بحاجة ماسة إلى تأصيل إسلامي للموضوع. فلا ينبغي للإنسان الذي أسلم وجه لله عز وجل أن ينتكس كما انتكس الآخرون، ويغترف قيمه وأفكاره ومشاعره وأحاسيسه وتشريعاته من الحمأة التي يغترف منها الناس من القيم والأفكار البشرية الهزيلة، فلا بد له من أن يستقي كل ذلك من ذلك النبع الكوني الصافي: الوحي الإلهي، وهو جسر يستمد عن طريقه قيمه من خارج الوجود الكوني بحد ذاته، من الخالق عز وجل.

وهذا لا يعني أن غير المسلمين لا يمكن أن يصلوا إلى شيء من القيم والأخلاق، فرسول الله (ص) يقول: “خياركم في الجاهلية، خياركم في الإسلام إذا فقهوا”، ولكن هذا لا يبرر للمسلمين أن يتوانوا عن التحري عما يأمرهم به الله، فضلاً عن هذا فإن الأساس الذي تنبثق عنه الأخلاق له دور كبير في توجيهها، وحسبنا أن نشير إلى الفرق الهائل بين شجاعة المقاتل الجاهلي في نصرة قبيلته، وبين تألق شجاعة المجاهد المسلم المقرونة بإخلاصه لله والتي فتحت من خلالها معظم أصقاع الأرض في أقل من قرن.

فنقطة الارتكاز التي ترتكز عليها مبادئ حركة البرمجيات الحرة هي “حرية المستخدم”، وأظن أنه عندما نُقدِم على الإسلام لنلتمس ما يريده منا، فإننا سنجد أن نقطة الارتكاز هي مبدأ عدم كتم العلم، فرسول الله محمد عليه الصلاة والسلام يقول: “من علم علماً فكتمه ألجمه الله يوم القيامة بلجام من نار”. وهذا سيتيح لنا رؤية فاحصة وثاقبة وأكثر مرونة لعالم البرمجيات، الأمر الذي ربما تفتقر إليه مفاهيم حركة البرمجيات الحرة، والتي تسقط على جميع أنواع البرمجيات رؤية واحدة، تماماً كالشخص الذي يرى جميع الأبنية التي تعجّ بها مدينة ما متساوية كونها مرصوفة جميعها من الحجارة، دون أن يدرك الوظائف الاجتماعية والاقتصادية والسياسية والثقافية التي يتقلّدها كل بناء.

بالإضافة إلى أهمية الارتكاز على المبادئ الإسلامية، فإن إقدامنا عليها ما هو إلا إقبال على مبادئ مرتبطة بنظام حياتي اجتماعي واقتصادي متكامل، وهذا أمر بالغ الأهمية في الحقيقة: فأحد أهم أسباب عدم نجاح حركة البرمجيات الحرة والمفتوحة المصدر في قيادة عملية التطوير المعلوماتي في المجتمعات الرأسمالية، هي أنها لم يكن لها مرتكز فكري متين، فمعظم العاملين في هذا المجال يفضلون الابتعاد عن الناحية الإيديولوجية، وحتى أكثرهم تمسكاً بها، ومنهم ريتشارد ستولمان، يرفض أن يركن إلى أي نظام اجتماعي أو اقتصادي في طرح أفكاره، فهو، في نفس الوقت، يرفض ممارسات الرأسمالية، ويذب عن نفسه الاتهامات بالشيوعية، لذلك فكانت أدوات التطوير البرمجية قاصرة –كما أشرت- في مجتمعاتها وغير مجتمعاتها. أما حينما تكون الرؤية مرتبطة بالإسلام، فإن هذا سيتيح لنا استخدام الأدوات الاجتماعية والاقتصادية التي يبنيها نظامه الروحي، فنتمكن من حل العديد من المشكلات بوسائل مبتكرة بالنسبة لغير المسلمين الذين يعيشون في ظل الأنظمة الرأسمالية. وكمثال أسوقه لتوضيح الفكرة، يمكن استخدام فكرة الوقف في تطوير برمجيات غير مملوكة من خلال مؤسسة وقفية، وهكذا يمكننا سد ثغرة كبيرة تعاني منها حركة البرمجيات الحرة والمفتوحة المصدر الحالية، وهي فكرة التطوير المؤسساتي، الذي يهدف في النهاية إلى تنمية تعامل المجتمع مع المعلومات التي يتداولها، فضلاً عن تحقيق استقلال هذا المجتمع عن المجتمعات الأخرى، وهكذا يمكن أن يتولد لدينا كم ضخم من البرمجيات ذات النوعية العالية، والتي تظلّ ملكاً عاماً للأمة، يمكن لأي شخص أو مؤسسة أخرى، من الأجيال الحالية أو الأجيال اللاحقة، أن تتولى عملية التطوير لهذا التراث البرمجي ليتواءم مع حاجات الأمة ومع التحديات التي تواجهها.

وهذا لا يعني أن النتيجة ستفترق عما وصلت إليه حركة البرمجيات الحرة أو أنها ستلتقي به بالضرورة، فهذا الأمر لا يمكننا أن نتنبأ به في الحقيقة، والأهم من ذلك أنه أمر غير مهم على الإطلاق، بل المهم هو الانطلاق من رؤيتنا الخاصة للكون والحياة ومن نظمنا ومبادئنا وأخلاقنا، فيغدو جزء كبير من حياتنا متسقاً مع باقي الأجزاء ومتكاملاً معها، بدل أن يكون تابعاً لأفكار وعقول الغير.

والله تعالى أعلم.

خوارزمية SERA لمحاكاة نمو المجتمعات النباتية

اغسطس 31, 2009 بواسطة الأمجد توفيق

قدم عالمان هما Sean Hammond وKarl Niklas في مجلة علم النبات الأمريكية American Journal of Botany في ورقة بحث لهما خوارزمية “تكرارية صريحة حيزياً” spatially explicit, reiterative algorithm (SERA) التي ستفيد في التنبؤ بمستقبل وديناميكية التجمعات النباتية. من خلال اعتماد مبادئ فيزيائية بسيطة وعلاقات تم التوصل إليها تجريبياً. تفسح هذه الخوارزمية المجال أمام اختبار فرضيات تتعلق بالصفات الوظيفية الفردية التي تؤثر في العمليات البيئية الجارية في مجتمع نباتي يحوي عدداً كبيراً من الأفراد بحيث يفرض نوعاً من التعقيد عند دراسته. والشيء المهم الذي يشير إليه الباحثان أن الصفات الجماعية التي تخص مجتمعاً نباتياً ما تنشأ نتيجة التنافس على الضوء والمكان بين الأشجار، التنافس الذي يتم، كما يرى الباحثان، وفق قواعد بسيطة وواضحة.
لقطة من البرنامج
البرنامج الذي يقوم بالمحاكاة مبرمج بلغة بايثون والذي جعلني أستغرب أنه مؤلف من 2400 سطر فقط (حجم برنامج صغير مثل برنامج المدونة أكبر من ذلك بكثير). على أية حال، حتى يبدأ البرنامج، يجب تزويده بمعلومات عن خصائص النباتات المدروسة، وبمعلومات عن العالم المفترض الذي ستتواجد فيه النباتات. يتم تمثيل الشجرة بمظلة وجذع، حيث يحدد حجمها بالإضافة إلى مساحة ظلال الأشجار المجاورة، كمية الضوء التي يمكن للفرد الحصول عليها (E). هذه الطاقة الضوئية المحصودة تحدد النمو السنوي، ويكون النمو السنوي الكلي (Gt) مساوياً لمجموع تغير كتلة الأوراق (Ml) خلال السنة (أي dMl/dt)، وتغير كتلة الجذع (Ms) خلال السنة (أي dMs/dt).  والتوقع بهاتين القيمتين يتعلق بالطاقة الضوئية المحصودة التي تتحدد بحسب ظروف العالم المفترضة.

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

مخطط عام للخوارزمية

لسنا نسوق هذا الخبر لتشجيع المبرمجين على إنشاء برنامج لمحاكاة نمو المستعمرات المرجانية مثلاً! لا! فالمشكلات التي تواجهها الدول الغربية مختلفة عن المشاكل التي نواجهها نحن، لذلك لا بد من الانتباه لهذه الناحية. إنما أردنا الإشارة إلى هذا الأمر لتوسيع المدارك، الأمر الذي يؤدي إلى إضافة جديدة إلى المخزون التراكمي للمبرمج والذي يمكن مساعدته على حل مشكلات قد يواجهها في المستقبل.
لمزيد من المعلومات:

http://www.sciencedaily.com/releases/2009/08/090821135026.htm
http://www.amjbot.org/cgi/content/abstract/96/8/1430

وللحصول على نسخة كاملة من البحث بصيغة pdf:
http://www.amjbot.org/cgi/reprint/96/8/1430.pdf

بدء العمل على تطوير أدوات نمذجة برمجية ثورية للتعامل مع الأنظمة الطبية والأنظمة المعقدة

اغسطس 27, 2009 بواسطة الأمجد توفيق

قام فريق من جامعة كارنجي ميلون  Carnegie Mellon University بالبدء بمشروع جديد لدمج تقنيتين هما Model Checking (تفقد النماذج)، و Abstract Interpretation (التفسير المجرد).

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

وعلى العكس من التقنية الأولى، فإن التقنية الثانية Abstract Interpretation لا تقوم بالنظر في كل حالة ممكنة للنظام، بل إنها تقوم بتقديم تقريب كلي للنظام، وهذا ما يتيح لها التعامل مع أنظمة ضخمة وكبيرة، ولكن بدقة أقل بكثير من التقنية الأولى.

الذي قام به الفريق هو الدمج بين هذه التقنيتين للاستفادة من الميزات التي يتمتع بها كل من المنهجين السابقين، من خلال ما أطلقوا عليه MCAI 2.0

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

الدافع وراء إشارتي لهذا الخبر هو ندرة الصفحات العربية التي تتحدث عن هاتين التقنيتين، اللتان تنتميان إلى مجال مهم في علم الحاسوب، وهو منطق علم الحاسوب.

لقراءة الخبر كاملاً:

http://www.physorg.com/news169890411.html

تذوق الضوء!

اغسطس 19, 2009 بواسطة الأمجد توفيق

قام مجموعة من علماء الأعصاب في شركة ويكاب Wicab, Inc باختراع جهاز يتيح لأصحاب الأضرار البصرية تحسين الرؤية من خلال جهاز يرسل الإشارات الضوئية إلى الدماغ عن طريق أعصاب اللسان.

طبعاً الجهاز لا يتيح رؤية حقيقة، ولكنه يؤمن للمريض معلومات بصرية تتعلق بالمسافات.

هذا هو المجس الذي يوضع على اللسان لينقل الإشارات الضوئية إلى النهايات العصبية فيه

خبر يستحق القراءة:

http://www.scientificamerican.com/article.cfm?id=device-lets-blind-see-with-tongues&sc=WR_20090818

تطوير مجموعة من التقنيات لتحليل مخطوطات بالعربية والعبرية

اغسطس 19, 2009 بواسطة الأمجد توفيق

أورد موقع ScienceDaily خبراً مفاده أن مجموعة من الباحثين “الإسرائيليين”  في جامعة بن غوريون في النقب في فلسطين المحتلة قاموا بتطوير مجموعة من التقنيات لتحليل العديد من المخطوطات القديمة بالعبرية والعربية. وحسب الموقع، فإن هذا الإنجاز جاء نتيجة تعاون خبراء في الرؤية الحاسوبية، والرسوميات الحاسوبية، ومعالجة الصور، والهندسة الحوسبية من جهة، بالإضافة إلى خبراء في التاريخ والدين اليهودي من جهة أخرى.

ولا يعنيني في هذا المقام التفاصيل التقنية للمشروع، فهي على أية حال تظل معلومات عامة ولا ترقى إلى تفاصيل علمية مفيدة لمن يعمل خارجها، ويمكن الاستزادة حول الخبر من الرابط التالي:
http://www.sciencedaily.com/releases/2009/08/090814165305.htm

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

الناحية الأولى
تشهد جامعاتنا لاسيما التقنية حركة جديدة للشباب المتجّه نحو ثقافة البرمجيات الحرة، والثقافة الحرة والعموميات الخلاقة، وعلى الرغم من ضرورة إيماننا بخلع عقلية الاستيراد والتطبيق الأعمى، والتمتع بالتفكير النقدي، إلا أن ما نشده يمكن أن يعد ظاهرة جيدة، ونأمل لها أن تتطور وتنضج. لكن الشيء المؤسف بالفعل هو أن كثيراً من الطلاب بدأوا –في خضم هذه الحركة-  يخلطون بين الإسهام في إثراء المحتوى الرقمي المكتوب باللغة العربية وبين طبيعة العمل والدراسة الأكاديمية والغاية منهما. فالمساهمة في كتابة عشرات المقالات في موسوعة ويكيبيديا مثلاً أو غيرها من المشاريع المشابهة، ليس الغاية أبداً من العمل الأكاديمي، فهذه الأمور مجرّد “هواية” يمكن للطالب الجامعي أن يمارسها!

قد لاحظت هذا النمط من التفكير عندما أشارت لي إحدى الأستاذات في كليتنا إلى “وجود انتقاد للجامعة العربية الفلانية التي لا تشارك في موقع Knol الذي أنشأته غوغل في حين شاركت الجامعات العربية الفلانية… ” (وذلك على موقع YouTube). لست مهتماً بهكذا تقييم ساجذ، ولكن الشيء الذي يزعج بالفعل هو طريقة التفكير. فهل يعقل أن تكون الغاية من بناء مؤسسات ضخمة وهي الجامعات، وما ينفق عليها من المليارات ثي مجرد المساهمة في إعادة إنتاج معرفة موجودة أصلاً ونشرها –في النهاية- على مواقع تمولها شركات رأسمالية في المجتمعات الغربية (مثل Google)؟! إن المعيار الحقيقي لتقييم الجامعات هو عدد الأبحاث التي يخرج بها الطلاب، والتي تقدّم للعلم والمعرفة شيئاً جديداً بالفعل. لا ينبغي لنا أبداً أن نغض النظر عن مشكلات مثل فقر المحتوى المكتوب باللغة العربية على الشابكة (الإنترنت)، ولكن مهمة الطالب الأكاديمي أكبر بكثير من مجرد إغناء المحتوى، بل عليه أن يدرك أن عليه أن بحوثاً جديدة وأفكاراً علمية جديدة، وحلولاً لمشكلات تواجه البيئة التي يعيش فيها. أما مشكلة المحتوى فهي مسؤولية جماعية، وليست مقصورة على الطلاب والعاملين في مجال الحواسيب والمعلوماتية، فال
حاسوب آلة تستخدم من قبل الجميع وإن فقر المحتوى عائد إلى أسباب عديدة ومختلفة وحلها يجب أن يكون حلاً طويل الأمد من خلال توسيع وتطوير البنية التحتية البشرية التي تستخدم التقنية.

في الحقيقة، هنالك فرق شاسع بين التفكير الذي بدأ ينتشر في بيئات جامعاتنا التقنية، وبين التفكير الذي ساهم في إنجاح المشروع الذي نتحدث عنه.

الناحية الثانية هي هذه المرونة التي أتاحت هذا التعاون بين مجالين من الصعب تصور اجتماعهما في جامعاتنا: مجال العلوم الإنسانية، ومجال علم الحاسوب. إن الأمر لمن يتفكر فيه ليس بسيطاً على الإطلاق، فعلينا أن نتصور مدى “الثقافة” التي كان يتمتع بها هؤلاء الباحثون حتى تمكنوا من أن يتناقشوا سوياً، وأن يدرك كل طرف ما الذي يحتاجه من الطرف الآخر، وما الذي يستطيع أن يقدمه له، وهذا أمر يستحق منا التفاتة بالفعل. ولعلم الحاسوب خصوصية في هذا الصدد، فعلم الحاسوب هو أكثر العلوم التي ترتبط بغيرها من فروع العلم والمعرفة، ولذلك فلا بد لنا نحن طلاب الحاسوب والمعلوماتية أن نبدأ الخطوة الأولى نحو العلوم الأخرى، كلٌّ حسب ميوله ورغباته، فمن الصعب على الإنسان أن يلم بكل شيء، ولكن يمكن تذليل هذه الصعوبة عندما يتعلق الأمر بشيء يحبه الإنسان ويعشقه.

طبعاً لا ينبغي أن يفهم منا أننا نمدح أعداءنا، فنحن نرى أنه لا علاقة للتقدم التقني بالتقدم الإنساني أبداً، ولنا رأي سنحاول أن نوضحه في التدوينات القادمة إن شاء الله.

حل مسألة مسار هاملتوني بحاسوب بيولوجي

اغسطس 14, 2009 بواسطة الأمجد توفيق
مستعمرة بكتبيريا

مستعمرة بكتبيريا

أعلنت مجلة الهندسة البيولوجية Journal of Biological Engineering أن فريقاً من العلماء تمكن من برمجة بكتيريا لتتمكن من حل أحد أهم المسائل في نظرية التعقيد في الرياضيات، وهي مسألة مسار أو حلقة هاملتوني Hamiltonian path/cycle problem.  إن حلقة هاملتوني تتألف من مجموعة من العقد التي يجب المرور بجميعها مرة واحدة، والعودة إلى نقطة البدء، وهي حالة خاصة من مسألة الرحالة التاجر Travelling Salesman Problem (TSP) ، الذي يجب عليه أن يمر على عدد كبير من المحلات مرة واحدة دون تكرار. هذا النوع من المسائل يعد من الأصعب، بسبب الاحتمالات الكثيرة التي تتولد للطرق الممكنة، لذلك لا بد من خوارزميات للتعامل مع المعطيات لإيجاد الحل بسهولة.
حسب موقع المجلة، هذا الإنجاز شجع على “توسيع تعريف الحاسوب”. تتم برمجة هذه الحواسيب البكتيرية من خلال بناء “دارات جينية” التي تقوم بتطبيق خوارزمية مستجيبة للبيئة بحيث يمكن التعرف على نتيجة التطبيق. و”كل بكتيريا تستطيع إيجاد حل لمشكلة رياضية، والمليارات منها تتمكن من استكشاف ملايين الحلول”.

لمزيد من المعلومات، وقراءة البحث كاملاً، تتبع الرابط التالي:
http://www.jbioleng.org/content/3/1/11/abstract