الخميس، 28 مارس، 2013

طرقٌ مختلفةٌ لدعم الأحداث events و مُتعهِّداتها events handlers

في لغات البرمجة هناك مفهومان هامان للغاية هما: الأحداث events و مُتعهِّدات الأحداث events handlers؛ و يُقصَد بالحدث "وقوع أمرٍ ما يحتاج لاتخاذ رد فعلٍ مناسبٍ تجاهه"، و مُتعهِّد الحدث هو "رد الفعل الذي يرغب المبرمج في تنفيذه عند وقوع حدثٍ معين"، 
و تزداد أهمية الأحداث و مُتعهِّداتها أضعافاً مُضاعفةً حينما يأتي ذِكر برمجة الواجهات الرسومية graphical user interfaces لما تلعبانه من دورٍ مِحوريٍ في تسهيل بنائها؛ فالحاجة إليهن ماسَّةٌ نظراً لأن الفكرة الرئيسة من وراء الواجهات الرسومية هي القدرة علي اتخاذ ردود أفعالٍ معينةٍ عند حدوث شيءٍ معين، مثل عرض رسالةٍ حينما يضغط المستخدم علي زرٍ معين، أو إغلاق البرنامج حينما يضغط المستخدم علي زر x الموجود في الواجهة الرئيسة لذلك البرنامج.

و عملياً فإن هناك طرقٌ عديدةٌ لبناء مفهومَيْ الأحداث و مُتعهِّداتها في لغات البرمجة، و هنا سأقدم مجموعةً صغيرةً للغاية منهن، ثم سأتحدث عن الطريقة التي تم بها الاستغناء عنهن في إبداع بشكلٍ بسيطٍ جداً و قوي للغاية. 

إلا أنه ينبغي التنبه إلي كون الشرح الموجود هنا مُختصَرٌ بشكلٍ كبير، و يحتاج كذلك لمعرفةٍ جيدةٍ ببعض قواعد لغات الـ: java و #C و visual basic .NET و إبداع. و ربما يتسبب هذا في غموض بعض النقاط و الحاجة إلي القراءة المستفيضة فيهن حتي يتم استيعابهن. و لم أستطع الإسهاب في الشرح حتي لا يزداد حجم المقال إلي ما لا يُطاق.

الثلاثاء، 26 مارس، 2013

أنظمة تشغيل قوية، و لكن غير مشهورة

يظن كثيرٌ من مستخدمي الحواسيب أن أنظمة التشغيل القوية للحواسيب الشخصية لا تتعدي الأنظمة الشهيرة المتمثلة في الـwindows و الـmac و الـGNU/linux (يُختصَر إلي linux)، بل و ربما لا يعلم أغلب الناس شيئاً عن نظام الـGNU/linux و/أو نظام الـmac شيئاً !، و في عالم أنظمة تشغيل الأجهزة الذكية (كالهواتف الذكية smart phones و الأجهزة اللوحية tablets) فإن معرفة الأغلبية لا تتعدي نظامَيْ الـandroid (إذا ما اعتبرناه نظاماً قائماً بذاته و ليس مجرد توزيعة من الـlinux) و الـios.

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

الأحد، 10 مارس، 2013

نشأة البرمجيات مفتوحة المصدر (3)

في البداية دعونا نتفق علي شيءٍ شديد الأهمية: لو لم يستطع محبو البرمجيات الحرة اختراق عالم المال و التجارة عن طريق البرمجيات الحرة فما كانوا ليستطيعوا الصمود طويلاً في وجه منافسيهم؛ فالعالم التجاري معناه تدفق الأموال التي ستدعم المشاريع الحرة، و بالتالي يستطيع المُشارِكون فيها أن يتفرغوا تماماً لعملية التطوير، و كذلك تعني القدرة علي عمل الدعاية الكافية لجمع المزيد من أهل الخبرة للاشتراك في بناء برمجياتهم الحرة و تطويرها (سواءً كهوايةٍ أو كعملٍ ينالون عليه أجراً).

هنا نتساءل: هل تنبه ستولمان لهذه النقطة حينما بدأ الدعوة لحركته الجديدة ؟
و الجواب أن ستولمان كان "حويطاً" بالفعل، و تنبه لهذه النقطة و تحدث عنها و عن كيفية الاستفادة من البرمجيات الحرة في المجال التجاري، حيث أنه في خاتمة "بيان قِنُو  GNU manifesto" كان هناك فصلٌ يتحدث عن هذه المسألة بالتحديد، و قد استرعي هذا الأمر انتباه البعض من محبي البرمجيات الحرة و دفعهم إلي أن يُمحِّصوا الأمر جيداً، ثم تركَّز فكرهم علي أمرٍ معينٍ يمكن به الاستفادة من التمدد المتسع لها (و علي رأسها توليفة "قنو/لينوكس")، لذا قام John Gilmore  و Michael Tiemann  و David Henkel-Wallace في عام 1989م ببناء شركةٍ تقوم بأعمال الصيانة و الاستشارة فيما يخص البرمجيات الحرة، لخدمة الشركات التي ترغب في الحصول علي مثل تلك الخدمات (و كان اسم شركتهم الجديدة "cygnus"، و يحتوي علي كلمة gnu داخله لأنهم حرصوا علي هذا عند اختيار الاسم)،

فحيث أن البرمجيات الحرة ليس لها مالكٌ بالمعني المُتعارف عليه في العالم التجاري، و حيث أنه في الشركات التي تستخدم البرمجيات الحرة سيكون تخصيص قِسمٍ للصيانة و المُتابعة لكل البرمجيات غير ممكنٍ عملياً: فقد أدي هذا إلي سهولة وجود منافسةٍ في خدمات الصيانة و الاستشارة، علي العكس من عالم البرمجيات المغلقة المصدر؛ حيث أنه في الحالة الأخيرة لا يمكن الحصول علي دعمٍ فنيٍ قويٍ إلا من الشركة المالكة، و من السخرية أن الشركات المالكة للبرمجيات الشهيرة قد تكون خدمة العملاء و الصيانة بها سيئةً للغاية؛ نظراً لعدم قدرتها علي تلبية احتياجات القاعدة الواسعة جداً من مستخدمي برمجياتها !
المهم أنه بوجود شركة cygnus علي الساحة أصبح من الممكن لكثيرٍ من الشركات أن تعتمد علي البرمجيات الحرة في عملها، مطمئنةً إلي وجود من يمكنه تقديم الدعم الفني لها إذا رغبت في ذلك. و كانت هذه خطوةً هامةً للغاية في تاريخ البرمجيات الحرة.

كانت الدفعة العملاقة الأخري لتوليفة القِنُو/لِينُوكس هي ظهور شبكة الإنترنت للعامة و انتشارها الواسع، و ظهور برنامج "خادم إنترنت أباتشي apache web server" لنظام اليُنِكس و شبيهاته (أعني الأنظمة التي تُوصف بأنها unix-like و من ضمنها القِنُو/لِينُكْس)؛ فنظراً لتفوق خادم الأباتشي علي منافسيه و احتلاله لعرش فئته من البرمجيات: فقد أصبح استخدام توليفة "أباتشي/قِنُو/لِينُكْس" هو الخيار المفضل لمن يرغب في بناء شركة استضافةٍ علي الإنترنت بدلاً من توليفة "IIS/windows"؛ و ذلك بسبب الفرق في القوة و الاستقرار و الأمن بين التوليفتين، بالإضافة إلي فارق السعر بطبيعة الحال. 
 
و ظهرت توليفةٌ جديدةٌ من البرمجيات تُسمَّي LAMP، و هي حزمةٌ لتطوير التطبيقات للشبكة تحتوي علي:
  • توليفة برمجيات قِنُو/ لِينُكْس،
  • خادم أباتشي،
  • قاعدة البيانات MySQL،
  • لغات البرمجة PHP و perl و python،
و هكذا وجدنا أن اللينُكْس ينتشر في سوق خوادم الإنترنت مثل انتشار النار في الهشيم. 
 
بالإضافة إلي ذلك فقد كانت هناك دفعةٌ عملاقةٌ أخري، حيث ظهرت إمكانية الاستغلال التجاري لعملية "صنع توزيعةٍ جيدة البناء سهلة التنصيب" لبرمجيات قِنُو و نواة اللينُكْس، بحيث يصبح من السهل علي من يرغب في تنصيبها أن يفعل ذلك، و يمكن الاستفادة مادياً عن طريق الخدمات السابقة و اللاحقة للتنصيب. 
(معني كلمة "توزيعة": أي نظام تشغيلٍ يتكون من نواة اللينُكْس + أدوات مشروع قِنُو + واجهة مرئية للمستخدم (النوافذ و الأزرار و ما يشبههن) + بعض الأدوات و البرمجيات الخاصة بالتوزيعة لتنصيبها و التحكم في إعداداتها. أي أنها تجميعةٌ من البرمجيات الحرة التي تُكون مع بعضها البعض نظام تشغيلٍ متكامل).
 
و بالفعل قام كلٌ من  Bob Young و Marc Ewing ببناء شركة رِدْهات redhat  في عام 1993م لتصبح من أوائل الشركات التي تستثمر في مجال تقديم توزيعاتٍ متكاملةٍ متناغمةٍ من البرمجيات الحرة و من أكبرها حجماً و قوة.
و في 15 نوفمبر من عام 1999 قامت رِدْهات بالاستحواذ علي شركة cygnus سالفة الذِكر، و أصبح Michael Tiemann يشغل منصب chief technical officer في شركة Red Hat، و في عام 2008  أصبح يشغل منصب "نائب الرئيس لشؤون المصادر المفتوحة the vice president of open source affairs".

كل تلك الخطوات الضخمة علي الطريق التجاري لتوليفة الـGNU/linux كانت رداً عملياً قاسياً علي انتقادات "بِلْ قِيتس bill gates" لمن يُهاجِم النموذج التجاري للبرمجيات الذي يمكن رؤيته في شركة مايكروسوفت علي سبيل المثال؛ ففي 31 يناير من عام 1976 وجَّه بِلْ خطاباً مفتوحاً لـ homebrew computer club (و هو تجمعٌ لمحبي الحواسيب في وادي السيليكون بالولايات المتحدة، و قد أُنشِيء في منتصف سبعينيات القرن الماضي)، و تحدث بِلْ في ذلك الخطاب عن أفضلية البرمجيات المغلقة علي الحرة، و  استنكر إمكانية وجود فريقٍ من المبرمجين يعمل لعدة سنواتٍ علي مشروعٍ برمجيٍ، ثم يقوم يتوثيقه بعناية، ثم يقوم بطرحه للاستخدام العام مجاناً.
و بذلك قدم النتيجة النهائية التي أراد الوصول لها، و هي أن البرمجيات الحرة "ضارةٌ بالمجتمع البرمجي"، و أن البرمجيات المغلقة هي الأمل في وجود برمجياتٍ متميزةٍ تلبي حاجة المستخدمين الذين يحتاجون إلي برمجياتٍ قويةٍ و كفؤة.

و كما قلتُ فقد كانت الخطوات التجارية هامةً جداً للتدليل العملي علي أن البرمجيات الحرة و المجال التجاري ليسا نقيضين لا يجتمعان، بل من الممكن الجمع بينهما بشكلٍ يكفل الحصول علي الفوائد العلمية و الاجتماعية المرجوة من وراء البرمجيات الحرة، و في نفس الوقت الحصول علي فوائدٍ اقتصاديةٍ تكفل لمجتمع البرمجيات الحرة التوسع و التمدد و الازدياد قوةً و طموحاً. و حينما ظهرت توزيعة ubuntu كان ذلك أمراً في غاية الأهمية، و حينما ظهرت توزيعة android (المُعدَّلة بشدةٍ لتعمل علي الأجهزة الذكية و أهمها الهواتف الذكية و الحواسيب اللوحية) كان ذلك أيضاً خطوةً فارقة، و لكننا سنتحدث عنهما (و عن غيرهما) في المرة القادمة بمشيئة الله تعالي :)

السبت، 2 مارس، 2013

نشأة البرمجيات مفتوحة المصدر (2)

هناك معلومةٌ لا بُد مِن ذِكرها ما دمنا أردنا أن نتحدث عن علاقة الأستاذ الجامعي الأمريكي "أَنْدرُو تانِنْبُوم" بحركة البرمجيات الحرة، فقد طلب ستولمان أن يستخدم مُترجِم الـC الذي كتبه تانِنْبُوم (مع  Ceriel Jacobs) من قبل لنظام التشغيل الخفيف "مِنِكْس minix"، و لكن تانِنْبُوم أخبره أن المُترجِم ليس حراً (في عام 2003 أصبح ذلك المُترجِم حراً تحت ترخيص BSD). 
و هكذا لم يجد ستولمان مهرباً من بناء مُترجِمٍ خاصٍ بالـC من الصفر، صحيحٌ أنه قبل قراره هذا حاول كتابة نهايةٍ أماميةِ front end للغة الـC في المُترجِم الخاص بمعمل "Lawrence Livermore" إلا أنه فوجئ أن تشغيلها يتطلب ذاكرةً أكبر مما كان مُتاحاً في حواسيب ذلك الزمن، لذا فقد نحَّاها جانباً و بدأ بناء الـgcc من الصفر كما أسلفنا القول. و فيما بعد صار بالإمكان استخدام تلك الواجهة الأمامية المهجورة بعدما تطورت إمكانيات الحواسيب عمَّا كانت عليه قبلاً.

الآن تعالوا نقفز في الزمن من بداية الثمانينيات إلي بداية التسعينيات؛ ففي تلك السنوات دخل إلي المباراة لاعبٌ شديد الأهمية هو الطالب الفنلندي "لينُوس تُرْفالدز linus torvalds"، الذي كان حينها قد انتقل إلي العام الثاني في جامعة هلسنكي. كان لينوس طالباً عادياً جداً في كل شيء و هو من الأقلية السويدية التي تعيش في فنلندا، إلا أنه كان يتميز بميزةٍ شديدة الأهمية هي حب التعلم عن طريق التجربة باليد، فمثلاً حينما كان يريد تعلم صنع محرك رسوميات graphics engine قام بعمل لعبةٍ خاصةٍ به (رغم أنه سيءٌ في اللعب !). و حينما كان يستهويه تعلم جزئيةٍ معينةٍ في العتاد الخاص بحاسوبه: كان يكتب برنامجاً يجرب به تلك الخاصية و يتعامل معها باستخدامه.

و جانبٌ كبيرٌ من ذلك الاعتياد علي كتابة البرامج التي يحتاجها كان نتيجةً تلقائيةً لعدم وجود برامج تعمل علي ما يمكننا اعتباره أول حاسوبٍ شخصيٍ اشتراه؛ فقد كان من نوع Sinclair QL الذي لا تتوافر برامجه في فنلندا، لذا فقد كان علي
لِينُوس إما أن يغير العتاد الخاص به و يستخدم عتاداً تتوافر برمجياته في فنلندا، أو أن يقوم بكتابة البرامج التي يحتاجها بيده، و قد اختار الحل الثاني علي عكس المعتاد ليصبح أكثر اعتياداً علي عمل البرامج التي يحتاجها بنفسه.

لذلك فحينما أحس لِينُوس بأنه يحتاج نظام تشغيلٍ جديداً يشبه اليُنِكْس علي حاسوبه الشخصي، و حينما لم يستطع شراء نسخةٍ من اليُنِكْس، و حينما وجد أن نظام المِنِكْس minix لا يلبي كافة احتياجاته، و حينما قام (بالخطأ) بإزالة المِنِكْس من حاسوبه: حينها قرر إكمال العمل علي بناء نواة نظام تشغيلٍ يستنسخ اليُنِكْس من الصفر !
الأمر بالطبع أكثر تعقيداً من مجرد "حاجته لنظام تشغيل ثم تقريره أنه سيبنيه بنفسه"، فالحق أنه كان قد بدأ العمل علي أساسيات النواة kernel منذ فترةٍ سابقة، لكن يمكنك دوماً أن تقول هذا و لن تكون مخطئاً بنسبةٍ كبيرة.

في نفس التوقيت كانت مؤسسة الـfsf قد بَنَت كثيراً من البرمجيات التي تحتاجها، فقد أصبح لديهم مُترجِم الـgcc، و مُحرر الـgnu emacs الشهير، و مجموعةٌ أخري من البرمجيات، و بما أنها كانت ذات عددٍ كبيرٍ فقد أدي ذلك إلي أنهم لم يستطيعوا بناء النواة الخاصة بنظام تشغيل gnu في نفس الوقت، و هي النواة المُسمَّاة hurd.

و علي الرغم من ذلك اعتاد عددٌ كبيرٌ من الناس علي تحميل برمجياتهم تلك (و علي الأخص مُترجِم الـgcc) و استعمالها علي عددٍ من أنظمة التشغيل، و حينما احتاج عددٌ من هؤلاء المستخدمين لنظام تشغيلٍ حرٍ بالكامل: قاموا ببساطةٍ بتنصيب نواة اللينُكْس و فوقها أدوات مشروع قِنُو علي حواسيبهم، و هكذا صار لديهم نظام تشغيلٍ متكاملٍ قبل أن تعرف مؤسسة الـfsf شيئاً عن نواة اللينُكْس من الأساس.

كان من الممكن ألا يشتهر اللينُكْس و ينضم إلي تطويره كل من انضم إليه لو أن نظام الـBSD كان حراً بالمثل، ففي تلك الفترة كان نظام التشغيل المُسمَّي Berkeley Software Distribution  أو اختصاراً "BSD" مثل الجمل الأجرب؛ فقد كانت هناك منازعاتٌ قانوينةٌ عليه جعلت الجميع يفر من المشاركة في تطويره أو الاعتماد عليه بالكامل لأنه لا أحد يدري ماذا ستؤول إليه حكايته، و ماذا سيكون مصيره فيما بعد و هو الأمر الذي يخضع لقرار المحكمة أولاً، ثم لقرار من ستحكم له المحكمة بالأحقية في التحكم في مصير الـBSD.

و هكذا كانت الساحة مهيأةً مئةً في المئة للفنلندي الواثق، الواقع يقول أنه في البداية واجه لِينُوس مصاعباً كبيرة، فمثلاً دخل البروفيسور أَنْدرُو تانِنْبُوم للساحة مرةً أخري ليؤكد أنك لو نظرتَ في كوب الشاي الذي تشربه لرأيته هناك!، و قد كان دخوله هذه المرة عنيفاً كثيراً؛ فقد نشر مقالاً علمياً علي مجموعة الأخبار comp.os.minix تحت عنوان "لِينُكْس عفا عليه الزمن Linux is obsolete"، و الذي قام فيه (بمنتهي الروح الأبوية) باتهام تصميم اللينُكْس بكل التهم التي استطاع التوصل إليها؛ فقد قال أن:النواة من نوع  monolithic و بالتالي فهي من الطراز القديم، بينما يري أن التصميم الأفضل هو النُواة المُصغَّرة microkernel كما في نظام المِنِكْس،

  • ضعف المحمولية portability، و هو ما نتج عن استعمال خصائص خاصة بمُعالِج Intel 386 في أكواد نواة اللينُكْس، 
  • ليس هناك تحكمٌ قويٌ لشخصٍ واحدٍ في الكود المصدري،
  • هناك خصائصٌ موجودةٌ في اللينُكْس لا لازمة لها مطلقاً (من وجهة نظر تانِنْبُوم) مثل الـmultithreaded file systems.

 و أدي هذا إلي نشوب صراعٍ محتدمٍ شهيرٍ بين لِينُوس و تانِنْبُوم دافع فيه كلٌ منها عن وجهة نظره (و أنا أثق انها كانت حرباً ضروسا؛ لأن لِينُوس لا ينقصه لا الثقة في النفس و لا اللسان الطويل، كما أن تانِنْبُوم أطلق كل ما وجده في يده من رصاصٍ علميٍ علي اللينُكْس!)، لكن الواقع يقول أن اعتراضات تانِنْبُوم سالفة الذِكر إما ثبت عملياً أنها غير قوية أو أنها أكاديميةٌ متحذلقةٌ بعض الشيء، أو تم التغلب عليها بالتدريج بعد نضج نواة اللينُكْس، أو ثبت أنها كانت خاطئةً علي طول الخط. و الواقع أن مشروع اللينُكْس كان مُصادِماً لكثيرٍ من القواعد البرمجية حتي في علم هندسة البرمجيات و كيفية بناء المشاريع البرمجية الضخمة !
 ***
 بعد فترةٍ من انتشار فكرة البرمجيات الحرة و انتشار استخدام توليفة الـGNU/linux، و بعد ازدياد أعداد المعتمدين عليها من المستخدمين بما يبشر بإمكانية فتح أسواقٍ جديدةٍ للاستثمار فيها: بدأ بعض أنصار البرمجيات الحرة في التنبه إلي أن كلمة free في اللغة الإنقليزية تحمل معني "حر" و معني "مجاني"، و هو ما قد يؤدي إلي نفور المستثمرين في مجال البرمجيات من استثمار أموالهم فيما يخص البرمجيات الحرة. 
لهذا السبب فكروا في استخدام الاسم "البرمجيات مفتوحة المصدر open source software"  بدلاً من الاسم القديم "البرمجيات الحرة free software"، مع الإبقاء علي المقومات الأساسية كما هي، أي أن الأمر (كما كان يبدو) لا يعدو مجرد إعادة تسمية.

 لكن هذا الأمر لم يُعجِب ستولمان بطبيعة الحال؛ حيث رأي أن مشكلة الاسم يمكن حلها عن طريق كتابة جملة "free as in freedom" لكي تشرح أن كلمة free مأخوذةٌ من  "الحرية" و ليس "المجانية"، و رأي ستولمان أن حركة المصادر المفتوحة تركز علي الجانب المادي و تُغفِل الجانب الاجتماعي و الأخلاقي لحركة البرمجيات الحرة.

و بصراحةٍ شديدةٍ فإنني شخصياً أجد أن هناك بالفعل اختلافاً بين حركتَيْ البرمجيات الحرة و المصادر المفتوحة أكبر من مجرد الاهتمام بالجذب الاستثماري؛ فنشطاء المصادر المفتوحة يرون أنه بالإمكان أن يكون هناك نوعٌ من التعايش بين البرمجيات الحرة أو "مفتوحة المصدر" و بين البرمجيات المُغلََقة المصدر أو "الاحتكارية" أو "الاستئثارية" (سمِّها كما تشاء)، بينما تصب مباديء و كلمات أنصار البرمجيات الحرة في خانة أن النوع الاستئثاري من البرمجيات هو "نِتاجٌ شيطاني" يجب التخلص منه لصالح البشرية و لكي يسترد البشر آدميتهم (و قد رأينا هذا في حملاتهم ضد نظام تشغيل microsoft windows 7).

إلا أن لِينُوس (الذي أُعجِب بفكرة حركة المصادر المفتوحة) يري أنهم (أي أنصار حركة البرمجيات الحرة) يبالغون كثيراً في هذه النظرة، و قال معبراً عن ذلك في إحدي تدويناته علي مدونته الشخصية (التي هجرها منذ سنوات)*:

أنا مشهورٌ بأنني لستُ عاشقاًً للـfsf و ريتشارد ستولمان، علي الرغم من أن الواضح أنني أحب الـGPLv2 و أستخدمها كرخصةٍ لكل مشاريعي التي أهتم بشأنها.
السبب كان دوماً أنني لا أحب رجال "الفكرة الواحدة"، و لا أظن الأشخاص الذين يُحوِّلون العالم إلي "أبيض و أسود" لطفاء جداً أو شديدي الفائدة. الحقيقة أنه ليس هناك وجهان فقط لكل قضية؛ فتقريباً هناك دائماً تدرج، و غالباً فإن الإجابة الصحيحة لأي سؤالٍ عميقٍ هي "عَلَي حسب"، و ليس حتي أن تأمل في اتخاذ الطرف الآخر لقراراتٍ خاطئة.
لا تفهموني خطأً: أنا أحب أن أري أناساً شغوفين بما يفعلونه، و كثيرٌ من الناس لديهم شيءٌ ما يهتمون بأمره جداً. لكن فقط حينما يتحول هذا إلي منهجٍ إقصائيٍ فإنه غالباً ما يصبح قبيحاً. لا يكون الأمر "حباً لشيءٍ ما" بل يصبح "كرهاًً لشيءٍ ما".
كمثالٍ: فإن هذا واحداً من أسباب محاولتي لتلافي التحدث عن مايكروسوفت كثيراً؛ أنا شغوفٌ باللينُكْس جداً (كما هو واضح)، لكن بصراحةٍ شديدةٍ فإنني أجد أن التفكير في اللينُكْس علي أنه "ضد مايكروسوفت" سخيفاً و خطأً في التوجه؛ نعم ربما أُلقِي طُرفةً أو اثنتين بـ"لسان زالف"، لكن حقاً هل هناك أحدٌ يفكر بجديةٍ أنه من الممكن أن تنفق 17 عاماً من عمرك و تأخذ قراراتٍ صحيحةً بناءاً علي الكره و الخوف ؟!
كان هذا أيضاً (و لا يزال) سبب كرهي للـGPLv3، أظن أن العديد من التغييرات لم تكن نتيجةً لـ"تأييد البرمجيات الحرة"، لكن بشكلٍ أكبر كرد فعلٍ طائشٍ ضد أشياء مثل TIVO، و منهجية "أبيض-أسود" و "خير-شر".

 
يُتبَع
--------------------------------------
* http://torvalds-family.blogspot.com/2008/11/black-and-white.html




نُشِر هذا المقال علي موقع (صدي التقنية) علي الرابط:
http://tech-echo.com/2013/03/beginning-of-open-source-software-2/