الثلاثاء، 20 ديسمبر، 2011

مثال عن مساهمة في تطوير البرامج المفتوحة المصدر

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

أثناء 2011 استعملت برنامج Asterisk لتجربة خدمة طورتها لفائدة شركة معينة في مجال "الصوت على بروتوكل الشبكة VOIP". عندها اكتشفت خللا في هذا البرنامج فقمت بتصحيحه وإرسال ترقيع صغير للمشروع. هذا الترقيع انتهى به المطاف بعد التعديل في الإصدار 1.8.5.0، حيث عثرت عليه اليوم في ملف التغييرات ChangeLog.

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

http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/ChangeLog-1.8.5.0
 
2011-06-22 18:52 +0000 [r324484]  Terry Wilson <twilson@digium.com>

 * include/asterisk/netsock2.h, tests/test_netsock2.c (added),
   main/netsock2.c, channels/chan_sip.c: Stop sending IPv6
   link-local scope-ids in SIP messages The idea behind the patch
   listed below was used, but in a more targeted manner. There are
   now address stringification functions for addresses that are
   meant to be sent to a remote party. Link-local scope-ids only
   make sense on the machine from which they originate and so are
   stripped in the new functions. There is also a host sanitization
   function added to chan_sip which is used for when peer and dialog
   tohost fields or sip_registry hostnames are used to craft a SIP
   message. Also added are some basic unit tests for netsock2
   address parsing. (closes issue ASTERISK-17711) Reported by:
   ch_djalel Patches: asterisk-1.8.3.2-ipv6_ll_scope.patch uploaded
   by ch_djalel (license 1251) Review: 
   https://reviewboard.asterisk.org/r/1278/

الخميس، 8 ديسمبر، 2011

رابط حول تطور سطر الأوامر في لينكس

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

هذا رابط مقال مفيد حول تطور الصدفة أو سطر الأوامر في لينكس. 



باختصار شديد، تناول المقال أول صدفة لنظام يونيكس برمجها مطورهُ كان طومسون باسم V6 shell عام 1971. وكانت كسابقتها في مالتيكس (جد اليونيكس) برنامجا مستقلا يعمل خارج النواة. بل حتى خدمات مثل مطابقة الأنماط (pattern matching) كانت متوفرة في برنامج مستقل glob. في هذه الصدفة (/bin/sh) أضيفت ميزات مثل توجيه المخرجات (< و > و <<) والأنابيب (|) التي استمرت إلى يومنا هذا. ولكن لم يكن هناك دعم لبرمجة السركيبتات.

في 1977 ظهرت صدفة بورن (Bourne shell) للإصدار السابع من اليونيكس وهي تحمل اسم مطورها ستيفان بورن من AT&T Bell Labs. أضافت صدفة بورن ذات القواعد الشبيهة بلغة آلغول (ALGOL) ميزة برمجة السكريبتات والمتغيرات والحلقات والتحكم في سير السكريبتات لكنها لم تتوفر على الدوال. وتفرعت عنها صدفات عديدة مثل صدفة كورن (Korn shell) و صدفة "بورن مرة أخرى" (Bourne Again shell) الشهيرة.

في نفس الفترة تم تطوير صدفة سي (C shell) للبي أس دي من طرف بيل جوي عندما كان طالبا في جامعة بيركلي عام 1978. حيثُ صممها شبيهة بلغة سي وأضاف لها خدمة التاريخ. بعدها أضيفت لها ميزات نظام تينكس (Tenex) الشهير على حواسيب ديجيتال (DEC PDP) كميزة تكميل الأوامر (completion) لتصبح صدفة تينكس سي (Tenex C shell).

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

صدفة بورن "مرة أخرى" bash طورها برايان فوكس من مشروع جنو لتعويض صدفة بورن. وهي تزيد عليها بخدمات نُقلت من صدفتي كورن وسي وميزات أخرى كالعبارات المطرِدة الشبيهة بتلك الموجودة في لغة بيرل.

الجمعة، 2 ديسمبر، 2011

إنشاء الشبكة العربية للمصادر المفتوحة

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

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