2/26/2013

ما معنى -مفتوح المصدر- و لماذا نهتم؟


بسم الله الرحمن الرحيم.

في هذة التدوينة المتواضعة سأحاول تبسيط بعض مفاهيم و أساسيّات الأنظمة المفتوحة المصدر ولماذا نحن كمستخدمين/مطورين نهتم بهذة الفكرة أو المبدئ.

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

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

أنظمة مفتوحة المصدر بداياتها كانت في الستينات حين همّت ثلاث جهات بإنشاء نظام خاص يلبى طلباتهم وهي Bell Labs أو At&T و معهد ماساتشوتس للتقنية و أيضاً شركة GE.

ملاحظة: Bell Labs لها العديد من المساهمات الرائعة في العديد من المجالات مثل: علوم الفلك،أجهزة مزدوجة الشحنة، لغة البرمجة سي، لغة البرمجة سي++ و آخرا وليس أخيراً الليزر. و يذكر أيضاً أن هناك أكثر من 6 جوائز نوبل منحت لأعمال من هذة الجهة. 

أنتجت هذة الشراكة النظام المعروف بـ MULTICS في سنة 1965 لكن كان هذا النظام معقد و لم يؤدي أو يقدم الأهداف المتوقعه منه ولهذا قامت Bell Labs بالإنسحاب من هذا المشروع ولكن المفارقة أن باحث يدعي (كين ثومبسن) من Bell Labs كان أحد العاملين في هذا المشروع بالمشاركة مع زميله في العمل (دينس ريتشي) قاما بتطوير نظام Unics الذي أعتقدا أنه أسهل و أقل تعقيداً من نظام MULTICS.

دينس ريتشي و كين ثومبسن.

مع أن Unics قد تغير من نواحي عدّة وخاصة لغة البرمجة التي كتب فيها النظام، إلا إن الأسم بقي نفسه لكن إختصر ليكون مايعرف الآن بUnix. بعد ذلك في عام 1973 قاما كين بتطوير النظام وهذة المرة بشكل كبير جداً بإستخدام لغة السي (التي أنشئها نفسه دينس ريتشي لتكون لغة لتطوير برامج سهلة التنقل من جهاز ﻵخر كما هو الحال مع برامج لغة فورتران في ذاك الوقت).


-ريتشارد ستالمن و لينوس ترافلدس:

عندما إنتشر يونكس بين الجامعات و العلماء، كانت جامعة بركلي، كالفورنيا أكبر المساهمين و المطورين لهذا النظام، ومايعرف اليوم بنظام Berkeley Software Distribution هو في الحقيقة نتاج طالبين من طلاب درجة البكالوريس في تلك الجامعة. لكن ضجر و ملل العلماء من تعقيدات Bell Labs في إصدار الرخص لهذا النظام (Unix) قام الطلاب بتطوير نظام BSD أكثر و أكثر أيضاً ليكون بديل من نسخة Unix III المستخدم في ذاك الوقت.

وبسبب تلك التعقيدات أعلن ريتشارد ستالمن من معهد ماساتشوتس في عام 1983 إستقالته و نيته بتطوير نظام يهدف إلى تعزيز فكرة البرمجيات الحرّة. وأيضاً أحد أسباب إستقالته من معهد ماساتشوتس هو خوفه من أن يقوم المعهد بالتشويش على عمله و يدّعي بإمتلاك العمل لاحقا. فبدأ مشروعه و أطلق عليه إسم GNU. ولكن خوفه لم يكن في محله إذ أن المعهد قد سمح لريتشارد أن يستخدم مختبرات المعهد إن أراد. 

ريتشارد ستالمن

ملاحظة: يتميّز ريتشارد ستالمن بحس الفكاهة، إذ أن GNU هي إختصار لـ
 Gnu Not Unix. =D



شعار GNU.

لمدّة أكثر من خمس سنوات كان رتشارد ستالمن يطور أدوات و برامج للشل حينها ظهر عارض النصوص المعروف cat. في بداية التسعينات  كانت جميع أجزاء مشروع ريتشارد مكتملة ماعدا الكرنل وهو الجزء الأول لتطوير نظام ما. كان الكرنل الرسمي لهذا النظام يسمى بGNU/HURD لكن للأسف لم يكتمل هذا المنتج.

توضيح مبسط لمعمارية يونكس.
ولحسن الحظ في 1991، طالب فنلندي في قسم علوم الكمبيوتر يدعى ليونس ترافلدس قرر كتابة كرنل لنظام مجاني مشابه لـ يونكس ويكون مناسب للإستخدام اليومي. وهكذا بدأ لينس رحلته في التطوير بإستخدام كود نظام مشابه لـ يونكس يدعى مينيكس. بدأ لينس ترافلدس بتكوين الكود الجديد "سطر بسطر" حتى حصل على كود جديد خالي من النظام الذي بدأ فيه وهو مينيكس.



لينوس ترافلدس


لينوس قرر تسمية الكرنل لينكس و من ثم نشره تحت رخصة ريتشارد ستالمن GPL. وهكذا اتم ريتشارد ستالمن هدفه بمساعدة من كيرنل لينوس. ولهذا يقال أنه غير صحيح إطلاق على هذة الأنظمة لينكس فقط وليس غنو/لينكس مع ان لينوس يدّعي بأن لينكس هو لينكس فقط وليس غنو/لينكس. بينما رتشارد يعتقد أنه من المنطق أن يطلق عليه غنو/لنكس بسبب أن النظام هو غنو لكن الكرنل هو لنكس ــ عدل ولا؟ :) .


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

هناك عدّة رخص منتشرة حول العالم و مستخدمة في برمجيات الويب و الكمبيوتر، منها المشهور و منها غير ذلك مثل:


• MIT • BSD • Apache, Versions 1.0 and 2.0
• Academic Free License (AFL) • GNU General Public License (GPL)
• GNU Lesser General Public License (LGPL) • Mozilla Public License (MPL)
• Qt License • Artistic License • Creative Commons Licenses
• Sun Community Source License and Commercial Use Supplement
• Microsoft Shared Source Initiative

ولكل من هذة الرخص طريقة في تجميع عدد من الأشخاص في مكان واحد (Virtually) تحت عدّة قوانين لتسهيل المهام بينهم. بعض هذة التراخيص تكون تجارية و أيضاً غير تجارية.

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

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

فرسمة القطة ستظل ماهي مادام مالك الرسمة لا يريد أن يعدل على الرسمة أو على الأقل أن ينشر الصورة للآخرين ليطوروها.

أعجبتني فقرة من مقال جميل من فوربس:

"The open-source movement has blossomed into a robust philosophy of transparency and collaboration with the potential to transform all industries. In a recent TED talk, Don Tapscott summarized the central components of the philosophy: collaboration, transparency, sharing and empowerment. When hundreds or thousands of “developers” contribute toward a shared purpose, everyone benefits."
وأيضا قبل فترة شركة أدوبي قامت بنشر الكود المصدري لفوتوشوب 1.0 و الذي يتكون من أكثر من 120000 سطر و كُتب بلغتي باسكال و آسمبلي. 

- لماذا نهتم في المصادر المفتوحة؟

1- إصلاح الأخطاْء: فمهما كانت مهاراتك البرمجية، إحتمالية وجود الأخطاء في طريقة برمجتك للكود هي كبيرة. فحين تقوم بنشر الكود يطلع زملائك على هذا الكود و يقومون بالتعديل عليه إن أحتاج الأمر لذلك. لكن إن كان الكود مملوك فلا يمكن ﻷحد التعديل عليه و إصلاحه إلا من قبل مطوري الكود أنفسهم.

2- الآمان: تمكين المستخدمين من الإطلاع على الكود المصدري يعطي راحة و شعور بالإمان من إن كان هناك أي محاولة لزرع أي من الملفات الخبيثة مثل باكدور وغيره. فالبرمجيات المملوكة لا يمكن التحقق من مستوى الآمان لديها بسهولة كما هو الحال مع مفتوحة المصدر. (بإمكان التحقق إن كان هناك مثلاً إستقبال و إرسال لملفات لا تعلم عنها من خلال طرق كثيره، أشهرها إستخدام برنامج إلتقاط الحزم الشهير Wireshark).

3- التخصيص: عندما ينشر الكود المصدري للنكس (في منتصف شهر فبراير-2013 تم نشر آخر تطوير لكود Mineline هنا) تقوم الشركات مثل ردهات، دبيان و غيرهم بأخذ هذا الكود و تعديله و من ثم إستخدامه مرة أخرى في توزيعاتهم الخاصة وأيضا هناك جهود فردية من المستخدمين لإنشاء كود خاص بهم يقوم بعمل واحد فقط لتسهيل نقله و تثبيته و إصلاحه مثل إنتشار العديد من أنظمة لينكس التي تقوم بإستظافة مواقع فقط :)

4- ترجمة البرمجيات: هناك العديد من اللغات حول العالم الغير مدعومة بسبب أن مطوري الأنظمة المغلقة يعتقدون أن وقتهم أثممن من أن يترجموا إلى هذة اللغات. وهذا ظلم و إجحاف لعدد كبير من المستخدمين وخسارتهم مطوري الأنظمة نفسهم. مثلاً اللغة العربية للأسف غير مدعومة بدرجة اللغة الإنجليزية أو الإسبانية. مع أن العربية هي الرابعة عالمياً و يتم دعم لغات أقل منها بكثير (من ناحية عدد المتحدثين) قبل العربية.



- بعض إستخدمات علميّة،حكوميّة و قطاعات الأعمال للبرامج الحرّة:

حكومية:
 أحد أكبر إسهامات توزيعات المصادر المفتوحة هي في الشرطة الفرنسي الوطنيّة، إذ إنها إستطاعات توفير 50 مليون يورو من خلال تبني أنظمة و برامج لينكس.
الحكومة التركية طورت نظام لينكس الخاص بها و أسمتها باردس، و أيضا في الفلبين خلال فترة الإنتخابات أنظمة إبنتو كانت هي المستخدمة.

تعليميّة:
أجهّزة OLPC XO-1 أو المعروفة في أجهزة MIT الرخيصة. كان هذا مشروع لتوزيع جهاز لكل طفل في الدول الفقيرة.
أيضاً اجهزة سوني أصدرت حزمة أسمتها (لينكس لـبليستيشن2) وقد إنتشرت عدّة إستخدامات لها خاصة في مجال الحوسبة العنقوديّة (Computer Clustering).

قطاع الأعمال:

كما هو معروف إمتلاك غوغل لأندرويد، أيضاً موظفي غوغل لديهم نسخة أبنتو المعدلة الخاصة بهم. أطلق عليها أسم Goobuntu. و قد ظهرت في مؤتمر LinuxCon في 2012.
علميّة:
سيرن: أكبر مسرع جزيئات في التاريخ الموجود في الحدود الفرنسيّة السويسريّة. و الذي كلف الحكومات الأوربيّة عشرات المليارت يستخدم أجهزة مدعومة بأنظمة لينكس العلمية المعروفة ب(Scientific Linux) لتحريك و التحكم بالمحرك.

بإمكانكم التزوّد بهذا الموضوع من هذه المصادر:




Linux Kernel

Linux Kernel Archive


Practical Unix & Internet Security


Free Software Foundation

GNU Project

جلسة أسئلة&أجوبة مع لينوس ترافلدس مع جامعة من فنلندا فيها العديد من المناقشات الرائعه و الجميلة عن هذا الموضوع، هُنا.

مقابلة مع ريتشارد ستالمن يوضع العديد من أمور منظمة جنو، هُنا.

محاضرة لريتشارد ستالمن يذكر فيها تاريخه و بدايته، هُنا.

من أرشيف At&T، كيف بدأ لينكس. ممتاز جداً و المقدم يذكرني كثيرا بالراحل كارل سيغن، هُنا.


-أتمنى أكون وفقت طرحي المتواضع، وأي إصلاح أو تعديل الرجاء محادثتي- على @_Ysaif 

شكراً.

(:


ملحق -أ-

الأنظمة المبنيّة على يونكس أو المعروفة بUnix-Like:

مصدر الصورة.




2/20/2013

ماذا يمكنك فعله "لمحاولة" بقائك آمنا عند إستخدامك BitTorrent


مرحبا،

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

نقاط التدوينة:

1-تعريف بسيط بقانون الثلاث ضربات
2- التكنيك الأول: إستخدام شبكة إفتراضية خاصة
3- التكنيك الثاني: إستخدام سييد-بوكس

ملاحظة:

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

2- الكاتب ﻻ يتحمل أي مسؤولية في حال تم إستخدام هذة المعلومات بطريقة غير شرعية، فالتقنية سلاح ذو حدين بإمكانك التفوق و تكوين نفسك وذاتك و ربح ملاين الدوﻻرات و أيضا بإمكان الأنترنت إدخالك للمحاكم كمجرم. كن حذراً.


أولاً: قانون الثلاث ضربات - The Three Strikes Law.

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



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

وهنا أيضاً رسالة أُخرى لكن من مخرج فلم أضحكتني كثيراً في إحدى منتديات مشاركة الملفات.





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


الخيار الأول:  إستخدام الشبكة الإفتراضية الخاصة.


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

- يوتيوب حجب في باكستان وبعض الدول الإسلامية بعد فلم براءة المسلمين-

أيضا بإمكانك التغلب على القوانين الغريبة مثل الإستخدام العادل التي تقوم به شركات الإنترنت بتقليل الباندويث لإتصالك. -في نظري هذا سوء في تصميم شبكات مزودي الخدمة-



مصدر الصورة

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

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

فبإمكانك عزيزي القارئ الإشتراك بهذة التقنية من خلال أحد مزودي الخدمة لتشفير إتصالك و الحفاظ على خصوصيتك من خلال دفع مبلغ رمزي نسبياً ﻷحد الشركات لإستخدام شبكتهم للإتصال بالمواقع و 
الموارد الي تريدها. 


الخيار الثاني- سييد بوكس.


السيدبوكس سيرفر عادة يعمل بأحدى أنظمة يونكس/لنكس ويكون متصل بالأنترنت بسرعات عالية، سرعات هذة الاجهزه أحيانا تتعدى ال15 ميجابت ليس بمواقع قياس السرعات ولكن فعلياً.



مثلا هذة الصورة هي تجربة سابقة لي شخصياً مع أحد مزودي الخدمة، وننظر إلى سرعة التحميل  وتعتبر جيدة جداً مقارنة بما نحصل عليه عادة من مزودي خدمات الأنترنت الغشاشين :).

 ما يجب ذكره خاصة مع السيدبوكس، هو أنك لن تحصل الحماية التي ستحصل عليها لو إستخدمت شبكة إفتراضية إذ أن الجهاز الخادم (سيرفر) الذي ستقوم بإستئجاره ليس لك وحدك، إذا الخصوصية هي 0%، فعندما إستجئرت سيدبوكس العام الماضي; ذهبت للتجول داخل الطرفية (موجه الأوامر في لينكس) بإدخال بعض الأوامر فتفاجأت بوجود 10 أشخاص بإمكانهم مشاهدة جميع الملفات التي أقوم بتحميلها أو حتى المواقع التي زرتها. 

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

عند إستئجارك لهذا الجهاز، يقوم مزود الخدمة بتخصيص مساحة لك في الخادم بإسم المستخدم الذي قمت بتسجيلة. ومن ثم تقوم بالدخول عليه من خلال عدة تقنيات مثلاً:

1- SSH
2- VNC
3- Web based torrent client.

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

- مناقشة لمزودي خدمات الشبكة الإفتراضية، بإمكانك التعرف على ماهي الخدمات المحافظة على خصوصية المُستخدم. هُنا

مزود شبكة إفتراضية إستخدمته لفترة معينة، الجميل في الأمر أنه يأتي مع سيدبوكس أيضاً. من موقع FeralHosting.


مزود آخر لسيد بوكس فقط، و جربته لفترة معينة (الصورة في الأعلى هي في الحقيقة من هذا الموقع) . هو ByteSized.


للأسف لقد تم إلغاء إشتراكي ومنعي من موقع بايت-سايزد بسبب تطفلي الشديد على الخادم المخصص لي، و بسبب أيضاً إدخال بعض الأوامر الممنوعة في شروط الإستخدام :(.



الخلاصة: 

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

في حالة وجود أي ملاحظات بإمكانك إرسالها على: 
@_YSaif

شكرا للأخ العزيز جريس الجريسي على مساعدته الرائعه.