رُوْح الهاكرز.. الحريّة في البرمجيات كممارسة يومية

2020-01-03

تُعرّف البرمجيات الحرّة بأنها التطبيقات البرمجيّة التي تنص رخصتها على إتاحة أربع حريّات \ حقوق لمستخدميها: الاطلاع على كيفية عمل التطبيق، السماح بالتعديل عليه، نشر هذه التعديلات للآخرين، وذلك لأي غرضٍ كان.

في النقاشات العامة من السهل أن يبدو هذا غير ذي صلة بالشريحة الأكبر من المستخدمين. قراءة كود برمجي، فهمه والتعديل عليه لا يمت للمستخدم النهائي بصلة، أليس كذلك؟

الويب المفتوح

مصطلح الويب المفتوح Open Web هو مصطلح جامع لعدد من المفاهيم التقنية (مثل الكود مفتوح المصدر، والاعتماد على المعايير القياسية Open Standards)، والمفاهيم الديمقراطية (مثل حريّتي النشر والوصول) ومفاهيم أخرى؛ منها التفاعل ثنائي الاتجاه. والذي يعني أنه لم يعد هناك خطوط فاصلة تُحدّد مَن هو القارئ ومَن هو الكاتب بيننا. فبينما تقرأ الكلمات التي دونتها هنا ما يُعطيك صفة القارئ ، إلا أنّه وفي الوقت نفسه أنت أيضًا كاتب بالنظر إلى إمكانية ترك تعليق أو الرد على هذا الموضوع بمدونتك الخاصة. الأهم أيضًا هو أنك هاكر!

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

جرّب الآن

هل يعجبك حقًا لون الخلفية الأبيض لهذا الموقع؟ وأنا كذلك لا يعجبني. إذن لمَ لا تُغيّره بنفسك دون أن تنتظرني! لنبدأ معًا.

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

بعد ذلك، ستُضاف أيقونة جديدة إلى شريط المتصفح لديك، على شكل حرف S. الآن بينما أنت في هذه الصفحة، انقر على تلك الأيقونة ثم من خيار "Write style for:" انقر على اسم نطاق المدونة blog.tareef.me

سيتم فتح نافذة جديدة تحتوي على مُحرر نصوص. هنا يمكننا إدخال التعديلات التي نريدها. ما نرغب به هو تغيير لون الخلفية الخاص بجسم هذه المدونة إلى الرمادي الفاتح. وهذا يعني إضافة الكود التالي هناك:

body {
    background-color: LightGray;
}

اضغط على زر Save ثم عُد إلى صفحة المدونة وانظر بنفسك! تجوّل في أي صفحة الآن وسترى أنك استطعت بالفعل التعديل عليها مباشرةً بأدوات وتعليمات بسيطة دون الحاجة لأن تكون مبرمجًا.

قارئ، كاتب، وهاكر أيضًا!

أتمنى حقًا أن تكون قد أجريت التجربة السابقة، لا سيما إن لم تكن مبرمجًا؛ لأنها ستكشف لك كم من السهل، وكم من الممتع أن تُعدّل المواقع والمنصات التي تستخدمها يوميًا لتناسب احتياجاتك أنت.

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

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

البرمجيات الحرةّ

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

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

إيقاف إغلاق المتصفح مع إغلاق آخر لسان

ماذا يحدث عندما يكون في المتصفح لديك لسانُ تبويبٍ وحيد ثم تُغلقه؟ سيُغلق المتصفح بأكمله أليس كذلك. هذا السلوك لا يروق لي، انظر كيف استطعتُ تغييره.

في شريط العنوان ضمن فيرفكس كتبتُ ما يلي about:config ثم ضغطتُ على زر الإدخال، فظهرت لي رسالة تطالبني بالحذر أثناء إجراء تعديلاتي هنا، أضغط على زر المتابعة. الآن هناك شريطٌ للبحث، سأبحث عن lasttab لأجد من النتائج خيارًا يُدعى browser.tabs.closeWindowWithLastTab وهو يملك القيمة True. سأنقر مرتين على هذه القيمة لتصبح False. الآن حصلتُ على السلوك الذي أريده!

التفضيلات، الإضافات، وملفات التحرير

هذا يعني أن ما نجده من خيارات في قائمة التفضيلات Preferences هو بعض ما يُمكن تعديله، وأن هناك أساليب أخرى تتيح لنا المزيد.

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

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

بالطبع، يملك المبرمجون أصحاب الخبرة إمكانياتٍ أوسع بتعديل البرنامج وإعادة إصدار نسخهم الخاصة.

إيماكس

إيماكس هو محرر نصوص حرّ ومفتوح المصدر، يُعتبر أحد الأمثلة البارزة على التطبيقات التي تحولت إلى منصة مفتوحة لتعديلات المستخدمين وإدخال خصائصهم.

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

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

مجتمع مفتوح

التخصيص وكتابة الإمتدادات، وما يبنى حول ذلك من مجتمعات تتشارك وتتعاون فيما بينها هو أحد تجليات حرية البرمجيات.

إن كنتَ قد تعاملت مسبقًا مع برمجيات حرّة فيمكنك ملاحظة ما نتحدث عنه هنا. الخصائص الكثيرة في واجهة كدي، الـ Widgets التي يمكن تثبيتها. الـ Extensions في غنوم، الامتدادات التي يمكن إضافتها لإنكسكيب، جمب، بلندر إلخ

من دون التراخيص الحرّة، والثقافة المرتبطة بها لم يكن ذلك ممكنًا.

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

comments powered by Disqus