وسام البهنسي

مدونة مبرمج معماري

فوائد الاستبداد - ١

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

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

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

لكن لا تقلقوا كثيراً، فحديثي اليوم يبقى في سياق البرمجة وتطوير الألعاب. عالم الصفر والواحد البسيط. أم أنه لم يعُد بسيطاً هو الآخر؟ دعونا نرى سوية.

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

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

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

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

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

لا يعجبك كلامي، أليس كذلك؟

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

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

هناك إنجازات عديدة في الحياة لا يمكن أن تحدث دون أن يكون وراءها فكر وحيد يُنسب له الفضل، حتى وإن كانت كبيرة. الموسيقى والفن والفكر والفلسفة التي قد تسيّر مجتمعاً بأكمله. وكل هذه مكونات أساسية في أية لعبة.

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

ما زال هناك الكثير من الكلام والثرثرة ضمن هذا الموضوع، لكن لندع ذلك لتدوينة لاحقة كي لا تصبح هذه التدوينة لقمة ضخمة تعلق في مريء القارئ ولا تتزحزح بعد ذلك.

إلى اللقاء القادم، والسلام عليكم ورحمة الله.

أضف تعليقاً

Loading