الخميس، 18 يوليو، 2013

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

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

يمكنكم قراءة الأجزاء السابقة من الروابط التالية:
الجزء الأول:
الجزء الثاني:
الجزء الثالث:

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


***

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

و لأن الأمور كانت مقصورةً علي المحترفين فقط في البدايات فلم تكن واجهات المستخدم user interfaces ودودةً أو سهلة، بالإضافة إلي أن المحترفِين يُفضِّلون إنفاق الوقت في تطوير الخوارزمات algorithms الخاصة ببرامجهم عوضاً عن زيادة سهولة واجهة المستخدم التي يمكنهم التضحية بها في سبيل ما هو أهم (من وجهة نظرهم)، و خاصةً إذا كان مستخدموا برمجياتهم من المحترفين أمثالهم.


و بالتالي فإن المستوي الذي وصلت إليه البرمجيات الحرة وقتها لم يكن كافياً لجعل المستخدمِين العاديين يستعملونها كبديلٍ للبرمجيات المُغلَقة المصدر؛ و مثالٌ علي أن واجهات المستخدم في البرمجيات الحرة كانت مُرهِقةً في الاستخدام: أن أنظمة التشغيل الحرة الناضجة و البرمجيات القوية التي تعمل عليها لم تكن لها واجهة الاستخدام الرسومية graphical user interface لفترةٍ طويلةٍ بعد ظهور ذلك النوع من الواجهات، و كان من يرغب في تجربتها مرغماً علي استخدام سطر الأوامر command line في أغلب الوقت إن لم يكن كله.

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


كما أن طريقة تنصيب install البرمجيات التي يحتاجها المستخدم في توزيعات القنو/لينوكس ليست مُوحَّدة، و بالتالي حتي إن وَجَد المستخدم العادي البرامج التي يرغب في استخدامها: فقد يجدها علي هيئة ملفٍ مصدري source code و يكون مُطالَباً بترجمتها و بنائها من الصفر compile and build from scratch !!!

أو قد يجد تلك البرامج علي هيئة حِزَم rpm أو حِزَم deb بينما تعمل التوزيعة التي يستخدمها باستخدام النوع الآخر من الحِزَم !، و مِن ثَم يدخل في متاهات التنصيب عبر سطر الأوامر أو البحث عن الحزمة المناسبة لتوزيعته !

و بما أن توزيعات القنو/لينوكس تُعتبَر من أقوي أنظمة التشغيل الحرة و أكثرها نضجاً: ففد ظهرت الحاجة لتوزيعةٍ تجعل بإمكان المستخدم العادي التعامل مع نظام اللينوكس بكل قوته بسهولةٍ كبيرة، و أن تتيح هذه التوزيعة للمستخدم العادي أن يُنصِّب البرامج التي يحتاجها ببساطة، و يستعرض المُتاح منها و يعرف بياناته كاملةً و آراء المستخدمين السابقين فيه، و كل هذا عن طريق متجرٍ إلكترونيٍ مُشابِهٍ للـapp store الخاص بشركة apple، و يبتعد عن التعقيدات التقنية التي تظهر عند التعامل مع برامج إدارة الباقات package management.



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


Ubuntu logoو قد كانت التوزيعة التي سعت بقوةٍ لسد الفراغ في هذه الناحية و بتلك المواصفات التي ذكرناها هي توزيعة ubuntu، و التي تم إطلاق أول إصدارةٍ منها في 20 أكتوبر 2004م، علي أن يتم إطلاق إصدارةٍ جديدةٍ كل ستة أشهر، مع الحفاظ علي وجود دعمٍ لكل إصدارةٍ يتم إطلاقها لفترةٍ معينة (يمكنكم معرفة المزيد عن نظام إصدارات ubuntu و فترات الدعم التي تتلقاها من خلال صفحتها علي الويكيبيديا). 

Canonical logo.svgو الشركة التي تقف وراء تطوير توزيعة ubuntu هي شركة canonical ltd التي تم تأسيسها في 5 مارس 2004م علي يد رجل الأعمال الجنوب إفريقي "Mark Shuttleworth"، و تم تأسيسها في الممكلة المتحدة (بريطانيا)، و تجني أرباحها بشكلٍ أساسيٍ عن طريق خدمات الدعم الفني التي تقدمها للشركات التي تعتمد علي توزيعة ubuntu في عملها (أمرٌ قريبٌ مما فعلته شركة Red Hat قديماً).

و هناك أكثر من "نكهةٍ" مختلفةٍ من ubuntu (و أقصد بهذا توزيعاتٍ تَستخدم بِنية ubuntu الأساسية مع واجهاتٍ رسوميةٍ مختلفة)؛ حيث أن هناك توزيعة kubuntu التي تستخدم واجهة الـkde و أعتبرها (عن نفسي) أفضل التوزيعات علي الإطلاق، و هناك Edubuntu التي تستخدم واجهة الـGNOME و تُركز أساساً علي الاستخدام في المدارس و المنازل.
و هناك Lubuntu التي تركز علي الخفة و استخدام أقل قدرٍ ممكنٍ من موارد الحاسوب و تعتمد علي واجهة LXDE الخفيفة. و كذلك هناك Mythbuntu المبنية خصيصاً لعمل ما يُشبه المسرح المنزلي مع MythTV و تستخدم واجهة الـXfce.

بالإضافة لذلك فهناك Ubuntu Studio المبنية خاصةً للتعديل الاحترافي علي الصوتيات و المرئيات، و هناك Xubuntu التي تعتمد علي واجهة Xfce و بُنِيَت خصيصاً لتعمل علي الأجهزة ذات المواصفات الصغيرة تماماً مثل lubuntu.




كما قامت canonical بإطلاق توزيعةٍ مبنيةٍ علي ubuntu خاصةٍ بالتلفازات الذكية، و سمتها "Ubuntu TV". و كان أول إعلانٍ رسميٍ عنها في معرض  onsumer Electronics Show التقني في 2012م تحت شعار "تلفازٌ للبشرية TV for human beings".

Ubuntu TV screenshot.png


و لفترةٍ من الفترات كانت شركة canonical تقوم بإرسال أسطوانات التوزيعة لمن يرغب فيها بعد أن يطلبها من علي الإنترنت مجاناً !، و قد ساهم هذا في زيادة رغبة الناس في استكشافها و تجربتها، و بسبب بساطتها انتشرت بشدة حتي أصبحت أكثر توزيعات القنو/لينوكس انتشاراً.



كانت توزيعة ubuntu قديماً تعتمد علي واجهة Gnome، و لكن بدايةً من الإصدارة 11.04 تم تغيير الواجهة ليتم الاعتماد علي unity؛ و ذلك للعديد من الأسباب التي أظن أنه مِن أهمها:
  • توحيد شكل واجهة المستخدم بين أجهزة سطح المكتب desktop computers و الأجهزة المحمولة (الهواتف الذكية smart phones و اللوحيات tablets)،
  • ضمان سيطرة canonical علي مسار تطوير الواجهة بشكلٍ تام، بحيث يستطيع مطوروا الشركة اتخاذ القرارات التي يريدونها بدون الاضطرار للدخول في مُساوَماتٍ و مُناقَشاتٍ مع المُطوِّرين الأصليين لواجهة المستخدم.
و بِغَض النظر عن رأيي الشخصي في هذه المسألة: فقد واجَهَت هذه الخطوة موجةً من المُعارَضة الشديدة مِن كثيرٍ مِن مستخدمي التوزيعة، و بسببها ترك بعض المستخدمين ubuntu إلي توزيعاتٍ أخري، و لكن canonical أصرت علي الاستمرار في هذا الاتجاه لأهمية الأسباب التي دفعتها لذلك.

الغريب أنني أري أن هناك موجةً من الكُره داخل مجتمع مستخدمي اللينوكس من المحترفين لتوزيعة ubuntu،  و لشركة canonical عموماً؛ و ذلك بسبب كثيرٍ من القرارات التقنية التي تتخذها الأخيرة، مثل تغيير واجهة المستخدم بدون سببٍ منطقيٍ (حسب آراء هؤلاء المستخدمين)، و كذلك تغيير خادم العرض الرسومي من wayland إلي mir الذي بنته canonical من الصفر !

و كذلك فقد كان واحدٌ من أكبر أعضاء مجتمع مُطوِّري نواة اللينوكس (أعني Greg Kroah-Hartman) قد عبَّر عن ضيقه من حقيقة أن "canonical لا تقوم بالمُساهَمة بشكلٍ كبيرٍ في تطوير النواة". علي الرغم من أنهم يعتمدون عليها (كما هو واضح) في تحقيق أرباحهم و أن لديهم مُطوِّرِين متميزين يمكنهم المساعَدة بشكلٍ أكبر. و لكن في النهاية فإن الأمر ليس حتمياً بل يرجع في المقام الأول لرؤية canonical و وجهة نظرها لطبيعة عملها، و كيفيةِ ردها للجميل لمُطوِّري نواة اللينوكس (أو علي الأقل هذه وجهة نظري الشخصية لهذا الأمر).

و من أكبر الخطوات التي قامت بها canonical هي التعديل في واجهة unity بحيث تُناسٍب الهواتف الذكية و الحواسيب اللوحية، ففي 2 يناير 2013م تم كشف النقاب عن واجهة Ubuntu Touch التي تُناسِب الأجهزة ذات شاشات اللمس touch screens، و قد أعلن Mark Shuttleworth أنه سيتم دمج دعم الهواتف الذكية و اللوحيات و أجهزة التلفاز الذكية و الشاشات الذكية smart screens في توزيعة ubuntu الرئيسة في الإصدارة 14.04 (التي سيتم إطلاقها في شهر أبريل لعام 2014م بإذن الله تعالي).

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

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


و السؤال الآن: هل حقَّقت ubuntu الهدف الرئيس من ورائها من تسهيل اللينوكس علي المستخدمين العاديين ؟


و الجواب: أنها قطعت شوطاً لا بأس به أبداً، و استطاعت أن تكسب جمهوراً كبيراً لصالح القنو/لينوكس، و صارت عملية تنصيب البرامج أسهل من قبل بكثيرٍ جداً، كما أن انتشارها جعل إمكانية العثور علي حلولٍ للمشاكل التي تُواجِه مستخدميها المبتدئين أسهل.



لكني أعود لعملية تنصيب البرمجيات لأقول أنها لم تُصْبِح بنفس سهولتها في أنظمة الـwindows و الـmac؛ لأن النظامين سابقي الذِكر كل واحدٍ منهما مملوكٌ لجهةٍ واحدة، فالـwindows مملوكٌ لـmicrosoft، و الـmac مملوكٌ لـapple. و بالتالي فإن طريقة تنصيب البرمجيات مُوحَّدةٌ في كل نظامٍ من النظامين لأن الشركة المالكة لكلٍ منهما حرصت علي هذه النقطة، كما أن العملية في كلتا الحالتين سهلةٌ جداً لتسهيل الانتشار التجاري.

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

لذلك فمن وجهة نظري فإن نجاح ubuntu كان نجاحاً منقوصا، رغم أن اللوم لا يقع عليهم في ذلك كما أسلفتُ القول. و لا يمنع هذا كون ubuntu تُعتبَر قفزةً كبيرةً لنظام القنو/لينوكس في سوق الحواسيب الشخصية، أفضل بكثيرٍ من توزيعاتٍ أخرياتٍ من ذوات الشهرة الواسعة.


لكن الأمر كان مختلفاً مع توزيعة android، التي أري أنها نقلت اللينوكس نقلةً تاريخيةً لا أظن أن هناك مثيلاً لها علي الإطلاق، و سيكون هذا موضوعنا في المرة القادمة بإذن الله عز و جل :)

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

إرسال تعليق