الأحد، 10 نوفمبر، 2013

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

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


و أنصحكم بشدةٍ بقراءة تلك الأجزاء قبل قراءة هذا الجزء.

***
في آخر المقال السابق من هذه السلسلة تساءلتُ: 
"في النهاية يخطر علي الذهن تساؤلٌ مهمٌ للغاية: لو استطاعت شركة canonical أن تقوم ببناء نظام تشغيلٍ للهواتف الذكية و اللوحيات، بحيث يقوم بالربط بين عالم حواسيب سطح المكتب و الحواسيب المحمولة بقوة، و لا يكون هناك فرقٌ يُذكَر إلا في اختلاف واجهات المستخدم: فهل سيكون قادراً علي تحقيق الهدف النهائي و إعطاء عالم المصادر الحرة القدرة علي اكتساح سوق الحوسبة الشخصية بدلاً من android ؟"

أنا عن نفسي أظن أن الإجابة هي "نعم"؛ للعديد من الأسباب، التي من ضمنها قدرة canonical علي تحديد أهدافها جيداً و السير نحوها رغم كل المتاعب التي تُثار في الطريق. 
من وجهة نظري فإن شركة canonical من أكثر الشركات التي أثَّرَت بالإيجاب علي عالم الـGNU/linux، لكن مشكلتها الكبري أن كثيراً من مستخدمي البرمجيات الحرة ينظر لكل أفعالها بعين الريبة، بل و تكررت رؤيتي للبعض يشن عليها حملةً شعواء !؛ خاصةً و أنها تقوم بعمل الكثير من التغييرات بعيداً عن المجتمعات المعروفة في عالم البرمجيات الحرة، فقد أصبح لهم بيئة سطح المكتب الخاصة بهم "يونيتي unity" التي يقومون بتطويرها بأنفسهم بدلاً من الاعتماد علي الواجهات الأخري المشهورة (مثل الـKDE التي أعشقها، و الـGnome و غيرهن)، و كذلك خادم العرض الرسومي mir بدلاً من استخدام wayland علي سبيل المثال.

و أيضاً من وجهة نظري الخاصة فإن كل تلك الانفرادات و الانشقاقات التي قامت بها canonical عن هذه التجمعات مفتوحة المصدر كانت ضرورية؛ لأن الشركة لها توجهات ربما لا تتفق مع وجهات نظر و رغبات القائمين علي تلك التجمعات، و حينها سيضطرون للتفاوض و محاولة إقناع المسؤولين عن تلك البرمجيات بوجهة نظرهم، و هو الأمر المُرهِق الممل (بل و الذي ربما يفشل في النهاية لتضارب الرؤي !)، و هكذا ففي منتهي إراحة البال بالنسبة لهم أن يقوموا بعمل البدائل التي تُسيطر الشركة علي مسارها بالكامل، و بالتالي يكون من السهل جداً بالنسبة لها أن تضبط كل الأمور بحيث تتفق مئة بالمئة مع الهدف الذي تنظر له و تتجه نحوه.

ربما يكون هناك ما يثير الغيظ في منهج canonical في الإدارة أو التعامل مع مجتمع المصادر الحرة، و ربما يكون هناك الكثير من العنجهة و الصفاقة في تعامل العاملين بها (ربما في مقدمتهم Mark Shuttleworth) في التعامل مع بقية أهل مجتمع البرمجيات الحرة مفتوحة المصدر (و علي رأسهم التِقنيين الآخرين)، و رغم اقتناعي بأن واجهة unity أضعف بكثيرٍ جداً من الـKDE: و لكني أظن أن canonical لا زالت واحدةً من أكثر الشركات التي أفادت مجتمع المصادر الحرة و نشرت ثقافته بين الناس العاديين. كما أنها الشركة التي جعلتني أري بارقة أملٍ في إمكانية التخلص من فوضي تحزيم البرمجيات للتوزيعات المختلفة من الـGNU/linux.

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



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

و من المعروف أنه منذ فترةٍ كانت samsung قد صنعت بدائل مختلفة لخدمات google و المكونات مغلقة المصدر علي android؛ ليكون بإمكانها (لو اضطرتها الظروف لذلك) أن تصنع نسختها الخاصة من النظام بعيداً تماماً عن سيطرة google،

تطبيقات google و بدائلها من samsung

 و هو ذات الأمر الذي نجحت amazon في فعله بلا نقصان في نظام Fire OS الذي هو نسختها الخاصة من نظام android (ربما أتحدث عن هذه النقطة بالتفصيل في مقالٍ لاحق بمشيئة الله تعالي)، بل إن samsung بدأت بالفعل في الإعلان عن نظام التشغيل tizen  و الذي يبدو أنه سيكون بديلها الخاص لتستغني عن android تماما (أو حتي بشكلٍ كبير، أو حتي يعمل كخيارٍ استراتيجيٍ و قارب نجاة)،

واجهة نظام Tizen

و بما أن samsung كما قلنا لديها الخدمات التي تشابه الخدمات التي تتيحها google علي تجربة android الصافية فإنني أظن أن نظام tizen سيكون قريباً من ناحية تجربة المستخدم من android (لا أعلم في الواقع هل الخدمات التي تتيحها samsung علي android ستكون متاحة علي tizen أم لا، و لكني يصعب عليَّ تخيل عدم كونها كذلك).

و لم يكن نظام tizen وليد البارحة كما قد يُوهِم ظهوره الحالي المفاجيء، بل هو وليد سلسلةٍ طويلةٍ من المحاولات علي يد كلٍ من  Samsung و Intel و غيرهن؛ حيث أن intel تُشارك في المشروع ببعضٍ من أكواد نظام MeeGo، بينما تُشارِك Samsung بـSamsung Linux Platform - SLP و مشروع LiMo، و مؤخراً مزجت samsung مشروعها Bada فيه. بل و تمتد جذوره لمحاولات بناء أنظمة سابقة علي هذا هي maemo و moblin و من أقرانه الموجودين حالياً أنظمة "sailfish" و "nemo" ! و هذه كما ترون شجرةٌ أطول مما تبدو عند النظرة الأولي. 



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

و حينما تكون هذه الأنظمة مفتوحة المصدر فإن الفائدة تكون مُضاعَفة؛ فبالإضافة لما فات فإنه سيكون بإمكان الشركات المختلفة أن تقوم بالاستفادة من تجارب و أكواد المشاريع المنافسة لتقدم الأفضل، و يكون بإمكان المنافس الاستفادة من جهدهم ليقودم الأفضل بدوره، و الرابح الأكبر في هذه الدورة هو المستخدم النهائي بشكلٍ خاص، و التقدم العلمي البشري بشكلٍ عام.

***
لهذا السبب فإنني حينما رأيتُ أن المؤشرات تؤكد أن نظام تشغيل BlackBerry أصبح خارج نطاق المنافسة قاطعة الرقاب لأنظمة التشغيل العاملة علي الهواتف الذكية و اللوحيات (نتيجةً لتعثر الشركة في السنوات الأخيرة، و المصاعب الساحقة التي تتعرض لها)، و التي تقتصر في الوقت الحالي علي نظامَيْ الـandroid و الـIOS، حينها رأيتُ أن أفضل سبيل لتنقذ شركة blackberry نفسها و يكون بإمكانها أن تواصل تطوير نظام تشغيلها أن تقوم بفتح مصدره؛ ليكون من الممكن للمبرمجين خارج الشركة المساعدة في تطويره، أو مواصلة التطوير حتي في حالة الانهيار التام للشركة؛ خاصةً و أن الـ BlackBerry OS يتميز بوجود عدد ضخم من التطبيقات التي تعمل عليه، و قاعدة كبيرة (أو حتي غير قليلة) من المستخدمين له و من الأجهزة التي تعتمد عليه، و بالتالي فقد يجد فتح مصدره ترحيباً كبيراً و دعماً واسعاً من كل هؤلاء المستفيدين (خاصةً الشركات التي تبني له تطبيقات احترافية)، و ينضم الكثيرين لعملية المساعدة في تطويره ليصير أفضل و أقوي. 

و رويداً رويداً ربما يصير من الممكن تشغيله علي عددٍ كبيرٍ من الأجهزة ذات المعماريات و المواصفات المختلفة، فيكون بإمكان BlackBerry أن تستفيد من الكثير من الدروس في تجربة google مع الـandroid؛ فلو كانت BlackBerry في نموذجها الربحي تعتمد علي الخدمات فإنها بعد فتح مصدر نظام تشغيلها ستكون حالتها مطابقة لحالة google؛ لأن android مفتوح المصدر (علي الأقل جزئياً) و لا تزال google تعتمد عليه في نشر خدماتها علي مئات الملايين من الأجهزة المحمولة.

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

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

و رغم أنني لا أعلم يقيناً هل نظام blackberry قوي أم لا، إلا أنه يظل صاحب أرضية واسعة من المستخدمين له و التطبيقات التي تعمل عليه، و هذا يشكل عامل جذب في حد ذاته. ثم إن المُراجَعات التي تم نشرها لآخر إصداراته (أعني الإصدارة العاشرة) تبشر بأن BlackBerry قد وعت الدرس جيداً، و تحاول قدر استطاعتها أن تجعل نظامها يلحق بركب الأنظمة الأخري.

واجهة لنظام blackberry10

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

***
دعونا نكتفي بهذ القدر من الحديث عن canonical و ubuntu و android و google و ما شابههن من أنظمة التشغيل و صناعها، و كل ما تحدثنا عنه في المقالات السابقة في هذه السلسلة. حيث كان جل تركيزنا منصباً علي المسار التاريخي لتطور نواة اللينوكس؛ بصفتها واحداً من أكبر المشاريع البرمجية الحرة في التاريخ (إن لم تكن الأكبر)، و لما لها من تأثيرٍ فائقٍ علي حركة البرمجيات الحرة مفتوحة المصدر بأسرها (و هذا هو الأمر المُعتاد عند الكثيرين ممن يحاولون تبسيط تاريخ البرمجيات الحرة مفتوحة المصدر).

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

و من تلك البرمجيات:

  • بيئات سطح المكتب الرسومية مثل KDE, Gnome, Unity،
  • أنظمة إدارة قواعد البيانات مثل MYsql, MariaDB،
  • مكتبات التطوير للأنظمة الحرة مثل QT،
  • برامج تحرير و عرض الوثائق مثل libreoffice, kpdf،
  • برامج الرسوميات و التصميمات الاحترافية مثل blender, Gimp, inkview،
  • برامج المُحاكاة لأنظمة التشغيل الأخري مثل Oracle VM VirtualBox،
  • منصات الألعاب المشهورة مثل steam،


و ما دام ليس من العدل في شيءٍ أن نُهمل هذه الأقسام من البرمجيات الحرة مع تلك الأهمية الفائقة لها: فسأحاول بمشيئة الله تعالي الحديث في المقالات القادمة  من السلسلة عنهن، علي أن يكون حديثنا في المقال القادم عن تطور بيئات سطح المكتب المختلفات.

هناك 6 تعليقات:

  1. في البداية تحياتي لك :)

    لدي ملاحظتين حول الموضوع
    1.أندرويد مفتوح المصدر و شفرته تنشر كاملة في موقع أندرويد الرسمي
    المحتكر هو خدمات google و ليس النظام
    2.كانونيكال هي من ساهم في تطور سطح مكتب GNU/Linux
    ماندريفا أول من بنت نظام تشغيل للمستخدم العادي
    لكن لم يلقى ذات الإقبال الذي لاتى أوبنتو

    مشاريع مثل Unity 8 و Mir ستساهم في تقدم النظام
    مشاكل X كثيرة سواء من ناحية الرسوم أو نواحي أخرى

    أحدها في تبديل اللغات في كل الواجهات
    عندما أضفط Alt+Shift الواقعتين لليمين تستبدل الإنجليزية بالعربية لكن ليس العكس
    و هذه مشكلة في XInputMir مصمم بحيث يسهل تطوير تعريفات العتاد للنظام و تطوير الميزات الجمالية من مؤثرات و غيره
    و هو يدعم تعريفات أندرويد (ميزة أضيفت مؤخراً في WayLand 1.3)
    بحيث يمكن تثبيت أي توزيعة تستخدمه على هواتف أندرويد
    Unity 8 ليست مجرد واجهة بل إضافة لهذا مكونات أخرى
    تشمل مشغل الصوتيات و المرئيات و مستعرض الملفات و غيرهم
    و أضيف إلى ذلك نظام تحزيم click
    و هو يستبدل عائق التحزيم الحالي deb و عيوبه كالاعتماديات مثلاً
    كل هذا مفتوح المصدر
    فيكون نظام أوبنتو نظاماً متكاملاً أشبه بنظامي وندوز و ماك أو إس إكس
    أما من يستشكل على كانونيكال فدعه جانباً
    فكثير من البرامج لم تكن موجودة بدون أوبنتو

    ردحذف
  2. بخصوص القيود التي تضعها قوقل علي تحرر أندرويد من قبضتها يمكنك قراءة المقال التالي علي Arstechnica:


    http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/



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

    ردحذف
  3. لدي طلب : أريدمواقع علمية و تقنية بحتة بعيدة عن نقاش المتعصبين و المزاح لها علاقة بنظام GNU/Linux
    حالياً لدي مقرر لغة إنجليزية عن كتابة تقارير أكاديمية و تقنية و أريد مصادر و مراجع للبحث

    عنوان بحثي هو معمارية توزيعات GNU/Linux
    The Architecture of GNU/Linux Distributions

    ردحذف
  4. أعتذر عن التأخر في الرد،
    بعد البحث وجدتُ الروابط التالية التي قد تكون ذات فائدة لك في موضوع بحثك:

    http://en.wikipedia.org/wiki/Linux_distribution

    http://en.wikipedia.org/wiki/Rolling_release

    http://www.linuxfromscratch.org/

    http://www.ibm.com/developerworks/linux/tutorials/l-embedded-distro/index.html

    http://en.wikipedia.org/wiki/Comparison_of_Linux_distributions

    http://arstechnica.com/gadgets/2009/02/an-introduction-to-google-android-for-developers/

    http://oldlinux.org/Linux.old/docs/lu9-All_you_need_to_know_about-The_early_history_of_Linux_part_2.pdf

    http://www.tuxradar.com/content/how-build-your-own-linux-distro

    http://www.unixmen.com/building-a-linux-distribution-from-scratch-interview/

    http://stackoverflow.com/questions/12807259/how-easy-is-it-to-make-a-linux-distribution

    http://www.maketecheasier.com/6-tools-to-easily-create-your-own-custom-linux-distro/

    http://unix.stackexchange.com/questions/87011/how-to-easily-build-your-own-linux-distro

    http://www.youtube.com/watch?v=9K-iUJgFhWA

    ردحذف
  5. مقال رائع .. و أنتظر كلامك عن المشاريع العربية مفتوحة المصدر ( ويب أو مكتبية ) .. و إن كانت قليلة

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

    ردحذف