Quantcast
Channel: وادي التقنية - المقالات
Viewing all 76 articles
Browse latest View live

ما هو ترميز HEVC (H.265)؟

$
0
0

مُلخص HEVC    اختصارا(H.265)

إن ترميز الفيديو عالي الكفاءة HEVC (H.265) يعتبر خليفة الترميز H.264،والذي طُوّر بشكل مماثل لترميز H.264 عن طريق جهود مشتركة من قبل المنظمة الدولية للمعايير/اللجنة الدولية الكهروتقنية مجموعة خبراء الصور المتحركة (ISO/IEC Moving Picture Experts Group) والاتحاد الدولي للاتصالات – قطاع معايرة الاتصالات (ITU-T)، مجموعة خبراء ترميز الفيديو (VCEG). ويُعد الهدف الأساسي من الترميز الجديد هو توفير 50% أفضل في كفاءة الضغط من ترميز H.264، بالإضافة لدعم دقة عرض تصل إلى 8192 * 4320.

الخلفية التكنولوجية لترميز HEVC

بالحديث عن الخلفية التكنولوجية، فقد بدأ الاتحاد الدولي للاتصالات – قطاع معايرة الاتصالات بتطوير خليفة لترميز H.264 في عام 2004، بينما بدأت المنظمة الدولية للمعايير/اللجنة الدولية الكهروتقنية العمل عام 2007. وفي يناير 2010، تعاونت تلك المجموعات على دعوة مشتركة لتقديم المُقترحات والتي بلغت ذروتها في اجتماع الفريق التعاوني المُشترك لمجموعة خبراء الصور المتحركة (MPEG) ومجموعة خبراء ترميز الفيديو (VCEG) الفريق التعاوني المشترك لترميز الفيديو ((JCT-VC)) في ابريل 2010، والذي تُبنيّ فيه اسم ترميز الفيديو عالي الكفاءة (HEVC) لهذا الترميز.

وفي أكتوبر 2010، أنتج الفريق التعاوني المشترك لترميز الفيديو أول مواصفات لمسودة العمل والتي تستند إلى مواصفات ثمان مسودات للعمل، وصُدّق عليها في يوليو 2012. وفي 25 يناير 2013، أعلن الاتحاد الدولي للاتصالات أن ترميز HEVC قد حصل على موافقة المرحلة الأولى لعملية الموافقة البديلة للاتحاد الدولي للاتصالات – قطاع معايرة الاتصالات، بينما أعلنت مجموعة خبراء الصور المتحركة أن ترميز HEVC قد رُقيّ إلى المشروع النهائي للمعيار الدولي (FDIS) في عملية التوحيد القياسي لمجموعة خبراء الصور المتحركة.

وهذا يعني جوهرياً أن الإصدارات الأولية من المواصفات قد جُمدت بحيث يتمكن البائعين المتعددين من وضع اللمسات الأخيرة لأول مُنتجات ترميز HEVC. ويشمل التنفيذ الحالي ملمح رئيسي يدعم فيديوهات 8-bit 4:2:0، وملمح رئيسي 10 مع دعم 10 بت، وملمح رئيسي للصورة الثابتة خاص بالصور الرقمية الثابتة التي تستخدم نفس أدوات الترميز مثل فيديو "داخل"صورة.

وسوف يواصل ترميز HEVC التقدم في أعمال بدأت بالفعل على إمتدادات الفيديوهات بدقة 12 بت وصيغ نقاوة 4:2:2 و 4:4:4، فضلاً عن دمج ترميز الفيديو القابل للتطوير والفيديوهات ثلاثية الأبعاد في المواصفات.

كيف يعمل ترميز HEVC (H.265)

على غرار ترميز H.264 و MPEG-2، فإن ترميز HEVC يستخدم ثلاث أنواع من الإطارات I- و B- و P- ضمن مجموعة من الصور، ودمج عناصر الضغط بين الإطار وداخل الإطار. ويشمل ترميز HEVC العديد من التطورات، والتي تتضمن:

ترميز كُتل الهيكل: بينما يقوم ترميز H.264 باستخدام الكُتل الصغيرة بحد أقصى للحجم 16 * 16، فإن ترميز HEVC يستخدم ترميز كُتل الهيكل أو CTBs بحد أقصى للحجم 64 * 64 بكسل. وتعتبر أحجام الكُتل الأكبر، أكثر كفاءة عند ترميز الإطارات كبيرة الحجم مثل دقة 4K. كما هو مُبين في الشكل 1.

إتجاهات تنبؤ داخلي أكثر: بينما يستخدم ترميز H.264 ما يصل إلى 9 إتجاهات تنبؤ داخلية، فإن ترميز HEVC يمكنه استخدام أكثر من 35 إتجاه، مما يضيف مزيد من كتل البيكسل المرجعية المحتملة والتي تُضفي مزيد من الكفاءة على ضغط الإطار الداخلي (انظر الشكل 2، من عرض تقديمي لشركة Ateme). ويأتي هذا على حساب وقت الترميز الإضافي المطلوب للبحث في الاتجاهات الإضافية.

وتشمل التطورات الأخرى:

  • تنبؤ قوة الحركة التكيفية الموجهة، والتي تسمح لبرنامج الترميز بالعثور على مزيد من التكرار بين الأُطر.

  • أدوات الموازاة المتفوقة، والتي تتضمن المعالجة المتوازية لواجهة الموجة من أجل توفير ترميز أكثر كفاءة في بيئة متعددة الأنوية.

  • ترميز الانتروبيا هو ترميز ثنائي الحساب يتفق مع السياق (CABAC) فقط، وليس ترميز متغير الطول يتفق مع السياق (CAVLC).

  • إدخال تحسينات على فلتر إزالة الكتلة وإنشاء فلتر ثاني يُدعى مُعادلة عينة التكيف والذي يقوم بعد ذلك بتحديد الناتج على طول حواف الكتلة.

نتائج ترميز HEVC (H.265)

هناك عدد من التقارير والعروض التي تركز على مقارنة جودة ترميز HEVC مقابل ترميز H.264 وترميز MPEG-2. واحدة من أهم المصادر التي يستشهد بها كثيراً هو مقال بعنوان "مقارنة كفاءة الترميز لمعايير ترميز الفيديو التي تتضمن ترميز الفيديو عالي الكفاءة (HEVC)"، والذي يوضح نتائج كلا من مقارنات PSNR (ذروة الإشارة إلى نسبة الضوضاء) والتقييمات الذاتية. وقد بحث التقرير في سيناريوهات متعددة، بما في ذلك التطبيقات التفاعلية وتطبيقات الترفيه.

بالنسبة للمقارنات المتعلقة بالترفيه، قامت الدراسة بترميز فيديوهات متعددة تتنوع في دقتها ما بين 832 * 480 (480 بيكسل) إلى 1920 * 1080 (1080 بيكسل). وبالنسبة للاختبارات المتعلقة بذروة الإشارة إلى نسبة الضوضاء، فقد قامت الدراسة بترميز ملفات تستخدم أربع تقنيات مختلفة، وهي HEVC، و H.264، و MPEG-4، و H.263، حتى امتلكت جميع الملفات نفس قيمة ذروة الإشارة إلى نسبة الضوضاء.

ثم عرضت الدراسة بعد ذلك على المشاهدين ملفات متعددة مُشفرة بمعدلات بيانات متعددة عن طريق ترميز H.264 و ترميز HEVC، ثم طلبت منهم تصنيف النتائج. من هذه الاختبارات، استنتج الباحثون أن "تسلسلات الاختبار المشفرة بترميز HEVC بمعدل متوسط 53% بت أقل من ترميزات H.264/MPEG-4 AVC HP، قد حققت تقريباً نفس النوعية الذاتية".

وقام مقال آخر بعنوان "تقييم الجودة الذاتية لمعايير ترميز فيديوهات HEVC القادمة"بمقارنة ترميز H.264 وترميز HEVC باستخدام كلا من ذروة الإشارة إلى نسبة الضوضاء والمقارنات الموضوعية. واستنتجت الدراسة:

أظهرت نتائج الاختبار بوضوح، تحسن كبير في أداء الترميز مقارنة بترميز AVC. وبالنسبة للمحتويات الطبيعية المنظورة في هذه الدراسة، فيمكن تحقيق خفض معدل البت الذي يتراوح ما بين 51 إلى 74 في المئة بالإعتماد على النتائج الذاتية، في حين كان الحد المتوقع على أساس قيم ذروة الإشارة إلى نسبة الضوضاء يتراوح فقط ما بين 28 و 38 في المئة. هذا الاختلاف يعود معظمه لحقيقة أن ذروة الإشارة إلى نسبة الضوضاء لا تأخذ في الاعتبار تأثير تشبع النظام البصري للإنسان. كما أن ذروة الإشارة إلى نسبة الضوضاء لا تلتقط أيضاً الطبيعة الكاملة للنواتج: تسلسل ضغط AVC يحمل كتل وعوائق بينما ضغط HEVC يميل إلى التخفيف من المحتوى، وهو ما يعتبر أقل إزعاجاً. وبالنسبة للمحتوى الاصطناعي المنظور في هذه الدراسة، فيمكن تحقيق خفض لمعدل البت بنسبة 75% بالإعتماد على النتائج الذاتية، في حين كان الحد المتوقع على أساس قيم ذروة الإشارة إلى نسبة الضوضاء هو 68%.

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

أين سيعمل ترميز HEVC (H.265)؟

إن إحصائيات التشغيل يصعب الحصول عليها. ومع ذلك، فقد شرحت شركات متعددة تشغيل ترميز HEVC على كمبيوتر لوحي، بما في ذلك شركة كوالكوم على تابلت أندرويد مزود بمعالج Qualcomm Snapdragon S4 ثنائي النواة بتردد 1.5 جيجا هرتز. ومع ذلك، فإننا نلاحظ أن الفيديو كان بدقة 480 بيكسل فقط، والذي يعتبر مناسب لشاشة التابلت ولكنه بعيد عن الفيديوهات بدقة 4k والتي صُمم ترميز HEVC من أجل تفعيلها.

وفقاً لتقرير بعنوان "فك تشفير HEVC في الأجهزة الاستهلاكية"، استنتجت المحللة البارزة ميشيل أبراهام من مجموعة بحوث الوسائط المتعددة أن عدد الأجهزة الاستهلاكية التي بيعت في عامي 2011 و 2012 والقادرة على تشغيل HEVC مع برنامج مطور بلغت حوالي 1.4 مليار، مع توقعات ببيع أكثر من مليار آخر في 2013.

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

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

ووفقاً لدان رايبيرن نائب رئيس فروست اند سوليفان، فإن إصدارات HEVC الأولية سوف تحدث في حلول الحلقات المغلقة مثل مؤتمرات الفيديو للشركات، وخدمات الفيديو فائقة الجودة في الشرق الأقصى، وخدمات الفيديو منخفض البيانات عند الطلب في جميع أنحاء العالم، وذلك نتيجة لتوفير التكاليف المرتبط بنشر فيديوهات HEVC منخفضة البيانات. ويتوقع رايبيرن أن مزودي خدمات البث الفضائي المباشر للمنزل (DTH) سوف يبدأون تداول ترميز HEVC في الإطار الزمني 2014-2015، مع بعض القنوات التليفزيونية الأرضية التجريبية (DTT) المتوقعة في 2015. ومع ذلك، فهو يلخص ذلك بشكل عام:

بينما ستشمل بعض التطبيقات ترميز HEVC بشكل أقرب بكثير من المعتاد، في حين ينبغى على فك وترميز أنوية HEVC أن ينضج بحلول 2014، فنحن نتوقع أن النظام الإيكولوجي الشامل للجيل الأول من منتجات HEVC سوف يظهر في السوق بحلول 2017. وعلاوة على ذلك، فنحن نتوقع أن يظل ترميز AVC مستخدم على نطاق واسع حتى عام 2018، على الرغم من أنه سيُعتبر تقنية سلعية في تلك المرحلة بشكل يشبه ترميز MPEG-2 حالياً.

حقوق ملكية HEVC (H.265)

أحد العوامل التي قد تبطئ تكيف ترميز HEVC هو حقوق الملكية المجهولة المحيطة به. وعلى غرار ترميز H.264، فإن العديد من التقنيات المساهمة في ترميز HEVC هي براءات اختراع، وسوف يريد أصحاب براءات الاختراع تعويضاً عن استخدام الملكية الفكرية. في يونيو 2012، أعلنت MPEG LA، الرابط الرئيسي لمجموعات براءات الاختراع والجهة المُنظمة لمجموعة براءة اختراع ترميز H.264 عن دعوة لحفظ براءة اختراع ترميز HEVC، ثم جرى اجتماع ثالث للخمسة وعشرون المعنين في فبراير 2013.

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

المنافسة في نظر HEVC (H.265)؟

حقوق الملكية هذه جعلت عدد من التقنيات التنافسية مثل VP9 التابعة لجوجل تستحق الذكر، ولا سيما بعد أن أضافت جوجل فك ترميز VP9 إلى الإصدارات التجريبية لمتصفح الكروم في ديسمبر 2012، جنباً إلى جنب مع وحدة فك ترميز للبث الصوتي المشفر مع ترميز Opus. ووفقاً لعرض قامت به جوجل في اجتماع فريق مهام هندسة الإنترنت في نوفمبر 2012 في أتلانتا، فإن هدف ترميز VP9 كان إنتاج جودة مماثلة لترميز HEVC بمعدلات بيانات منخفضة. وفي وثيقة المتطلبات المتاحة على موقع WebM، صرحت جوجل أن ترميز VP9 لن يُشحن ما لم تتحسن جودته عن ترميز VP8 بنسبة 50% وبتكلفة أعلى بنسبة 40% من تعقيد فك التشفير، مقارنة بنسبة 200 و 300 % لترميز HEVC.

كترميز، قورن VP8 لشكل إيجابي جداً مع ترميز H.264، وأنتج تقريباً نفس الجودة في جميع معدلات البيانات المُختبرة. ومع ذلك، فقد حكمت عدد من العوامل على ترميز VP8 بالفشل، بما في ذلك حقيقة رفض أبل تضمين ميزة تشغيل VP8 في أجهزة iOS أو متصفح سفاري، وأن مايكروسوفت رفضت ضمه إلى الانترنت اكسبلورر 9، بالإضافة لكون ترميز H.264 معيار مشترك بين مجموعة خبراء الصور المتحركة والاتحاد الدولي للاتصالات، وحقيقة أنه جاء إلى السوق في وقت متأخر بكثير عن ترميز H.264.

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

وفيما يتعلق بقضايا الملكية الفكرية: في فبراير 2011، أطلقت شركة MPEG LA دعوة لبراءات اختراع VP8، واعتبارا من يوليو 2011، خطا 12 حزب قُدماً نحو تحقيق ذلك. ورغم ذلك، فلم يُذكر مزيد من التقدم على موقع MPEG LA، وأكد مُحدثنا في MPEG LA أن لا يوجد جديد يُذكر.

السير قُدماً مع ترميز HEVC (H.265)

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

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

وبالنسبة لأغراض البث العامة، فمن الصعب التحمس لترميز HEVC بدون:

  • سياسية الملكية الفكرية من شركة MPEG LA

  • التشغيل في كل مكان عبر ترميز HEVC في مُشغل مثل فلاش بلاير أو مُشغل سيلفر لايت (لم تستجب مايكروسوفت ولا أدوبي لطلبات الحصول على معلومات بشأن توقيت وإمكانية حدوث ذلك).

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

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

الخاتمة

بين معرض NAB (ابريل 2013) ومؤتمر IBC (سبتمبر 2013)، نتوقع موجة من الإعلانات التقنية والمنتجات المتعلقة بترميز HEVC. وخلال ذلك الوقت، سوف تظهر أيضاً الموجة الأولي من الأجهزة القادرة على ترميز وفك HEVC في السوق، مما يتيح الفرصة لقياس أداء، وتكاليف، وفوائد، وتوافقية بث فيديوهات HEVC في العالم الحقيقي.

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

 

مصدر المقالة تأليف جان أوزر، ترجمة محمد مصباح


٣٠ مقابلة مع مطوري نواة لينكس في ٣٠ أسبوعا: جيري كوسينا

$
0
0

أدار المقابلة: جينيفر كليور.

ترجمة: زاهر النوتكي.

في هذه المقابلة ضمن سلسلتنا الأسبوعية سنلتقي بجيري كوسينا (Jiří Kosina) والذي سيتطرق في حديثه هذا إلى سبب اعتبار نظام لينكس النظام الذي"يقوم بالمهمة"بالاضافه إلى تطرقه كذلك إلى أن الرغبة للإنضمام بفريق نظام اللينكس لكونه "أمرا مسليا فقط"أمرا غير كافي.

ما اسمك؟؟

جيري كوسينا (Jiří Kosina). ولكن وبما أنه من الإستحالة تقريبا نطق حرف "ř"خارج الجمهورية التشيكية بالطريقة الصحيحة ، عادة ما ينتهي بي المطاف إلى استخدام اسم "جيري".

ما الدور الذي تلعبه في المجتمع/أو ما هي الأنظمة الفرعية التي تعمل عليها؟؟

يمكنك اعتباري المشرف على بعض الأنطمة الفرعية أو تطوير بعض أجزاء النواة (Kernel) والمشاريع التالية هي أكثر هذه الأنطمة المثيرة للاهتمام بالنسبة لي مرتبة تنازليا..

١. أشرف على نظام (HID). مما يعني التعامل مع مجموعة كبيرة ومتنوعة من العتاد بدءا من أجهزة البلوتوث \ يوأس.بي ، المايك ولوحات المفاتيح وعصي التوجيه المستخدمة بالألعاب ومع ذلك يتضمن عملي التعامل مع أجهزة اللمس المتعدد (حيث يقوم Benjamin Tissoiresبأغلب العمل). ومن الأمور الأخرى المثيرة للاهتمام والتي بدأت تظهر بالأفق هي استخدام HIDعلى I2Cودعم أجهزة استشعار HIDوغيرها من الأمور المماثلة.

٢. Address space layout randomization for userspace executablesوجزء كبير من هذا الكود المصدري تم أخذه في الأساس من ExecShield ولكنني قمت بتعديله مرات عدة وتم دمجه ضمن التوزيعة واصلاح جيمع العلل التي ظلت تظهر على مرور السنين. ولكن كانت بعضها يشوبها الغموض وخاصة تلك المتعلقة بالثنائيات المبنية على libc5 (نعم هناك من لا يزال يستخدمها على نواة 3.x) واصدارات emacs العتيقة كانت تفترض أن آخر عنوان شامل يظهر متغير يشير لبداية مجموعة brk()، ألخ. كانت تجربة غريبة بعض الشيء.

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

٤. تعريف القرص المرن (Floppy Driver). لم اشترك في هذا الا مؤخرا فقط ، حيث حاولت كثيرا لاقناع المشرف حينها في Thunderdomeلادرجاي ضمن أعضاء الفريق. وبطبيعة الحال كان التعريف مهمل لفترة طويلة وغير نشط. والطريف في الموضوع أن القرص المرن كان على الدوام (ولم يكن أحد يهتم لذلك) بطيئا في التعامل مع الملفات مقارنة مع السواقة الافتراضية للقرص المرن. وبعد اصلاح هذه النقطة حصلت على ما كنت ابحث عنه ولكنني في نهاية الأمر اكتشفت انها ليست المهنة التي كنت احلم بها..

٥. Trivial Tree. في أغلب الأمر تجميع الترقيعات البسيطة (المتجاهلة) وارسالها إلى لينوس.

من الذي يقوم بدفع راتبك الشهري؟؟

SUSE. حيث اشغل منصب مدير فريق تطوير النواة ضمن قسم مختبرات SUSE بالاضافة إلى عملي كمسؤول عن الانظمة المثبتة على منتجات المؤسسة.

في أي بقاع العالم تسكن؟ ولماذا في ذلك المكان بالذات؟؟

مدينة براغ بجمهورية التشيك. لقد ولدت هاهنا وباستثناء فترة انتقال بسيطة أثناء عملي في CERN لم أرغب أبدا في العيش في أي منطقة أخرى.

ما هي أدواتك المفضلة التي تستخدمها في تطوير البرامج؟وماذا تشغل على سطح مكتبك؟؟

اعتدت من البداية على استخدام كيدي ولكن كانت الاصدارة الرابعة من كيدي نقطة تحول بالنسبة لي حيث لم استطع مقاومة اغراء الانتقال إلى توزيعة أكثر خفة. لذا فأنا اعمل حاليا على icewm مع اضافة لها الكثير من xterms , vim, gcc, git, quilt , (al)pine , ومتصفح وأحد تطبيقات IM وتطبيق twinkle للاتصالات عبر الشبكة ومشغل mplayer.

كيف أنضممت إلى مجتمع تطوير نواة نظام لينكس؟؟

كنا نحاول اعداد راوتر الانترنت (باستخدام مودم الهاتف بالطبع) أثناء المرحلة الثانوية في عام ١٩٩٤ ، ولكن كان هناك أمرا ما لا يعمل بالصورة المطلوبة ، على ما أظن أنه كان علة ما في تعريف بطاقة الشبكة. ظننت حينها أنني قادر على البحث ضمن الشفرة المصدرية لتعريف البطاقة والبحث عن المشكلة لمحاولة معرفة ما يحدث. أستغرق مني الأمر في طبيعة الحال أسابيع عدة قبل أن استوعب كل شي ولكنني أصلحت العلة في نهاية المطاف. لأدرك فيما بعد أن العلة تم اصلاحها بالفعل ضمن تحديث 2.0.17أو شيء من هذا القبيل ولكنها كانت تجربة مدهشة بلا أدنى شك.

ما سبب استمرارك في الاهتمام بالمجتمع؟؟

سبب استمراري هو وجود ذلك الخليط الرائع من الجوانب التقنية والاجتماعية الراقية بالمجتمع.

ما هو أكثر شئ اسمتعت به أثناء اشتراكك في عملية التطوير التعاونية (النقاشات الملتهبة ، تسليم الأكواد البسيطة أو الانجازات المدهشة)؟؟

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

ما النصيحة التي تقدمها للمطورين الذين يرغبون في الانضمام إلى المجتمع؟؟

إذا كنت بصدد طرح تساؤلات مثل "أريد أن أكون أحد مطوري النواة لأنني أراه أمرا ممتعا. فماذا علي أن أعمل؟؟"فعليك أن تبدأ أولا بتغيير هذه العقلية..

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

لذا نصيحتي الأساسية لكل مبتدئ: توقف عن تجاهل الأمور الصغيرة التي تسبب ازعاجا "قليلا"لك وابدأ بالعمل على اصلاحها. أما الأمور الأخرى فستأتي تباعا..

ما الذي تستمع إليه وأنت تبرمج؟؟

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

أي قائمة بريدية أو قناة IRC تستخدم؟؟ وأي المؤتمرات تحضر؟؟

قوائم المجتمع البريدية متمثلة في كل من LKML و linux-input وبصورة أقل في usb-devel.

IRC: /whois jikos

المؤتمرات: كل من Kernel Summit و located conferenceco ومجموعة من المؤتمرات الأخرى المتعلقة بتطوير النواة على الرغم من عدم التزامي الحضور بشكل سنوي.

 

رابط المقالة باللغة الانجليزية هنا.

ما هو لينكس : نظرة عامة لنظام التشغيل لينكس.

$
0
0

ترجمة لمقال What Is Linux: An Overview of the Linux Operating System

ترجمة: شركة سبعة للخدمات التقنية.

محتويات المقال :

  • مستقبل لينكس.

  • نشأة لينكس.

  • الشفرة.

  • الترخيص ، المجتمع و التنمية.

  • لينكس في عالم الأعمال.

 

ما هو لينكس " Linux"؟

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

ومن التعريف السابق يظهر لنا أن لينكس مشابه تماما لأي نظام تشغيل آخر مثل : ويندوز “ windows” وOS X . ولكن في الواقع هناك فارق يميز نظام التشغيل لينكس عن باقي أنظمة التشغيل الأخرى. ففي عام 2008 شكل نظام التشغيل لينكس منظومة بحجم 25 مليار دولار.

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

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

يشارك في كل إصدار جديد لنواة لينكس ما يزيد عن 1,000 مطور في أكثر من 100 شركة مختلفة، في العامين الماضيين فقط شارك ما يزيد عن 3200 مطور من 200 شركة في تطوير نواة لينكس ، وهي – أي النواة- التي تشكل جزء صغير فقط من منظومة لينكس.

هذا المقال سيستعرض المكونات المتنوعة لنظام لينكس ، كيف يتم تصنيعها و كيف يتم ربطها ببعضها البعض ، كما سيغطي المقال أيضا مجتمع لينكس و تأثير لينكس على النظام التقني بشكل عام.

أين يستخدم لينكس ؟

أحد الخواص المميزة لنظام لينكس هي "أين يمكننا استخدام لينكس " . حيث نجد أن ونيدوز windows و OS X تستخدم غالبا في الحواسيب الشخصية مثل الحاسوب المكتبي و الحاسوب المحمول في حين أن أنظمة تشغيل أخرى، مثل سيمبيان Symbian ، يتم استخدامها في الأجهزة الصغيرة مثل الهواتف النقالة وأجهزة المساعد الرقمي الشخصي، أما أجهزة الحاسوب العملاقة الموجودة في المختبرات الأكاديمية والشركات الكبرى فتستخدم أنظمة تشغيل متخصصة مثل AS/400 وكراي OS.

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

في ما يلي قائمة مختصرة تحوي بعضا من أشهر الأجهزة الإلكترونية التي تستخدم نظام تشغيل لينكس :




Dell Inspiron Mini 9 and 12 جهاز لابتوب


Garmin Nuvi 860, 880, and 5000 نظام تحديد المواقع


Google  Android


HP Mini 1000


Lenovo IdeaPad S9


Motorolaمن MotoRokr EM35 


One Laptop Per Child XO2


 تلفاز من Sony Bravia


 قارئ منSony


المسجل الرقمي منTiVo


 نظام الملاحة في سياراتVolvo


 لوحة مفاتيحYamaha Motif

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

مستقبل لينكس :

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

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

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

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

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

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

 

نشأة لينكس :

في 25 أغسطس عام 1991م قام طالب علوم الحاسب الفنلندي لينوس تورفالدس بتقديم الإعلان التالي لمجموعة يوزنيت Usenet group comp.os.minux :

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

ما يقصده تورفالدس بـ " Minix "هو مختلف عن نظام التشغيل يونيكس ، استخدمه كدليل لتصميم نظامه المجاني لأنه أراد له أن يعمل على نظام ٨٦ للجهاز المكتبي المستهلك في تلك الأيام.

أما "GNU "تعود على أدوات جنو وتعني أن جنو ليس يونيكس هذه الأدوات جُمعت أول مرة من قِبل ريتشارد ستالمان في عام ١٩٨٣. أمايونيكس فهو نظام التشغيل الذي كان بداية كل شيء، كانت بدايته في معامل بيل العتيقة في بداية الستينات.

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

ظلّ لينكس بطرق عديدة واعدا وفي بداية ما يستطيع تقديمه، مع ذلك ، استمتع لينكس بالنجاح المبهر منذ أول مرة طلب فيها تورفالدس المساعدة في عام ١٩٩١.

حصل لينكس على شعبية كبيرة بين مطوري يونيكس، الذين يجدون في لينكس سهولة التوافق مع البيئات المختلفة ، كما يعجبهم تشابهه بيونيكس و طبعا يعجبهم رخصته المجانية ، مع مطلع القرن العشرين، بدأ بعض المطورين التجاريين بتوزيع لينكس، مثل VA Linux, TurboLinux, Mandrakelinux, Red Hat, و SuSE GMbH.

وكان لقرار اي بي ام في عام ٢٠٠٠ بالإستثمار ٢ بليون دولار في تطوير لينكس و الأرباح الناتجة مرحلة ناجحة جدا من مراحل نمو لينكس.

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

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

مجموعة المحللين في اي دي سي توقعوا بأن لينكس سيكون سوقه مقدرا ب ٤٩ بليون دولار في عام ٢٠١١ ، كما هنالك العديد من المؤشرات في السوق تؤكد إمكانية حدوث هذا الرقم.



الشفرة :

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

في هذا الجزء من المقال سنتفحص الأجزاء التي تكون نظام لينكس :

النواة :

تمتلك كل أنظمة التشغيل نواة تمثل مركز العمليات في نظام التشغيل ، جاءت الفكرة كاستعارة معمارية ، يجب أن يكون هناك مجموعة مركزيه من الأوامر التي من شأنها أن ترشد و توجه الأجهزة للقيام بعملها ، يحيط بهذه الأوامر المركزية العديد من الطبقات كل طبقة تتكون من مجموعة من الوحدات الوظيفية .

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

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

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

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

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

وبالمثل، فإن الهجوم على جزء واحد من النواة (أو ما تبقى من نظام التشغيل) قد تعوق ذلك الجزء من النظام ، ولكن لا ينبغي أن يمس ذلك أمن الجهاز بأكمله.

نظام التشغيل :

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

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

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


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

البيئات :

إن النوافذ والقوائم و مربعات الحوار التي يظن الكثير من الناس أنها جزء من نظام التشغيل هي في الواقع عبارة عن طبقة مستقلة تعرف بـ "نظام النوافذ و بيئة سطح المكتب " .

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

في لينكس، هناك الكثير من الخيارات التي يمكن استخدامها لنظام النوافذ وبيئة سطح المكتب ، وهو الأمر الذي يسمح للمستخدمين باتخاذ القرار بأنفسهم . لا يمكن القيام بذلك في نظام التشغيل Windows ومن الصعب القيام به في OS X.

كما أنه يوجد أدوات ومكتبات برمجية لنظام التشغيل والنواة، فإن هناك أدوات ومكتبات البرمجية متاحة تسمح لمطوري التطبيقات بالعمل بسهولة أكبر مع هذه البيئات (على سبيل المثال : gtk+ for GNOME, Qt for KDE ).

التطبيقات :

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

التوزيعات:

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

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

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

يوجد على الأقل ما يفوق 350 توزيعة مختلفة للينكس .



الترخيص :

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

في الواقع ، هذا يعني أن جميع شفرات لينكس تم تغطيتها أما بترخيص (GPLv2), مع خيار يسمح بالتوزيع تحت نسخة أحدث من رخصة جينو العمومية GPL أو تحت ترخيص البنود الثلاث ( BSD ) . لا يتم قبول أي مساهمه أو شفرة لنواة لينكس ما لم تغطيها أحد هذه الترخيصات .

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

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

 

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

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

 

المجتمعات

مجتمعات لينكس تأتي في شكلين ، تجمع للمطورين و تجمع للمستخدمين.

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

مجتمعات المطورين يمكنها أن تتبرع بإدارة و دعم توزيعات كاملة ، مثل توزيعات ديبيان أو مشاريع جينتو.

كذلك تدعم الشركات من مثل نوفيل و ريدهات توزيعات ذات توجه مجتمعي من مثل أوبن سوز و فيدورا على التوالي. التطويرات التي تتم في هذه النسخ تضاف للنسخ التجارية التي تنتجها هذه الشركات.

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

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

وهناك مجتمعات أخرى للمطورين مهتمين بتطبيقات و بيئات مختلقة تعمل على لينكس، مثل فايرفوكس ، اوبن-اوفس، جينوم و كي دي اي.

أيضا المستخدمين أنفسهم يستطيعون تقديم مساهمات قيمة لتطوير لينكس ، مع وجود التجمعات على شبكة الويب مثل موقع Linux.com، و موقع LinuxQuestions، و أيضا العديد من التجمعات المستضافة عبر التوزيعات و التطبيقات، وقاعدة مستخدمي لينكس هي بالعادة إيجابية و توجه نظام التشغيل لينكس.

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

التطوير

لينكس هو نظام تشغيل مكون من عدة لغات برمجة، نسبة كبيرة من لينكس طُورت بلغة سي ( بنسبة ٥٢.٨٦٪) أو سي++ بنسبة(٢٥.٦٥٪) ، باقي اللغات البرمجية تظهر بنسبة أحادية، حيث تتصدر لغات مثل جافا و بيرل و ليسب على باقي لغات البرمجة.

نواة لينكس بنفسها تتكون غالبيتها من لغة سي ، بنسبة اكبر من ٩٥٪ تقريبا، لكن لغات برمجية أخرى تظهر في تركيب النواة أيضا، لتجعلها غير متجانسة أكثر من باقي أنظمة التشغيل.

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

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

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

لينكس وعالم الأعمال :

في عام 2008 م ، رصد محلل IDC إل جيلين حوالي 24 % كمعدل لنسبة النمو السنوية للينكس مما يقدر بـ 21 مليار دولار في عام 2007 م مقابل 49 ميار دولار في عام 2011م .

يساهم في لينكس الكثير من الشركات الرائدة في عالم الصناعة مثل : IBM, Fujitsu, Hewlett-Packard, Oracle, Intel, Hitachi, NEC, and Novell The Business of Linux . جميعها استثمرت وقتها وجهدها و مواردها في تحسين لينكس سواء بشكل منفرد أو من خلال مؤسسة لينكس.

إذا كان نظام لينكس مجاني ، كيف تربح الشركات المساهمة فيه من خلاله ؟

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

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

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

البداية :

لمعلومات عامة عن لينكس يمكنك زيارة http://www.linux.com.

للاطلاع على مقاطع فيديو ودروس ومعلومات يمكنك زيارة http://video.linuxfoundation.org

للحصول على معلومات حول تطوير لينكس يمكنك زيارة شبكة مطوري لينكس http://ldn.linuxfoundation.org

لتعلم المزيد حول لينكس في مجال الأعمال و مؤسسة لينكس يمكنك زيارة http://linuxfoundation.org.

إن كنت مهتما بحضور مؤتمرات لينكس و التقنيات المتعلقة فيه يمكنك زيارة http://events.linuxfoundation.org.

برنامج صيف عمان للبرمجة من الفكرة إلى التطبيق

$
0
0

 

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

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

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

(لقطة من معرض المصاحب لاختتام صيف عمان للبرمجة2013م)

الفكرة

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

 

التخطيط

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

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

- المحطة الأولى: تقديم خطة عمل موافق عليها من الجهة المراقبة لمدة ثلاثة أشهر. وبعدها يحصل المشارك على مبلغ وقدره 100 ريال عماني.

- المحطة الثانية: وتأتي بعد شهر من تقديم الخطة، بحيث يقيم المشارك ليرى مدى جديته واستمراره في البرنامج، ويحصل المشارك على مبلغ وقدره 350 ريال عماني.

- المحطة الثالثة والأخيرة: وتأتي بعد شهر من التقييم الأولى، ويقيم المشارك بشكل عام على مدى التزامه بالخطة والأعمال التي يجب أن ينجزها، ويحصل المشارك بعدها على 350 ريال عماني.

 

من الأشياء الفارقة بين برنامج صيف جوجل للبرمجة وبرنامج صيف عمان للبرمجة، هو نوعية المشاركين و المشاريع والمؤسسات المراقبة والنتائج المتوقعة.

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

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

وقمنا باستبدال مجتمعات البرامج الحرة في صيف جوجل للبرمجة بمؤسسات حكومية وخاصة تبحث عن حلول تقنية في أحد المجالات التالية: برامج إدارة الأصول ERP و برامج إدارة العملاء CRM وبرامج إدارة وأرشفة المستندات EDMS.

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

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

 

التنفيذ

البرنامج استغرق ما يقارب ستة أشهر بالمجمل، مقسمة بالشكل التالي:

شهران للتخطيط وتوفير الميزانة وشهر للإعلان والتسجيل وثلاثة أشهر للبرنامج نفسه.

أعلن عن البرنامج في 21 يوليو 2013، ثم انطلق البرنامج فعليا في 21 أغسطس 2013م واستلمنا آخر تقييم نهائي بتاريخ 21 نوفمبر 2013.

تأجل حفل اختتام البرنامج بسبب ظروف خارجة عن إدارة الفريق إلى يوم 26 يناير 2014م.

 

(لقطة من معرض المصاحب لاختتام صيف عمان للبرمجة 2013م)

النتائج

حصلنا على 76 مسجل، وبعد المقابلات دخل البرنامج 40 مشارك، توزعوا على 13 مشروع ما بين برامج إدارة الأصول: OpenERPوWebERPوADempiere_ERPوبرنامج إدارة العملاء VtigerCRMوبرنامج إدارة وأرشفة المستندات OpenKM.

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

 

الخاتمة

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

 

سبعة أسباب تجعل البرمجيات مغلقة المصدر تتفوق على البرمجيات مفتوحة المصدر

$
0
0

تُرجمت المقالة من قِبل شركة سبعة للتقنية

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

من تأليف رود كوبيه، مؤسس أوبن لوجيك

مع البرمجيات مغلقة المصدر ...

1- لن يتحتم عليك أبدا أن تُصلح مكونات البرنامج عندما تسير الأمور بشكل خاطئ .

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

2- لن يتحتم عليك أن تشغل بالك أو تقلق بشأن مشاركة تغيراتك مع المجتمع .

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

3- لن يتحتم عليك أن تفكر بشروط ترخيص البرمجيات المفتوحة المصدر وقضايا الامتثال.

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

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

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

4- لن يتحتم عليك الاختيار بين العشرات من الخيارات لكل من مكونات البرنامج.

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

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

5- لن يتحتم عليك البحث في الأرجاءللحصول على شرائح وعروض بيانية .

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

6- لن يتحتم عليك البحث عن الدعم الفني .

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

7- يمكنك أن تعترف بالهزيمة أو الفشل .

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

ها قد حصلت عليها ! سبعة أسباب جيدة لمَ تُعدّ البرمجيات مغلقة المصدر أفضل من البرمجيات مفتوحة المصدر ، هل لديك غيرها لتشاركنا؟

المقالة الأصليةنشرت في موقع opensource.com

5 دروس هامة لأي عمل مفتوح المصدر ينتقل إلى عمل قائم على الربح

$
0
0

في مقال نُشر مؤخراً على Opensource.com، قدمت Data Geekery، وهي الشركة المنتجة لـ jOOQ؛ وتحدثت عن التحديات التي واجهتنا العام الماضي عند تحويل مُنتجنا من منصة مفتوحة المصدر إلى نموذج أعمال يعتمد على الربح. تعلم فريقنا الكثير عن إدارة الأعمال بشكل عام، بالإضافة للقيام بتحول كبير في هيكلنا. وهنا، سوف أعرض عليكم أهم 5 دروس تعلمناها، والتي يجب أن يعرفها كل صاحب عمل مفتوح المصدر يقوم بهذا النوع من التغيير.

اجعله عملامن البداية

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

بالنسبة لـ Data Geekery، وجدنا شغفا كبيرا في عملنا، كما أننا بطبيعة الحال نعرف الكثير عن جافا و JDBC و SQL. منذ البداية، أدرك عملائنا قيمة معرفتنا، واستخدموها بحُرّية، بشكل غير معروف (بنوك، وشركات تأمين..الخ)من دون الحاجة للمساهمة تحت رخصة ASL 2.0.

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

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

اجعل مستخدميك هم زبائنك من البداية

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

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

اجعل أداتكمنتج من البداية

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

انتبه للتفاصيل القانونية

خذ قرارا واضحا حول الترخيص من البداية. هل تريد أن يظل البرنامج مجاني بحيث يأخذ المستخدم كود البرنامج ويعدل ويغير فيه كما يحلو له "free as in freedom"، أم أن يكون مجانيا بحيث يمكن للمستخدم الاستمتاع به دون أي تكاليف "free as in beer"؟ كلاهما من السبل الناجحة لإدارة عمل تجاري مفتوح المصدر، ويمكنك قراءة المزيد عن الفرق بينما هنا. قناعتك الأيديولوجية سوف تلعب دوراً بالطبع، ولكن لا تقع في خطأ تجاهل هذا القرار القانوني الهام.

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

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

بالنسبة لنا كشركة Data Geekery، كان لدينا فقط بضعة مساهمين هم من ساهموا في كود مُحدد، لذلك كان من السهل تحديث حقوق التأليف والنشر.

لا تشارك التعليمات البرمجية فحسب، وإنماالتجربة كذلك

لم تشارك Data Geekery التعليمات البرمجية فحسب، وإنما شاركنا تجربتنا كذلك. ثق بي، هذا هو مفتاح النجاح. مهما كانت غرابة مشاكل SQL أو جافا التي اكتشفناها خلال السنوات الأربع الماضية من العمل كشركة، فقد قمنا بنشرها على موقعنا وساهمنا في النشر على Hacker News و Reddit و Dzone و Stack Overflow والعديد من مراكز المعلومات الاخرى.

سببان لفعلنا هذا الأمر:

  1. كشركة مفتوحة المصدر، نحن نؤمن بأهمية مشاركة معرفتنا. ولهذا، قمنا بترخيص موقعنا تحت رخصة المشاع الابداعي "Creative Commons BY-SA 3.0"، وعلمنا أن لدينا قراء يستفيدون كثيراً من موقعنا ومعرفتنا، ولكنهم لا يستخدمون منتجاتنا. وهذا لا بأس به لأن...

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

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

 

المقالة الأصلية باللغة الإنجليزية هنا، ترجمة محمد مصباح

هل هناك فعلا برمجيات مجانية؟؟ إيجابيات وسلبيات البرمجيات مفتوحة المصدر

$
0
0

كتبه: توماس ترابلر

ترجمة: زاهر النوتكي

بعض النقاط المهمة:

  • عندما يتم إدارة البرمجيات المفتوحة المصدر وتطبيقها بشكل فعال ، فإنها من الممكن أن تكون بديلا ممتازا للتطبيقات المغلقة المصدر.

  • لا تمتلك البرمجيات المفتوحة المصدر في الكثير من الأحيان المصادر أو الدعم المالي ولكن لها إيجابيات محددة في الكثير من المواقف.

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

  • على المؤسسة التعليمية أن تشرك مساهمين ذو خبرة بالمشاريع لصياغة الأطر الاستدلالية والتوجيهية الملائمة حتى تعود مثل هذه المساهمات بالنفع للمؤسسة نفسها.

تمتاز اليوم مؤسسات التعليم العالي بحس المسؤولية العالية وقلة الدعم المالي المخصص لها. وفي مثل هذه الحالات لا يمكن أبدا لمؤسسات التعليم العالي تجاهل تبني الحلول البديلة للبرمجيات مغلقة المصدر ، والتي من الإمكان أن تقدم حلول أكثر فاعلية بتكلفة منخفضة في الوقت نفسه. لذا يمكن للبرمجيات المفتوحة المصدر (OSS) اختصارا لمصطلح (Open source software) أن تكون بمثابة بديل حقيقي وفعلي للبرمجيات المغلقة المصدر التقليدية (PS) ، ولكن ولضمان اختيار واعتماد البرمجيات المفتوحة كبديل بصورة فعالة على المؤسسة القيام بالأمور التالية:

  • استيعابها لماهية رخص التطبيقات (OSS licensing model).

  • معرفتها بالوقت المناسب لتبني واستخدام البرمجيات مفتوحة المصدر.

  • إدارة عملية استخدام البرمجيات مفتوحة المصدر بطريقة فعالة.

 

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

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

 

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

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

نموذج رخص البرمجيات مفتوحة المصدر

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

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

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

 

الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

تكلفة رخصة التطبيق

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

لا توجد أي رسوم متعلقة بالتراخيص سواء رخصة استخدام التطبيق لأول مرة أو رخصة زيادة عدد الأجهزة المستخدمة للتطبيق أو لتجديد الترخيص ، والتحديثات ، والترقيات و/أو للاستخدام المنزلي.

 

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

السمة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

شروط التراخيص
  • الشفرة المصدرية متاحة للشركة المنتجة فقط.

  • شروط التراخيص تميل بشكل ملحوظ إلى الشركة المرخصة أكثر من المرخص له.

  • شروط التراخيص طويلة نوعا ما وتمت صياغتها بشكل معقد يجعل الامتثال لها أكثر صعوبة بسبب متطلبات تتبع الاستخدام أو عدم استيعاب بنود الرخصة بشكل دقيق.

  • تختلف بنود شروط التراخيص من شركة إلى أخرى.

  • الشفرة المصدرية مفتوحة ومتوفرة لكل المستخدمين.

  • شروط التراخيص حيادية بدون تفضيل لأي جهة سواء للمرخص أو المرخص له.

  • شروط الترخيص موجزة ومباشرة مما تسهل عملية تطبيقها بحيث لا تتضمن أي شروط لتتبع الاستخدام فيما يتعلق بالتراخيص المبتاعة.

  • وجود بعض التعارض بين تراخيص البرمجيات المفتوحة المصدر المختلفة (على سبيل المثال: رخصة BSD متوافقة مع رخصة GPL ولكن العكس غير صحيح) مما يحد ذلك من القدرة على استخدام بعض هذه البرمجيات مع برمجيات أخرى.

 

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

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

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

  • التراخيص التبادلية: مثل رخصة GPL والتي تتيح استخدامها لأغلب الأغراض ولكنها تشترط نشر الأعمال المشتقة تحت الرخصة نفسها. وهذا ما يمنع لاحقا من دمج البرمجيات المفتوحة المصدر ضمن برامج مغلقة المصدر.

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

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

متى يكون استخدام البرمجيات مفتوحة المصدر أمرا معقولا؟؟

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

الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

المرونة: مدى سهولة تخصيص التطبيق ليتناسب مع احتياجات المؤسسة الخاصة

لا تتيح البرامج المغلقة في العادة إمكانية تخصيصها حسب متطلباتك الشخصية.

التطبيقات المغلقة المتقدمة تقدم ميزات وخصائص أكثر مقارنة مع نظيراتها من التطبيقات المفتوحة المصدر.

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

توفر الشفرة المصدرية للبرمجيات مفتوحة المصدر إمكانية التخصيص سواء باستخدام الموارد المحدودة بالمؤسسة أو بالاستعانة بخبرات خارجية.

كما يسهل إمكانية الوصول للشفرة المصدرية للآخرين لتخصيص التطبيق وبالتالي يستطيع مجتمع البرمجيات الحرة الاستفادة من مثل هذه تغييرات.

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

 

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

الصفة

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

البرمجيات مفتوحة المصدر

تكلفة الدعم الفني

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

يقدم الدعم الفني للمنتج في العادة من الشركة المنتجة مما يقلل من التنافسية لعدم توفر خيارات بديلة.

يمكن توفير دعم فني محلي ولكن سيكون الأمر أكثر تحديا لعدم توفر الشفرة المصدرية للتطبيق.

توفر بعض التطبيقات المغلقة قنوات لمجموعات مستخدمين مما يمثل أحد خيارات الدعم الفني المتوفرة.

 

يتوفر الدعم الفني مقابل أجر مالي وقد يكون من الصعب في كثير من الأحيان تحديد الجهات التي تقدم الدعم الفني للبرمجيات مفتوحة المصدر غير المشهورة.

توفر الشفرة المصدرية للبرمجيات يشجع تنافس السوق في تقديم الدعم الفني مما يؤدي إلى انخفاض تكاليف الدعم المقدم.

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

يمكن الحصول على الدعم من خلال مجتمع مستخدمي التطبيق: "سرعة التجاوب ودقة الدعم الفني المقدم على القوائم البريدية أفضل بكثير من ما يقدم من قبل العديد من شركات البرامج المغلقة."

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

الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

الملكية الفكرية (IP): خطر انتهاك منتج ما براءات الاختراع لمنتج آخر أو حقوق الملكية الفكرية للآخرين.

يمكن التفاوض مع الشركة المنتجة لتوفير حقوق براءات الاختراع.

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

 

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

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

يفضل تقييم كل الحلول المحتملة (برمجيات مفتوحة المصدر أو غيرها) بآلية "كل حالة على حدة"بناء على الاحتياجات المحددة لكل مشروع. وفي النقاط التالية تمثل السمات المطلوب أخذها بعين الاعتبار والمتشابهة جوهريا بين التطبيقات المفتوحة المصدر والتطبيقات المغلقة:

  • مدى ملائمتها.

  • الجودة

  • الموثوقية

  • مستوى الأمان

  • سهولة الاستخدام

الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

مدى ملائمة التطبيق: هل يوفر التطبيق الميزات والوظائف المطلوبة؟

تراخيص التطبيقات لها مدة محدودة وأحيانا ترتبط برسوم إضافية.

يمكن للشركة المنتجة تغيير اتجاه منتج ما أو التوقف عن تطويره بسبب عدم وجود ربحية كافية أو بسبب عملية اندماج/استحواذ/او حتى إفلاس الشركة المنتجة.

تملك البرامج المغلقة طرقا أكثر وضوحا لتحديد والحصول على مثل هذه البرمجيات مقارنة مع مثيلاتها من البرمجيات المفتوحة المصدر.

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

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

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



الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

الجودة: مدى تنظيم عملية تطوير البرنامج؟ و عدد الأخطاء التي يحتويها التطبيق؟

 

غالبا ما يتم اعتبار مسألة تطوير البرمجيات المغلقة على أنها أكثر فعالية من ناحية الإدارة بسبب وجودها تحت راية عمل مؤسسي.

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

تقوم الشركات المنتجة من توفير التحديثات والترقيات بشكل استباقي.

عادة ما تكون الشركة المنتجة المصدر الوحيد الموثوق في إصدار تحديثات إصدارات تطبيقاتها.

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

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

وفي حالة كان الدعم المقدم "داخلي"بالمؤسسة نفسها ، يتحتم على موظفي قسم الدعم الفني البقاء على اطلاع على التحديثات والترقيات بصورة مستمرة.

صعوبة تحديد مصادر موثوقة للحصول على تحديثات إصدارات التطبيق بدون وجود دعم طرف ثالث.



الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

الموثوقية: إلى متى سيظل التطبيق متوفرا؟

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

 

تتطلب التطبيقات البرمجية مفتوحة المصدر مشاركة مستمرة من المجتمع من مبرمجين ذو خبرة لضمان استمرارية توفر التطبيقات.

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



الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

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

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

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

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

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

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

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



الصفة

البرمجيات مغلقة المصدر

البرمجيات مفتوحة المصدر

سهولة الاستخدام: مدى سهولة استخدام التطبيق

مدى سهولة استخدام التطبيقات المغلقة تختلف من تطبيق إلى آخر ولكن عموما تتميز هذه التطبيقات بواجهات مستخدم احترافية مما توفر سهولة استخدام للمستخدم العادي.

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



التوقيت المناسب لتبني البرمجيات المفتوحة المصدر

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

  • لا تملك أي نظام فعلي في الوقت الحالي.

  • النظام المطبق الحالي أو الحلول البرمجية الحالية قد قارب عمره الإنتاجي الافتراضي.

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

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

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

ويتعين على المؤسسات تطوير عملية منظمة لتقييم البرمجيات المفتوحة المصدر بصورة عادلة أثناء عملية تقديم طلب الحصول على معلومات/اقتراحات/عروض (RFI/P/Q). ولتحقيق هذا الأمر قد يتطلب من المؤسسات إعادة النظر في السياسات والممارسات المتبعة أثناء عملية الشراء الحالية. تشمل الأهداف الرئيسية التالية:

  • ضمان حيادية وعدم انحيازية أسئلة كل من معلومات/اقتراحات/عروض (RFI/P/Q) حتى لا تظلم المنتجات مفتوحة المصدر. على سبيل المثال: إمكانية استخدام نفس الأجراء التقييمي لمدى نضج منتج ما مفتوح المصدر كأسئلة لتقييم مدى استقرار شركة برمجية لمنتجات مغلقة.

  • ضمان أن كل من العطاءات المقدمة سواء من البرمجيات مفتوحة المصدر أو البرمجيات المغلقة تم استلامها على أساس أنها عطاءات وردت ردا على معلومات/اقتراحات/عروض (RFI/P/Q). يمكن للمؤسسة القيام بتعيين مدققين محليين للقيام بتحديد استباقي لحل برمجي مفتوح المصدر وإجراء بعض التقييمات التقنية ردا على أي من معلومات/اقتراحات/عروض (RFI/P/Q).

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

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

 

تقييم مدى نضج البرمجيات مفتوحة المصدر

من المهم بمكان عند اعتبار البرمجيات المفتوحة المصدر كحلول برمجية بالمؤسسة تقييم مدى نضج مثل هذه المنتجات. ومثل هذه التقييمات يمكن أن تساعد في القيام بالتالي:

  • تحديد ما إذا كانت موثوقية المنتج وأدائه كافية لتلبية حاجات المؤسسة.

  • تحديد خيارات الدعم الفني المتوفرة

  • تحديد مدى استمرارية المنتج في السوق.



الأطر التالية من أكثر الأطر المستخدمة في تقييم مدى نضج المنتج:

كما يمكنك الاطلاع على التالي للحصول على بعض النصائح المفيدة في تقييم المنتجات البرمجية مفتوحة المصدر.

إدارة استخدام البرمجيات المفتوحة بصورة فعالة

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

 

 

سيناريوهات استخدام البرمجيات مفتوحة المصدر

يمكن استخدام التطبيقات مفتوحة المصدر في كثير من الجوانب المختلفة ضمن مؤسسات التعليم العالي والسيناروهات التالية توضح أمثلة لبعض هذه الاستخدامات:

 

السيناريو الأول: البحث العلمي

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

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

  • هل البحوث ممولة من قبل جهة خارجية؟ إذا كان الأمر كذلك ، هل هناك أي تعارض بين شروط تراخيص هذه البرمجيات والشروط المرتبطة بمثل هذا التمويل؟؟

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

لذا فالحاجة إلى آليات مؤسسية للتخفيف من مثل هذه القضايا المتعلقة بمثل هذا السيناريو مهم جدا.



السيناريو الثاني: تطبيق برمجي على مستوى المجتمع ـ النية بالمساهمة

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

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

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

 

السيناريو الثالث: حل على نطاق الحرم الجامعي ـ المساهمة محتملة

تحدد المؤسسة التعليمية الحاجة إلى تطبيق أداة برمجية على مستوى المؤسسة بشكل عام ، لذا تقوم بتطوير RFI/P/Q لتقييم وتحديد أفضل حل لهكذا توجه. لذا ينبغي إعادة النظر في الممارسات الحالية والمتبعة في عملية الشراء وتعديلها للتأكد من أن يتم تقييم الحلول البرمجية المفتوحة المصدر بشكل موضوعي للتأكد من صلاحيات الحلول البرمجية المقترحة وأنها ناضجة بما فيه الكفاية لتلبية حاجات المؤسسة التعليمية.

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

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

 

السيناريو الرابع: حل على مستوى القسم ـ بدون نية للمساهمة

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

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

الحاجة الفعلية إلى أليات معينة على المستوى المؤسسي للتخفيف من القضايا المتعلقة بمثل هكذا سيناريو منخفضة.

 

السيناريو الخامس: المستخدم النهائي

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

ليست هناك أي حاجة لوجود آلية معينة لمراجعة هكذا سيناريو على المستوى المؤسسي.

 

إرشادات استخدام البرمجيات مفتوحة المصدر

من الأمور المهمة لضمان الاستخدام المناسب لمثل هذه البرمجيات على نطاق المؤسسة تطوير ونشر مبادئ توضيحية وتوجيهية تبين آلية الاستخدام المناسب. وينبغي لهذه المبادئ أن تناقش القضايا المطروحة سابقا مثل:

  • تقييم مدى نضج المنتج فيما يتعلق بالاحتياجات الفردية لكل مشروع على حده.

  • اعتبار منتجات البرمجيات المفتوحة المصدر كحلول برمجية مجدية على مستوى واحد جنبا إلى جنب مع منتجات الشركات البرمجية الأخرى لتغطية احتياجات المؤسسة التعليمية.

بالإضافة إلى ذلك ينبغي على هذه الإرشادات التوضيحية أن تغطي كل من:

  • التأكد من أن كل المساهمات المقدمة لمجتمع البرمجيات المفتوحة المصدر تتوافق مع مصلحة المؤسسة.

  • تحديد رخص البرمجيات التي لا تتوافق مع توجهات المؤسسة أو تحتوي على شروط غير مقبولة.

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

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

 

المساهمة بمجتمع البرمجيات مفتوحة المصدر

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

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

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

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

 

إدارة عملية المساهمة

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

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

ولضمان الامتثال لاتفاقيات المساهمين وضمان الموافقة على المساهمات الملائمة فقط ، على المؤسسة أن تنشئ إرشادات توضيحية توضح الظروف التي يمكن من خلالها تتطلب استقبال مساهمات برمجية والتي تحدد كل النقاط التالي:

  • الجهة التي تقوم بتقديم المساهمات (الموظفين/أعضاء هيئة التدريس/ استشاريين). حيث قد تختلف القوانين والسياسات من مساهم إلى مساهم آخر.

  • سياسات الملكية الفكرية الداخلية للمؤسسة وكيف تتعامل مع مثل هذه المساهمات.

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

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

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

  • مدى جدوى الاحتفاظ بحقوق الملكية الفكرية خاصة للمؤسسة بالنسبة إلى القيمة التجارية المحتملة للعمل الجديد والذي قد يتطلب تحديا وجهدا إضافيا بالإضافة إلى استغراقه لوقت طويل.

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

 

الكلمة النهائية..

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

 

فقدان البتات و النسخ الآني الذري: نظرة داخل الجيل المقبل من أنظمة الملفات ( ZFS و Btrfs )

$
0
0

تأليف: جيم سالتر ، ترجمة شركة سبعة للتقنية، مراجعة فهد السعيدي

سننظر إلى الميزات العظيمة لنظام ZFS وBtrfs ولماذا سنحتاج لها.

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

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

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

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

ما يمكنه أن يحمي بياناتك هو الجيل المقبل من أنظمة الملفات.

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

كاختبار، قمت بتثبيت آلة افتراضية بستة أقراص، واحد يحتوي على نظام التشغيل واثنان أعّدت كمرآة بسيطة لريد1 والثلاثة المتبقية أٌعدت ب ريد 5 التقليدي. قمت بحفظ صورة فن على كلي القرصين من نوع ريد 1 والقائمة التقليدية ريد 5 ثم قمت بإغلاق النظام وغيّرت قيمة بت واحدة (من 0 إلى 1) في ملف الصورة ذات الامتداد jpg والمخزن في القائمة، وكانت هذه النتيجة:

 

الصورة الأصلية

الصورة المعطوبة على RAID5

الصورة المعطوبة على btrfs-raid1

 

قائمة ريد5 لم تلاحظ أو لم تهتم بالبت المتغير في صورة فن مثل أي قرص اعتيادي، بينما نظام الجيل المقبل من ريد1 قام بالملاحظة على الفور وصحح العطب، النتائج واضحة جدا، إذا كنت تهتم لبياناتك إذا فأنت تحتاج للجيل المقبل من أنظمة الملفات، هنا سنقوم باختبار نوعان من أنظمة الملفات: ZFS القديم والنوع الجديد btrfs.

ما هو الجيل المقبل من أنظمة الملفات على أية حال؟

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

جيل 0: لا يوجد أي نظام، فقط سيل عشوائي من البيانات، مثل البطاقات المختومة والبيانات على الأشرطة الصوتية وبطاقات الروم 2600 لأتاري.

جيل 1: نظام وصول عشوائي، هنا نجد ملفات عديدة على جهاز واحد ولكن بدون مجلد أو بيانات توضيحية، مثل أبل، دوس ولكن ليس برو-دوس.

جيل 2: ظهور بوادر الترتيب (أي المجلدات) حينما أصبحت الأجهزة قادرة على تحمل مئات الملفات وبات ضروريا الحصول على تنظيم أفضل، نحن نقصد TRS-DOS و Apple c ProDOS وMS-DOS FAT/FAT32

جيل 3: جيل البيانات التوضيحية و الملكية وأذونات الوصول والى آخره. حينما ارتفع عدد المستخدمين للأجهزة، بات من المهم التحكم في الوصول لهذه الأجهزة، هذا يتضمن أي تي اند تي يونيكس AT&T UNIX، و Netware وأوائل NTFS.

الجيل 4: تدوين التغيرات! هذه هي الخاصية القاتلة التي تُعرف كل الأجيال الحالية والمستقبلية (ext4 و NTFS المعاصرة، UFS2) وكل ما يخطر ببالك من أمثلة. تدوين التغيرات يحمي نظام الملفات من وصوله إلى حالة غير مستقرة في حالة حدوث حالة انهيار مما يعني أن هنالك احتمالية أقل لخسارة بياناتك أو حتى من خسارة قرصك بالكامل في حالة فقدان الطاقة أو انهيار النواة نفسها.

 

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

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



برر جيلك

 

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

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

مع النسخ المتكرر لـ ZFS أو btrfs يمكنك الحصول على نظام ملفات واحد، سريع التصفح و ذي فاعلية عالية مع أكثر من ألف نسخة من نفس نظام الملفات متوفرة في وقت واحدة بشكل متزامن. عند استخدام VSS مع خدمة أرشفة ويندوز، يجب عليك استخدام ملفات VHD كهدف ، بالإضافة إلى قيود عديدة. ملفات VHD مدعومة فقط حتى حجم ٢ تيرابايت ، مما يجعلها عديمة الفائدة حتى لنسخة احتياطية واحدة من قرص ضخم أو مجموعة من الأقراص ، بالإضافة إلى أنه يجب أن تربط باستخدام أدوات خاصة لا تتوفر على كل نسخ ويندوز مما يقيدها أكثر بحيث يجعلها أدوات للخبراء فقط.

أخيرا، تعتمد VSS الخاصة بمايكروسوفت عادة على مكونات كتابة تتفاعل مع التطبيقات ( مثل خادم MS SQL)والتي من الممكن أن تتوقف بنفسها مما يجعل إنشاء لقطة ناجحة باستخدام في-اس-اس أمرا صعبا في بعض الأحيان. للأمانة، إذا عملت بشكل جيد ، كاتبات في-اس-اس تقدم خدمة لا تقدمها اللاقطات البسيطة و هي ثبات على مستوى التطبيقات. لكن كاتبات في-اس-اس تحتوي على ثغرات تسبب العديد من المشاكل، وصادفت أنا شخصيا العديد من خوادم ويندوز والتي كانت تفشل في أخذ لقطة الظل، (في-اس-اس لا تقوم بشكل تلقائي بأخذ نسخ ظلية بدون استخدام الكتابة إذا كان النظام خارجا عن العمل، إنها فقط تقوم بتسجيل أمر الخطأ وتستسلم) لم أقابل لحد الآن نظام ملفات من نوع ZFS أو Btrfs لا يأخذ لقطة ناجحة.

في نهاية اليوم، كل من LVM و VSS يقدمان العديد من الميزات و التي يستخدمها العديد من مشرفي الأنظمة ، لكنهما لا ينبهانك بسرعة و يلفتان نظرك كما تفعل أنظمة الملفات و المجلدات و البيانات التوضيحية و التدوين حينما توفروا في السوق، لكن هذه ميزة واحدة فقط مقارنة بقائمة كاملة من الميزات المطلوبة. يمكنك أن تقيم دليلا على أن اللقطات تعد من الجيل الخامس بينما الميزات الأخري في ZFS ومن btrfs تعد من الجيل السادس، لكن حالما تنتهي من قراءة هذه المقالة، سترى بانه لا يمكن مناقشة أن ZFS و btrfs يكونان جيلا جديدا بشكل قاطع بحيث يمكن تمييزه بسهولة عن سوابقهما.

 

ZFS، أكبر ما في الجيل



أحد الأدلة على أن مميزات: اللقطات، إدارة الحجم، التحقق من المجموع، التصليح آلي، التناسخ والتعدد هي مجموعة مميزات الجيل القادم من نظم إدارة الملفات أن نظام btrfs ليس نظام الملفات الأول الذي طبق هذه المميزات كاملة. نظام ZFS ( المصنوع من قبل صن مايكروسستم قبل تملك اوراكل لها) كان قد سبقه في السوق [ أطلق عام 2005م ].

ما هو مثير حقا للاهتمام أنه كانت هناك الكثير من المغالطات ضد ZFS في عالم لينكس ، معظمها كان يتمحور حول مجموعة الميزات آنفة الذكر ، بالتحديد إدارة الحجم و ميزة إصلاح البيانات الذاتية والتي وُصفت بانها انتهاك لنظام الطبقي. ففي النظام الطبقي التقليدي المستخدم في عالم لينكس، متحكم ريد RAID لا يجب عليه معرفة أو حتى الاهتمام بموضوع نظام الملفات، كما أن نظام الملفات لا يجب عليه معرفة أو التعامل معه، لكن ميزة الإصلاح الذاتي للبيانات تعتمد على أن نظام الملفات يجب أن يعرف بخصوص النسخ المتكررة للبيانات، فإذا كانت النسخة الأولى من البيانات فشلت في حساب التحقق من المجموع، يتوجب على نظام الملفات معرفة ما إذا كانت هنالك نسخة مختلفة متوفرة من البيانات لقراءتها ، للتحقق منها أو لكتابتها مجددا ، و هذا لا يمكن حدوثه بدون دمج الطبقات في النموذج. بعد سنة لاحقا، أصبح btrfs يدعم ريد صفر وريد ١ وريد ١٠، وبعد ستة سنوات أضيف دعم ريد ٥ و ريد ٦ (مازال العمل جاريا).

سنقوم بمقارنة بين btrfs و ZFS من الآن فصاعدا ، كلا منهما لديه مميزاته و مساوئه ، سواء بشكل مستقل أو بالمقارنة.

ميزات الجيل القادم

قبل أن نتعمق بالنظر في الاستخدام الفعلي من وجهة نظر لوحة الأوامر، لنتحدث عن المميزات المذكورة، إنه من المهم فهم كيف ستؤثر هذه المميزات عليك سواء أكنت مستخدما أو مشرف نظام . بمجرد أن تفهم المميزات، ستتكون لديك فكرة أفضل عن لماذا تحتاج (أو لماذا لا تحتاج -باقتناع مبدئي-) إليهن داخل معدّاتك، كل هذه الميزات متوفرة في ZFS و btrfs.

 

لقطات النسخ الآنيالذرية Atomic COW snapshots

إن لقطات النسخ الآني الذرية - و التي هي ببساطة أكثر ميزة يثير اسمها ضحكا في أي نظام ملفات- هي عبارة عن صورة كاملة لنظام الملفات بالوقت التي تم أخذها فيه مهما كان ما يُدار وقتها، أي إذا أخذت لقطة للنظام الساعة ٨:١٣ و ٣٢ ثانية مساءا في تاريخ ١٩ ديسمير ٢٠١٣ ، هذه اللقطة ستحتوي على كل بت موجود في نظام الملفات تماما كما كانت في نفس التاريخ و الوقت بدون أي حالات خاصة ، هذا سيساعد أي بنية عالية النشاط مثل قواعد البيانات على الثبات ، طالما أن قواعد البيانات تستخدم التدوين ( و إذا لم تستخدم ، قم بالترقية الآن! ) ستكون التدوينات متزامنة و ثابتة في اللقطات ، يمكن لأي عملية غير مكتملة أن تُعاد لتكتمل عوضا عن ترك قاعدة البيانات في حالة غير ثابتة.

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

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

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

نظام التحقق لكل كتلة

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

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

بالمقابل، مع كل كتلة بيانات تُكتب، يقوم btrfs بكتابة أيضا قيمة التحقق للكتلة ومع كل كتلة بيانات تُقرأ يقومbtrfs بقراءة قيمة التحقق ومطابقة الكتلة معها ، هذا يسمح لنظام الملفات ولك أيضا بمعرفة ما إذا كانت البيانات معطوبة في الحال.

القوائم ذاتية الإصلاح المتكررة

كما أوضحنا في مقدمة المقالة، نسخة صورة ابني في قائمة من btrfs ريد ١ تعرضت للعطب بتغيير قيمة بت واحدة، كما حصل أيضا للنسخة في قائمة ريد ٥، لكن قائمة btrfs لاحظت العطب وصححته بشكل مباشر حالما طلبت قراءة الصورة.

سجل نواة النظام يحكي القصة هنا:

[ 87.030967] BTRFS info (device vdf): csum failed ino 258 off 0 csum 3377436548 private 796777854

[ 87.031188] BTRFS info (device vdf): csum failed ino 258 off 0 csum 3377436548 private 796777854

[ 87.031678] btrfs read error corrected: ino 258 off 0 (dev /dev/vde sector 267344)

ألا يعجبك هذا؟

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

هذه خاصية في غاية الروعة ، ففي ZFS تم إنقاذ بياناتي من الضياع في حالات كثيرة ، إنه ليس غريبا أن ترى ٥ أو ١٠ أو ٥٠ خطأ في نتيجة للتحقق في القرص إذا كان يعمل منذ عدة سنوات، وفي بعض الحالات رأيت قوائم raidZ مع أكثر من مئة ألف خطأ في التحقق في قرص واحد ولم تضع أي من البيانات أو أصابها عطب ما.

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

إدارة الحجم

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

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

التوسع للمستقبل البعيد

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

ZFS ومن btrfs كلاهما قررا التخطيط منذ البداية لما يبدو الآن كتوسع مبالغ فيه، لأن النظام الحالي سيعيش بالتأكيد أكثر من العتاد المستخدم حاليا.

عرف عن مصممي ZFS ادعائهم المشهور بأن ملء كل بت للحجم الأقصى ل zpool سيتطلب طاقة تكفي لغلي كل محيطات الكوكب. لم يصل Btrfs إلى ذلك الحد ولكنه لا يحتاج فعلا لذلك، الحجم الأقصى لنظام ملفاته يصل إلى 16 EiB ، لوضع ذلك في مثال، إذا أعطيت لكل شخص في نيويورك قرصا جديدا يسع 2 تيرابايت ووفرت طريقة ما لتشبيك كل هذه الأقراص مع بعضها البعض ستحصل تقريبا على مساحة 16 EiB ، كما أنه يمكنك أو لا يمكنك تفعيل القوة باستخدام مفاعل نووي بطاقة 90 ميغا وات، لكن هذه الخطة تبدو مستقبلية.

التكرار التزايدي غير المتماثل

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

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

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


 

المساحة اليسرى: جهازك بالكامل في بداية كل ساعة. المساحة اليمنى: جهازك الكامل في بداية كل ساعة من على جهاز بعيد.

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

 

مواصفات خاصة ب btrfs فقط

في القسم الأخير، عرضت ما اعتبره المواصفات المبدئية للجيل المقبل من أنظمة الملفات، لكن btrfs يقدم بعضا من الخصائص الجديدة والتي لا توجد في ZFS.

الاستنساخ على مستوى الملفات

هذا في الحقيقة لأمر هائل، فأنا أعمل كثيرا على الأجهزة الافتراضية، مما يعني أني أملك الكثير والكثير من الملفات التي تتراوح أحجامها بين 5 جيجابايت حتى 400 جيجابايت (وأحيانا أكبر) الموجودة على مختلف الأنظمة. الاستنساخ على مستوى الملفات يعني أنه يمكني أن استنسخ نسخة قابلة للكتابة لأي من الملفات ذات الأحجام الهائلة في ثوان.

me@server:~$ cp --reflink=always 200GB_virtual_machine_drive.qcow2 clone_of_200GB_virtual_machine_drive.qcow2

الأمر الموضح في الأعلى سينسخ 200 جيجابايت من البيانات في ملي ثانية، أثناء النسخ، لن لا توجد الحاجة إلى أي مساحة إضافية على الأقراص، فملف

clone_of_200GB_virtual_machine_drive.qcow2

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

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

على العكس من ذلك، إذا كنت تريد أن تستخلص ملفات بعينها من لقطات ZFS (أو من النسخ الابتدائية في NTFS او LVM) ستحتاج في الحقيقة إلى نسخها بالكامل قطاع قطاع وبذلك ستستهلك مساحة من قرصك كما أن هنالك احتمالية بأن هذه العملية ستستغرق وقتا لتتم إذا كانت كمية البيانات كبيرة. بغض النظر عن مساحة القرص المهدرة، ستستغرق عملية نسخ صورة النظام الافتراضي ذات 200 جيجابايت مساحة التي ذكرتها في مثالي على الأقل 3 ساعات أو أكثر لتتم نسخها من لقطة ZFS.

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

موازنة متصلة

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

btrfs من جهة أخرى، يسمح لك بعمل أي شيء بخصوص إعادة التعيين للمساحة الحية، لنقل إنك تود تثبيت نظام بقرصين في قائمة من btrfs-raid1 ٫ أولا: ستمضي مع عملية تنصيب لينكس وقم بعملية تنصيب اعتيادية على القرص الأول واجعله جاهزا للعمل من خلال ذلك القرص، ولا تقلق بشأن القرص الثاني،"هل كل شيء جاهز؟ حان الوقت لنتأكد الآن من معرفة رقم الجزء الذي نستخدمه:

me@machine:~$ sudo btrfs filesystem show

Label: none uuid: c9c5e506-6b87-4741-9017-f416d2f2ae8c

Total devices 1 FS bytes used 1.41GB

devid 1 size 9.31GB used 3.54GB path /dev/vda1

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

me@machine:~$ sudo sfdisk -d /dev/vda | sudo sfdisk /dev/vdb

me@machine:~$ sudo grub-install /dev/vdb

 

الآن نضيف التجزيء الأول للقرص الثاني لنظام ملفات منbtrfs :

me@machine:~$ sudo btrfs device add /dev/vdb1 /

ثم نقوم بإعادة التوازن لنظام الملفات باستخدام btrfs-raid1

me@machine:~$ sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /

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

هذا مثير للإعجاب بحد ذاته، لكن أيضا يمكنك أن تضيف قرصا ثالثا وتقوم بإعادة التوازن بجعل قيم -dconvert=raid5 -mconvert=raid5، أو إضافة قرص رابع حتى واستخدام ريد10 أو ريد 6. تستطيع القيام بأي إضافات تعجبك. سيكون Btrfs سعيدا تمام بتحويل أي مستوى ريد إلى أي مستوى ريد ثان بسلاسة حتى أثناء عمل النظام. وهذه ميزة ستهم الهواة وأصحاب الأعمال الصغيرة والذين لا يملكون القدرة على بناء نظام كامل ونقل البيانات له.

نو داتا كاو NODATACOW

إحدى أشهر الشكاوى بخصوص الجيل المقبل من أنظمة الملفات هي أنك في حالة غمرت النظام بشكل مفرط بسيل غير منتهي من البيانات العشوائية ستنهار بشكل أسرع من أنظمة الملفات الاعتيادية. لذلك -سيمضي التفكير بأن - Btrfs وZFS لن يكونا الخيار الأفضل لقاعدة بيانات من نوع آبر او مستضيف افتراضي تجريبيbotnet ذي 128نواة و 256GB من الذاكرة العشوائية الذي ربما فكرت في بنائه.

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

من خلال تجربتي ، الغالبية العظمى في حالات ضغط العمل – وتشمل قواعد البيانات و الاستضافة الافتراضية في أغلب ظروف الضغط - ستعمل بشكل جيد تحت نظام ملفات النسخ أثناء الكتابة، لذا لن أتسرع وأفعل هذه الميزة في كل مكان. في القليل من الاختبارات التي قمت بها تشغيل نو داتا كاو لمجلد يحوي صورة لخادم ويندوز 2008 نتج عنه زيادة من 5 إلى 10 بالمئة في الأداء في أفضل الأحوال عند اختبار HDTune Pro في مساحة تخزينه. وستتنازل عن ميزة التحقق لكل كتلة عند تفعيل نو داتا كاو. إنها ميزة موجودة ، و ممتع وجودها لكن مثل أغلب الأشياء ، لا تستخدمها حتى تتأكد أنك تريد استخدامها فعليا.

ضغط على مستوى الملفات أو المجلدات

يقدم ZFS خدمة الضغط لكنها تحتاج إلى أن تكون مفعلة على مستوى النظام بالكامل، يوفر Btrfs ميزة الضغط أيضا باستخدام خوارزميات مختلفة (حاليا gz هو الافتراضي و تعمل خوارزمية lzo بشكل رائع) لكن Btrfs يسمح لك بالتحكم في الضغط على مستوى نظام الملفات، أو الأحجام، أو المجلدات، حتى على مستوى الملفات الفردية. تستطيع أيضا بعمل أشياء رائعة من مثل أنه يمكنك اختيار ضغط كل شيء إلا الملفات التي تنتهي بـ .jpg أو .jpeg أو .avi لأن هذا النوع من الملفات تأتي في صورة مضغوطة بشكل افتراضي ولأن الضغط العام سيزيد حجمها وتخسر بذلك عددا من دورات CPU. (هذا التصرف مفعل بشكل افتراضي، ولا تحتاج حتى إلى إعداده)

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

طريقة استخدام المميزات: تطبيق سريع

لننظر إلى نظام ملفات من نوع Btrfs:

me@virtual-machine:~$ sudo btrfs filesystem show

failed to open /dev/sr0: No medium found

Label: none uuid: e5398102-7f0f-41e6-92f8-bc05176aa3ae

Total devices 1 FS bytes used 3.03GB

devid 1 size 24.00GB used 6.04GB path /dev/vda1

 

Btrfs v0.20-rc1



نظام الملفات Btrfs هذا تم إنزاله على نظام تشغيل ابونتو سوسي مثبت على جهاز افتراضي، بحد ذاته لا يبدو غنيا بالمعلومات ولكن تتضح فائدته إذا كنت تعمل على عدة أنظمة ملفات أو نظام ملفات واحد ولكنه متوزع على عدد من الأجهزة من مثل مصفوفة btrfs-raid0/1/5/6/10

الآن لنلقي نظرة على الحجم لهذا النظام

me@virtual-machine:~$ sudo btrfs sub list /

ID 256 gen 199294 top level 5 path @

ID 257 gen 199294 top level 5 path @home

ما ننظر إليه هنا هو التثبيت الاعتيادي لـ Btrfs على نظام أبونتو / مجلد للمصدر (الجذر) و آخر للمنزل ، هذا يسمح لك (وفي الحقيقة يتطلب منك) لأخذ لقطات لكل مجلد بشكل منفصل، مما يجعله من السهل أرشفة أي منها أو القيام بالتراجع باستخدام أي منهما. فمثلا يمكنك استرجاع النظام الأساسي للملفات بعد أن قمت بترقية مريعة بدون أن تتأثر بياناتك التي قمت تخزينها في مسار المنزل، كما يمكننا رؤية ذلك منعكسا في ملف /etc/fstab

# /etc/fstab: static file system information.

#

# Use 'blkid' to print the universally unique identifier for a

# device; this may be used with UUID= as a more robust way to name devices

# that works even if disks are added and removed. See fstab(5).

#

#

proc /proc proc nodev,noexec,nosuid 0 0

# / was on /dev/sda5 during installation

UUID=bf9ea9b9-54a7-4efc-8003-6ac0b344c6b5 / btrfs defaults,subvol=@ 0 1

# /home was on /dev/sda5 during installation

UUID=bf9ea9b9-54a7-4efc-8003-6ac0b344c6b5 /home btrfs defaults,subvol=@home 0 2



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

me@virtual-machine:~$ sudo btrfs sub create /home/.snapshots

Create subvolume '/home/.snapshots'

الآن، لنأخذ أولا لقطتنا:

me@virtual-machine:~$ sudo btrfs sub snapshot -r /home /home/.snapshots/myfirstsnapshot

Create a readonly snapshot of '/home' in '

نستطيع أن نرى التركيب الجديد في قائمة أخرى من مجلد فرعي في btrfs:

me@virtual-machine:~$ sudo btrfs sub list /

ID 256 gen 199294 top level 5 path @

ID 257 gen 199294 top level 5 path @home

ID 849 gen 199310 top level 5 path @home/.snapshots

ID 850 gen 199311 top level 5 path @home/.snapshots/myfirstsnapshot

 

 

الآن، لننشئ نسخة مكررة للجهاز الثاني والذي يحتوي على مجلدات فرعية ملائمة سميناه \باك اب و \باك اب هوم و \باك اب هوم.سنابشوت

me@virtual-machine:~$ sudo btrfs send /home/.snapshots/myfirstsnapshot | ssh second-machine sudo btrfs receive /backup/home/.snapshots

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

me@virtual-machine: sudo btrfs sub snapshot -r /home /home/.snapshots/mysecondsnapshot

me@virtual-machine: sudo btrfs send -p /home/.snapshots/myfirstsnapshot /home/.snapshots/mysecondsnapshot | ssh second-machine btrfs receive /backup/home/.snapshots



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

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

عظيم! من أين أبدأ؟

WARNING! - Btrfs Btrfs v0.20-rc1 IS EXPERIMENTAL

WARNING! - see http://btrfs.wiki.kernel.org before using

 

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

أكثر من ذلك، بينما تعتبر خاصية on-disk format الآن مستقرة وثابتة ولا يتوقع منها التغيير، ما زال Btrfs يتطور بسرعة مما يعني أنه من الأفضل لك أن تستعمل آخر إصدارات نواة لينكس لاختباره، بدأت رحلتي مع Btrfs مع آخر إصدارات النواة في أبونتو وانتهيت بأن قفزت خطوتين للأمام لتجربة النواة في الإصدارات اليومية والتي تقع خارج دائرة رفاهيتي.

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

لكنك إذا كنت مصر على القفز واختبار واستخدام Btrfs، حسنا استمتع به !ولكن تأكد من قراءة صفحة الويكي على هذا الرابط بشكل جيد http://btrfs.wiki.kernel.org 

كما أنصح بالانضمام للقائمة البريدية لـ Btrfs (ذكر عنوانها في صفحة الويكي سابقة الذكر) كما أن موقع تتبع العللBugzilla المتوفر في موقع النواة

kernel.org من المواقع المهمة جدا لرؤية العلل التي ما زالت مفتوحة أو كتابة العلل التي ستصادفك.

الخاتمة

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

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

 

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

يحافظ Btrfs و ZFS على بياناتك ضد كل ما يمكن أن يدمرها بأفضل شكل ممكن، من الممكن عدم ملاحظة هذا الأثر في بداية الأمر لأن لا أحد منا بحوزته بياناته منذ 20 عاما، ففي عام 1994 كان الأمر لمعظم الناس أن الحواسيب هي مجرد أجهزة ومنفصلة عن الحياة الواقعية لذا نحن لا نشعر بفقدانها الآن، لكن في 2014 نحن نوثّق حياتنا بشكل مباشر على الأجهزة وبشكل متزايد وفقط على أجهزتنا. في عام 2034 سيكون الفرق بين النظام الحالي والنظام الأسبق من أنظمة الملفات واضحا كالفرق بين الأفلام و الصور الشمسية الآن.

 

الصورة الأصلية

الصورة بعد قلب بت واحد

الصورة بعد قلب بتان

الصورة بعد قلب ثلاثة بتات

 

هذه التدوين تم تحديثها لتتوافق مع حقيقة ان كاتبات VSS يمكن تعطيلها لإصلاح خطأ الحساب.

 

جيم سالتر (@jrssnet)، مؤلفو متحدث عام، ومالك مشروع صغير ومدير نظام على حسب الطلب، وأب لثلاثة أبناء – ليس بالضرورة بالترتيب. كانت أول تجربة له مع البرامج مفتوحة المصدر عندما شغل مخدم أباتشي على خادمه FreeBSD 3.1 في عام 1999، وأصبح منذ ذلك اليوم مدافع وناشر قوي للبرمجيات الحرة. وقام بإنشاء موقع http://freebsdwiki.netو http://ubuntuwiki.net.


لقد قالوا من قبل أن "المحتوي هو الملك"، كذلك يقول موضوع. كوم

$
0
0

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

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

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

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

 

لماذا موضوع. كوم ؟

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

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

 

ربما تحيرت مثلي، فللحظة قلت في نفسي ماذا سوف أستفيد إن وضعت موضوعاتي في موقع موضوع، ولماذا لا أضع تلك الموضوعات مباشرة في مدونتي؟

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

وإن كنت لا تعرف أهمية أن يتعرف الناس على كاتب المقالات، فقد آن الأوان لتعرف أهمية ذلك، فهب أنك قرأت كتاباً لمدرب اسمه إبراهيم الفقي وأعجبك أسلوبه جداً، فكيف سوف تصل إلى منتجات هذا الكاتب؟

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

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

 

ماذا يجب أن تفعل؟

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

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

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

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

 

موزيلا و القيود الرقمية ، عندما يكون المال أولوية

$
0
0

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

القيود الرقمية في عالم بث الفيديو ليست بجديدة ؛ ففي الوقت الراهن تستخدم شركات بث الفيديو مشغل أدوبي فلاش بلايير و مايكروسوفت سيلفرلايت لتقديم محتواها للمستهلكين على منصات الحوسبة الشخصية ، و على تطبيقات خاصة لكل منصة هواتف ذكية ، القصة بدأتعندما رضخت منظمة معايير الويب W3C و ضمنتها لمعايير HTML5 على شاكلة ملحق تشفير للوسائط EME ؛ بحيث يقدم المتصفح لكل الأشياء التي يقدمها على سبيل المثال فلاش بلايير في مجال بث الفيديو بما فيها القيود الرقمية  ، هذه دعم سيقدم دفعه كبير لتوحيد المنصات لأن تكون صفحة ويب فقط! وكملاحظة هامشية كان محرري هذا المعيار من شركة جوجل و مايكروسوفت و شركة Netflix لبث الفيديو.

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

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

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

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

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

ما هو محاكي الطرفية الجيد في نظام لينوكس؟

$
0
0

 

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

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

1. Gnome-terminal

دعونا نبدأ مع الطرفية الكلاسيكية "غنوم", "غنوم"هو محطة تقليدية. وهو يدعم ملفات مستخدمين مختلفة وعلامات تبويب وإعادة تحجيم النص والخلفية الشفافة ويملك درجة عالية من التخصيص. وكما يحوي اسمه فهو مناسب تماماً بيئة "غنوم".



2. Konsole


 



أيضاً هذا يعتبر اسمٌ كبير, كونسولي"يعادل إلى حدٍ كبير طرفية "غنوم"لبيئات الـKDE. و أحد الإضافات التي يدعمها "كونسولي"وهي نمط العرض المنقسم فضلاً عن المؤشرات المرجعية للدليل.

3. (Xfce) Terminal

يكون لدى مستخدمي الـ Xfce محطة جيدة خاصة بهم وهي محطة xfce4. والفكرة من هذا هي الحصول على منتج مماثل مماثل لـمحطة "غنوم"في المظهر ولكنه أخف بكثير من حيث الموارد اللازمة. والنتيجة ستكون إمكانية تخصيص كبيرة، ولكن من دون وظيفة ملف تعريف المستخدم أو الخلفية الشفافة.

4. LXTerminal

الانتهاء مع أكثر محطة مشهورة لبيئة سطح المكتب, محطة LXT تم تصميمها لبيئات الـLXDE. وكما يمكنك أن تتخيل تعتبر أخف وأسرع من الطرفية xfce, وتاركةً ورائها التخصيصات المعقدة والخيارات المتقدمة, فقط من أجل الحفاظ على علامات التبويب.

5. Terminator

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

6. Tilda

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

7. Guake

وللذين منكم يحبون المفهوم كـTilda, ولكنهم يفضّلون شيئاً متكاملاً أكثر كـ"غنوم"يجب عليهم أن يجربوا Guake. فهي أكثر أو أقل مماثلةً لـTilda. الفرق بين الاثنين غالباً هو فقط التجميلات.

8. Yakuake

ولمستخدمي KDE يجب عليهم ألّا ينسوا Yakyake والتي هي في الأساس بديلٌ لـGuake لبيئات الـKDE. ويعرض نفس الأشياء كـGuake بالإضافة إلى واجهة مبوبة وملفات تعريف للمستخدمين.

9. Terra

وبالنسبة للمستخدمين المتمكّنين الذين يحبّون Termiator ويريدونه كالقائمة المنسدلة, اقترح عليهم Terra والذي يعتبر جيداً في كلا المجالين. بين Guake و Terminator فإنه يدعم العرض المقسوم وعلامات التبويب في حين أنها قائمة منسدلة.

10. rxvt

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

11. Sakura

من أقل محاكي الطرفيات شهرةً, Sakura يستند إلى GTK ولكن لا يتطلب تثبيت غنوم بشكل كامل. وعلى عكس rxvt, sakura لديه إضافات قليلة مثل علامات التبويب وتخصيص اللون, ولكنه يحاول أن يبقى بسيطاً وأساسياً. حتى إذا كنت ترغب بالأساسيات في بيئة البرمجيات الحرّة الخفيفة, فـsakura هو على الأرجح الذي ستتجه إليه.

 

12. Terminology

واحدة من الطرفيات الأكثر ندرةً هنا هي Terminology. وهي صممت أيضاً لـ Enlightenment, فهو يحافظ على الوظائف الأساسية التي بقينا نراها حتى الآن, وأيضاً يقوم ببعض الوظائف القليلة التي لم نراها من قبل. من بينها, إمكانية تدفق الوسائط مباشرةً من الطرفية وحتى الصور المصغرة من أجل إدراجها في الملف.


هذه المقالةمترجمة، شكرا للمترجم عاصمعبد الحافظ

كيف تستخدم LVM على لينكس

$
0
0

Logical Volume Manager (LVM) هو نظام لإدارة القرص الصلب يتميز بتعدد وظائفه وبسهولة استخدامه في لينكس أو في أنظمة تشغيل مشابهة. من المعروف أنه يتم إنشاء الأقسام (partition) العادية بأحجام ثابتة، و محاولة القيام بتغيير أحجام هذه الأقسام تعتبر عملية شاقة. من ناحية أخرى، يقوم LVM بإنشاء و إدارة وحدات تخزين "افتراضية "ليس لها تأثير مباشر على الأقراص الصلبة الفعلية، ويوفر للمستخدمين مرونة كافية لتوسيع أو تقليص وحدات التخزين الافتراضية بسهولة, وهذا دون الحاق الضرر بالبيانات المخزنة عليها. كما يمكن للمستخدمين إضافة أقراص صلبة أخرى إلى LMV كيفما يشاؤون، وهذا يساعد في تعزيز وحدات التخزين الافتراضية القائمة, وطالما أن نواة نظام التشغيل (kernel) على بينة من وجود قسم ما، فإن LVM لا يكون في حاجة إلى إعادة التشغيل.

LVM يستخدم هيكل هرمي كما هو موضح في الرسم البياني أدناه.



نجد في الأعلى الأقراص الصلبة (Disk) ثم وحدات التخزين الفعلية (Physical Volume), ويمكن استخدام وحدة تخزين فعلية واحدة أو أكثر لإنشاء مجموعة وحدة تخزين (Volume group), بعد ذلك يتم إنشاء وحدات التخزين الافتراضية (Logical Volume) انطلاقا من مجموعات وحدة التخزين هاته. كلما تكون هناك مساحة متوفر على مجموعة وحدة التخزين، فإنه يمكننا إنشاء وحدات التخزين افتراضية انطلاقا من مجموعة وحدة التخزين. يتم تهيئة وحدات التخزين الافتراضية بنظام ملفات خاص، حتى يسهل تركيبها والوصول إليها عبر نظام التشغيل.

سيناريو اختبار LVM

ستجد في هذا الدرس وصف لكيفية استخدام LVM لإنشاء وإدارة وحدات التخزين على لينكس, وحتى نبسط الأمور قسمنا الدرس على مرحلتين. في المرحلة الأولى، سوف نقوم بإنشاء العديد من وحدات التخزين الافتراضية على قرص فعلي واحد، ثم نقوم بتركيبها في المجلد "/lvm-mount", بعد الانتهاء من ذلك سوف نقوم بتغيير حجم وحدات التخزين التي قمنا بإنشائها. في المرحلة الثانية، سنقوم بإضافة وحدات تخزين افتراضية أخرى, تم إنشاؤها على قرص صلب ثاني, إلى LVM.

إعداد أقسام القرص

يتم إنشاء أقسام القرص باستخدام الأمر fdisk. سوف نقوم بإنشاء ثلاثة أقسام من نوع '8e', لجعلها متوافقة مع LVM, بحجم 1 غيغابايت لكل واحد، وليس من الضروري أن تكون الأقسام متطابقة الحجم.

# fdisk /dev/sdb
Command (m for help): n## new
Command action
   e   extended
   p   primary partition (1-4)
p## primary

Partition number (1-4): 1## partition number
First cylinder (1-1044, default 1):  ## hit enter
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +1G## size

Command (m for help): t## change type
Selected partition 1
Hex code (type L to list codes): 8e## code for LVM
Changed system type of partition 1 to 8e (Linux LVM)

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

# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         132     1060258+  8e  Linux LVM
/dev/sdb2             133         264     1060290   8e  Linux LVM
/dev/sdb3             265         396     1060290   8e  Linux LVM

إعداد وحدات التخزين الفعلية

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

# pvcreate /dev/sdb1
# pvcreate /dev/sdb2
# pvcreate /dev/sdb3



يمكن التحقق من وحدات التخزين الفعلية باستخدام الأمر التالي. يحتوي القسم الموالي على جزء من شاشة النتائج. "/dev/sdb2"هي وحدة تخزين فعلية جديدة حجمها 1.01 غيغابايت.

# pvdisplay

 

  --- NEW Physical volume ---
  PV Name               /dev/sdb2
  VG Name
  PV Size               1.01 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               jszvzz-ENA2-g5Pd-irhV-T9wi-ZfA3-0xo092

 

يمكن حذف وحدات التخزين الفعلية باستخدام الأمر التالي.

# pvremove /dev/sdb1



إعداد مجموعات وحدة التخزين

الأمر التالي سيمكننا من إنشاء مجموعة وحدة التخزين اسمها 'volume-group', وهذا باستخدام وحدات التخزين الفعلية التالية: /dev/sdb1, /dev/sdb2 و /dev/sdb3.

# vgcreate volume-group1 /dev/sdb1 /dev/sdb2 /dev/sdb3



يمكننا التحقق من حجم مجموعة وحدة التخزين باستخدام الأمر التالي.

# vgdisplay

  --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.02 GiB
  PE Size               4.00 MiB
  Total PE              774
  Alloc PE / Size       0 / 0
  Free  PE / Size       774 / 3.02 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

 

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

يمكن حذف مجموعة وحدة التخزين باستخدام الأمر التالي.

# vgremove volume-group1



إنشاء وحدات التخزين الافتراضية

الأمر التالي يسمح بإنشاء وحدة تخزين افتراضية اسمها 'LV1'بحجم 100 ميجابايت. قمنا باستخدام أقسام صغيرة الحجم لتقليل وقت المعالجة. ستأخذ وحدة تخزين افتراضية جزء من حجم مجموعة وحدة التخزين المحددة سابقا.

# lvcreate -L 100M -n lv1 volume-group1



يمكن التحقق من وحدات التخزين الافتراضية باستخدام الأمر lvdisplay.

# lvdisplay

 

  --- Logical volume ---
  LV Name                /dev/volume-group1/lv1VG Name                volume-group1
  LV UUID                YNQ1aa-QVt1-hEj6-ArJX-I1Q4-y1h1-OFEtlW
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2



بما أن وحدة التخزين الافتراضية جاهزة، فإنه يمكننا الآن تهيئتها وتركيبها مثل أي قسم آخر من نوع ext2/3/4.

# mkfs.ext4 /dev/volume-group1/lv1
# mkdir /lvm-mount
# mount /dev/volume-group1/lv1 /lvm-mount/



بعد الانتهاء من تركيب وحدة التخزين الافتراضية، يمكن الوصول إليه من خلال اجراء عمليات القراءة / الكتابة على نقطة التركيب /lvm-mount/. للقيام بإنشاء وتركيب وحدات تخزين افتراضية أخرى، يكفي تكرار هذه العملية.

يمكننا حذف أي وحدة تخزين افتراضية بكل بساطة عن طريق الأمر lvremove.

# umount /lvm-mount/
# lvremove /dev/volume-group1/lv1



كيفية توسيع حجم وحدة تخزين LVM

القدرة على تغيير أحجام وحدات التخزين الافتراضية تعتبر أفضل ميزة في استخدام LVM, وسنقوم في هذا القسم من الدرس بمناقشة كيفية القيام بتوسيع وحدة تخزين افتراضية قائمة, حيث سيتم توسيع وحدة التخزين الافتراضية 'LV1'والتي تم إنشاؤها سابقا إلى 200 ميغابايت.

ما يجب أن نأخذه بعين الاعتبار أنه بعد تغيير حجم وحدة تخزين افتراضية، سنكون بحاجة أيضا إلى تغيير حجم نظام الملفات ليكون مساو لحجم وحدة التخزين الافتراضية. هذه الخطوة الإضافية تختلف باختلاف نظام الملفات الذي يتم إنشاؤه على وحدة التخزين. في هذا الدرس، أنشأنا على 'LV1'نظام الملفات ext4، لذا سنركز على نظام الملفات ext4 ( وهو متوافق بشكل جيد مع أنظمة الملفات ext2/3), من المهم جدا تنفيذ الأوامر حسب التسلسل الآتي.

أولا نقوم بفصل وحدة التخزين.

# umount /lvm-mount/



ثم نقوم بتغيير حجم وحدة التخزين إلى 200 ميجابايت.

# lvresize -L 200M /dev/volume-group1/lv1



الأمر التالي يمكننا من فحص وحدة التخزين بحثا عن أخطاء محتملة.

# e2fsck -f /dev/volume-group1/lv1



بعد ذلك، يتم تحديث المعلومات الخاصة بنظام الملفات EXT4.

# resize2fs /dev/volume-group1/lv1



من المفروض الآن أنه قد تم توسيع وحدة التخزين الافتراضية إلى 200 ميجابايت, ويمكننا التحقق من هذا عن طريق فحص حالة LV.

# lvdisplay

  --- Logical volume ---
  LV Name                /dev/volume-group1/lv1VG Name                volume-group1
  LV UUID                9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                200.00 MiB
  Current LE             50
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

 

الآن يمكن إعادة تركيب وحدة التخزين المنطقية من جديد، ويمكن استخدامها مثل أي قسم (partition) تماما.

كيفية تقليص وحدة تخزين LVM

يشتمل هذا القسم على طريقة تقليص حجم وحدة تخزين LVM, ونذكر مرة أخرى أهمية تنفيذ الأوامر حسب التسلسل المطلوب، هذه التعليمات تعمل جيدا على نظام الملفات ext2/3/4.

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

أولا نقوم بفصل وحدة التخزين.

# umount /dev/volume-group1/lv1



الأمر التالي يمكننا من فحص وحدة التخزين بحثا عن أخطاء محتملة.

# e2fsck -f /dev/volume-group1/lv1



ثم يتم تحديث المعلومات الخاصة بنظام الملفات ext4.

# resize2fs /dev/volume-group1/lv1 100M



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

# lvresize -L 100M /dev/volume-group1/lv1

WARNING: Reducing active logical volume to 100.00 MiB
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce lv1? [y/n]: y
  Reducing logical volume lv1 to 100.00 MiB
  Logical volume lv1 successfully resized



أخيرا، يتم التحقق من الحجم الجديد لوحدة التخزين الافتراضية.

# lvdisplay

--- Logical volume ---
  LV Name                /dev/volume-group1/lv1VG Name                volume-group1
  LV UUID                9RtmMY-0RIZ-Dq40-ySjU-vmrj-f1es-7rXBwa
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                100.00 MiB
  Current LE             25
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

 

كيفية توسيع حجم مجموعة وحدة التخزين

يشمل هذا القسم من درسنا على كيفية توسيع حجم مجموعة وحدة التخزين عن طريق إضافة وحدة تخزين فعلية جديدة إلى مجموعة وحدة التخزين. لنفترض أن مجموعة وحدة التخزين 'volume-group1'قد امتلأت، وأصبح من الضروري توسيع حجمها. بما أن القرص الصلب الحالي (sdb) لا يوفر أي مساحة فارغة، قمنا بإضافة قرص صلب آخر (sdc), وسنرى كيف يمكننا توسيع حجم مجموعة وحدة التخزين قسم (partition) من sdc.

أكتب الأمر التالي للتحقق من الوضع الحالي لمجموعة وحدة التخزين VG.

# vgdisplay volume-group1

  --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               3.02 GiB
  PE Size               4.00 MiB
  Total PE              774
  Alloc PE / Size       25 / 100.00 MiB
  Free  PE / Size       749 / 2.93 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

 

أولا، سنقوم بإنشاء قسم (partition) سنسميه sdc1 بحجم 2 جيغابايت من نوع LVM (8e) كما شرحنا في الدرس سابقا.

# fdisk /dev/sdc
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1044, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1044, default 1044): +2G

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

ثم، سنقوم بإنشاء وحدة تخزين فعلية /dev/sdc1.

# pvcreate /dev/sdc1



الآن وبعد أن أصبحت وحدة التخزين الفعلية جاهزة، يمكننا ببساطة إضافتها إلى المجموعة 'volume-group1'.

# vgextend volume-group1 /dev/sdc1



يمكننا من التحقق من ذلك باستخدام vgdisplay.

# vgdisplay

  --- Volume group ---
  VG Name               volume-group1
  System ID
  Format                lvm2
  Metadata Areas        4
  Metadata Sequence No  9
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                4
  Act PV                4
  VG Size               5.03 GiB
  PE Size               4.00 MiB
  Total PE              1287
  Alloc PE / Size       25 / 100.00 MiB
  Free  PE / Size       1262 / 4.93 GiB
  VG UUID               bwd2pS-fkAz-lGVZ-qc7C-TaKv-fFUC-IzGNBK

 

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

لتلخيص كل هذا، يمكن القول أن LVM تعتبر أداة قوية جدا لإنشاء وإدارة أقسام (partitions) قابلة للتعديل, ولقد رأينا في هذا الدرس، كيف يمكننا إنشاء أقسام ديناميكية والتحكم فيها باستخدام LVM, كما تعرفنا أيضا على طريقة توسيع / تقليص وحدات التخزين الافتراضية و مجموعات وحدة التخزين، وأيضا كيفية إضافة أقراص صلبة جديدة إلى LVM.

ونأمل في الأخير أن ينال هذا الدرس المترجمإعجابكم

كيفية تحويل فيم"Vim"إلى IDE (بيئة تطوير متكاملة) كاملة

$
0
0

إذا كان كودك صغيراً فأنت تعرف كم تكون بيئة التطوير المتكاملة (IDE) مفيدةً. عندما يقوم الـ IDE بالتحقق من "السينتاكس"بناء الجملة أو يقوم بترجمة الكود في الخلفية أو استيراد المكتبات التي تحتاجها، فإنَّ جافا وسي وبايثون جميعها تصبح أكثر سهولةً. ومن ناحيةٍ أخرى إذا كنت تستخدم نظام لينكس فأنت تعرف كم يكون استخدام فيم vim  مفيداً للأمور المتعلقة بتحرير النص، ولذلك من الطبيعي أنك ترغب بالحصول على كل الميّزات لبيئة التطوير المتكاملة IDE من فيم.

حقيقةً هناك عدد قليل من الطريق للقيام بذلك. يمكن لأحدهم أن يفكر بـ c.vimالذي يحاول القيام بتحويل فيم إلى IDEموجه للسي، أو الـ Eclimالذي يقوم بدمج فيم مع برنامج Eclips. على كل حال أنا أقترح عليك اتباع منهجٍ عام أكثر وذلك باستخدام الإضافات فقط. أنت لا تريد أن تملأ المحرر الخاص بك بعدد كبير من اللوحات والميزات، وبدلاً من ذك نهج الإضافات يتيح لك اختيار ما الذي تريد وضعه في فيم. وكنتيجة جيدةٍ لذلك، فالنتائج لن تكون بلغةٍ معينةٍ مما يتيح لك استخدام أي لغة برمجة تريد. وفيما يلي قائمتي بأفضل 10 إضافات والتي تقدم مزايا الـIDE لفيم.

معلومة إضافية: Pathogen 

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

 

1. SuperTap 

 

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

 2. Syntastic 

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

3.  Auto Pairs  

هناك شيءٌ آخر يدفع معظم المبرمجين إلى الجنون: هل قمت بكتابة الأقواس الأخيرة أم لا ؟؟!!. الجميع يكره القيام بعدّ الأقواس التي قام بوضعها حتى الآن بإصبعه. وللتعامل مع ذلك أنا استخدم Auto Pairsوالذي يقوم بإدراج وتنسيق الأقواس بشكل تلقائي.

4. NERD Commenter

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

5. Snipmate

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

6. NERSTree

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

7. MiniBufferExploere

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

8. Tag List

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

9. undotree

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

10. gdbmgr

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

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

ونأمل في الأخير أن ينال هذا الدرس المترجمإعجابكم

الحوسبة علاج لفيروس نقص المناعة البشرية : 9 طرق تتيح للعلماء فهم و علاج الفيروس عن طريق الحواسيب العملاقة

$
0
0


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

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

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


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

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

و فيما يلي تسعة أمثلة عن كيف أن العلماء يطبقون قوة الحوسبة الهائلة و المعارف الحاسوبية لمكافحة هذا المرض.

1) نمذجة فيروس نقص المناعة البشرية : من الذرات إلى الإجراءات :





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

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

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

2) اكتشاف جيب خفي في بروتينات فيروس نقص المناعة البشرية يؤدي إلى أفكار لموانع جديدة:


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

 
تعاون باحثون من جامعة كاليفورنيا، سان دييغو، و معهد سالك للدراسات البيولوجية والمعهد الوطني للسرطان بمجهوداتهم لاكتشاف عقار أو دواء جديد مرشح لمكافحة فيروس الإيدز.

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

3) منع فيروس نقص المناعة البشرية من الوصول إلى حالة النضج :



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


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

استخدم الباحثون من جامعة شيكاغو الحاسوب المتطور المسمى بالكراكنالموجود بالمؤسسة الوطنية للعلوم الحاسوبيةلدراسة كيفية تشكل القفيص الناضج لفيروس نقص المناعة البشرية.

على ما يبدو وجدوا أن السلوك المعقد للتجمع الذاتي للقفيص أصبح بسيطا بمجرد أن فهموا شكل و سلوك البروتينات التي شكلتها. العمل الجاد جعل فهمنا لدورة حياة الفيروس يتقدم و به ألهمنا لتطوير دواء جديد يعرقل نمو الفيروس. ظهرت النتائج في المجلة البيوفيزيائيةفي أكتوبر2012.

4) التعهيد الجماعي كعلاج:


لقطة للغز فولديت نشط، يظهر المتصدرين على أعلى درجة من كل لاعب / فريق (المكتشفون: جامعة واشنطن)

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

فولدت هو جزء من مشروع بحثي تجريبي بدعم من مؤسسة العلوم الوطنية والتي طورها مركز جامعة واشنطن لألعاب العلوم بالتعاون مع قسم الكيمياء الحيوية بجامعة واشنطن. حالة بروتين التعهيد الجماعي بمثابة مثال حاسم لكيفية أن لعبة بهدف يمكن أن تحل مشاكل العالم الحقيقي.

5) الفحص الظاهري لمانعات فيروس نقص المناعة البشرية:


محاكاة العلماء اثنين من البروتينات التي تلعب دورا رئيسيا في فيروس نقص المناعة البشرية من أجل إيجاد مثبطات جديدة (المكتشفون : كوون واي. دي. ، لالوند جاي.إم. ، يانغ واي. ، إلبان إم. آي. ، إي أل.)


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

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

6) آثار الغشاء :


محاكاة لهفوة تجمع البروتين الفيروسي لهيكل فيروس نقص المناعة البشرية (المكتشفون : هيرش ناندا، المعهد الوطني للمعايير والتكنولوجيا)


من المعتقد أن بعض البروتينات التي تصل فيروس نقص المناعة البشرية بغشاء الخلية يعزز نمو الفيروس. وجد الباحثون أن الجمع بين الطرق التجريبية و المحاكاة الحاسوبية يمكن أن يكشف الكثير عن ديناميات الخلية المرتبطة.

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

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

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

7) أساليب الحوسبة لعلاج مخصص للمريض :


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

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

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

تم نشر البحوث في الاجتماع السنوي للجمعية الأميركية لتطور العلوم، ونشرت في مجلة نظرية كيميائية والإعلاميات.

8)إعداد الجيل القادم لمواصلة المعركة :


كلية ميريماك الجامعيين دانيال فرتي (الخلف) وديف دانيلز (الأمام) تقييم الفعالية من الفحص الظاهري باستخدام بايمول (المكتشفون : جيمي فرانكو، كلية ميريماك)


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

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

9) صبي و الوحش :


أرماند بيلج بجانب ملصق يشرح مشروعه الحائز على جائزة بحوث فيروس نقص المناعة البشرية (المكتشفون : أرماند بيلج، لكسينغتون مدرسة ثانوية)


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

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

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

 

هذه المقالة مترجمة من الإنجليزية، رابط المقالة الأصلية هنا.

كيفية تثبيت حزمة LAMP :Linux - Apache - MySQL - PHP على أوبنتو 14.04

$
0
0

مقدمة

حزمة " LAMP "هي مجموعة من البرمجيات مفتوحة المصدر التي يتم عادة تثبيتها معا لتمكين الخادم من الاستضافة المواقع وتطبيقات الويب الديناميكية. هذا المصطلح هو في الواقع اختصار الذي يمثل نظام التشغيل لينكس (Linux)، مع خادم الويب أباتشي (Apache)و يتم تخزين بيانات الموقع في قاعدة بيانات ( MySQL)، وتتم معالجة المحتوى الديناميكي بواسطة لغة بي اتش بي (PHP) في هذا الدليل، سوف نحصل على حزمة LAMP لمثبتة على أوبونتو 14.04 . حيث يوفر أبونتو تلبية احتياجاتنا الأولى وهي نظام التشغيل لينكس.

شرط أساسي

قبل أن تبدأ مع هذا الدليل، يجب أن يكون لديك حساب مستخدم منفصل غير جذر non-root معد مسبقا على الخادم الخاص بك. يمكنك تعلم كيفية القيام بذلك من خلال استكمال الخطوات 1-4 في إعداد الخادم الأولي لأوبونتو 14.04

خطوة الأولى - تثبيت أباتشي (Apache)

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

sudo apt-get update
Sudo apt-get Install apache2

وبما أننا نستخدم أمر سودو (sudo)، لتنفيذ هذه العمليات مع امتيازات root. سوف يطلب منك كلمة المرور للمستخدم العادي الخاص بك للتحقق من نواياك. بعد ذلك، يتم تثبيت خادم الويب الخاص بك. يمكنك القيام بالتحقق على الفور من أن كل شيء يسير كما هو مخطط له من خلال زيارة عنوان IP العام للخادم الخاص بك في متصفح الويب الخاص بك (راجع العنوان المقبل لمعرفة ما هو عنوان IP العام الخاص بك إذا لم يكن لديك هذه المعلومات بالفعل):

http://your_server_IP_address

سترى صفحة ويب أباتشي الافتراضية في أوبونتو 14.04، وهي من أجل أهداف إعلامية واختبارية. ينبغي أن ننظر بشيء من هذا القبيل:

إذا كنت ترى هذه الصفحة الآن فإن تثبيت خادم الويب الخاص بك سار بشكل صحيح.

كيفية العثور على عنوان خادم IP العام الخاص بك إذا كنت لا تعرف ما هو عنوان IP العام للخادم الخاص بك، يوجد عدد من الطرق التي يمكنك العثور عليه. في العادة، هذا العنوان هو الذي تستخدمه للاتصال على الخادم الخاص بك من خلال SSH. من سطر الأوامر، يمكنك أن تجد عدد قليل من الطرق. أولا، يمكنك استخدام أدوات iproute2 للحصول على عنوانك بكتابة هذا الأمر:

`ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'`

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

curl http://icanhazip.com

بغض النظر عن الطريقة التي تستخدمها للحصول على عنوان IP الخاص بك، يمكنك كتابته في شريط عنوان متصفح الويب الخاص بك للحصول على الخادم الخاص بك. الخطوة الثانية - تثبيت ميسكل ( MySQL)

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

sudo apt-get install mysql-server php5-mysql

ملاحظة: في هذه الحالة، لا توجد حاجة لتشغيل sudo apt-get update. لأنه قمنا بتنفيذه في الأوامر أعلاه عند تثبيت أباتشي. لهذا يجب أن يكون فهرس الحزم محدثا في جهاز الكمبيوتر حتى الآن. أثناء التثبيت، سوف يطلب منك الخادم الخاص بك تحديد وتأكيد كلمة مرور ميسكل للمستخدم "root". حيث أن هذا هو الحساب الإداري في ميسكل (MySQL ) الذي يمتلك امتيازات أعلى. لهذا يجب التفكير في الأمر بأنه يشبه حساب root للخادم نفسه ( والذي تعده هو مخصصا لـ MySQL فقط على كل حال). عند اكتمال التثبيت، نحن بحاجة لتشغيل بعض الأوامر إضافية للحصول على بيئة ميسكل (MySQL ) آمنة بشكل أفضل. أولا، نحن بحاجة لنخبر ميسكل (MySQL ) بأن تنشي هيكل لمجلدات قواعد البيانات حيث ستخزن معلوماتك الخاصة. يمكنك القيام بذلك عن طريق كتابة:

sudo mysql_install_db

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

sudo mysql_secure_installation

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

الخطوة الثالثة - تثبيت PHP

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

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

من المفترض أن تثبيت PHP اكتمل من دون أي مشاكل. سنقوم باختبار هذه بعد قليل. في معظم الحالات، سوف ترغب في تعديل الطريقة التي يعمل بها أباتشي للملفات عند طلب مجلدا ما. حاليا، إذا طلب مستخدم ما مجلدا من الخادم، سوف يقوم أباتشي بالبحث أولا عن الملف index.html. نحن نريد أن نقول لخادم الويب لدينا أعطى الأولوية لملفات PHP، لهذا فإنك سوف تجعل أباتشي يبحث عن ملف index.php بدلا عن الملف الأول. للقيام بذلك، اكتب هذا الأمر وفتح ملف dir.conf في محرر النص مع امتيازات root:

sudo nano /etc/apache2/mods-enabled/dir.conf

سيبدو هذا:

<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

نحن نريد أن يتحرك ملف الفهرس PHP أعلاه إلى المركز الأول بعد مواصفات DirectoryIndex، مثل هذا:

<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

عند الانتهاء، قم بحفظ الملف وإغلاقه عن طريق الضغط على "CTRL-X". سيكون لديك فرصة لتأكيد حفظ بكتابة "Y"ثم ضغط على "ENTER"من أجل تأكيد موقع حفظ الملف. بعد هذا، نحن بحاجة إلى إعادة تشغيل خادم الويب Apache من أجل التعرف التغييرات الجديدة. يمكنك القيام بذلك عن طريق كتابة هذا:

sudo service apache2 restart

تثبيت وحدات PHP

لتعزيز وظيفة PHP، يمكننا تثبيت بعض الوحدات الإضافية بشكل اختياري لعرض الخيارات المتاحة لوحدات والمكتبات PHP، يمكنك كتابة هذا في النظام الخاص بك:

apt-cache search php5-

إن النتائج هي كل المكونات الاختيارية التي يمكنك تثبيتها. وسوف يعطيك وصفا موجزا عن كل منهما:

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
. . .

للحصول على المزيد من المعلومات حول ما تفعله كل وحدة، يمكنك إما البحث في الإنترنت، أو يمكنك أن تبحث في وصف طويل بكتابة:

apt-cache show package_name

سيكون هناك الكثير من المخرجات، ,ولكن هناك خانة تسمى Description-en والتي تحوي على تفسير أطول من الوظائف التي توفرها الوحدة النمطية.

على سبيل المثال، لمعرفة ما تقوم به وحدة PHP5-CLI، يمكننا أن نكتب هذا:

apt-cache show php5-cli

جنبا إلى جنب مع كمية كبيرة من المعلومات الأخرى، وستجد شيئا يشبه هذا:

. . .
SHA256: 91cfdbda65df65c9a4a5bd3478d6e7d3e92c53efcddf3436bbe9bbe27eca409d
Description-en: command-line interpreter for the php5 scripting language
This package provides the /usr/bin/php5 command interpreter, useful for
testing PHP scripts from a shell or performing general shell scripting tasks..
The following extensions are built in: bcmath bz2 calendar Core ctype date
dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring
mhash openssl pcntl pcre Phar posix Reflection session shmop SimpleXML soap
sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader
xmlwriter zip zlib.
.
PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
open source general-purpose scripting language that is especially suited
for web development and can be embedded into HTML.
Description-md5: f8450d3b28653dcf1a4615f3b1d4e347
Homepage: http://www.php.net/
. .

وإذا قررت بعد البحث، أنك ترغب في تثبيت حزمة ما، يمكنك القيام بذلك باستخدام أمر apt-get install مثلما كنا نفعل في برامج أخرى. فإذا قررنا أن PHP5-CLI هو الشيء الذي نحتاجه، يمكننا أن نكتب:

sudo apt-get install php5-cli

وإذا كنت تريد تثبيت أكثر من وحدة، يمكنك أن تفعل ذلك من خلال كتابتها كلها مفصولة بمسافة بعد أمر apt-get install مثل هذا:

sudo apt-get install package1 package2 ...

عند هذه النقطة، ستكون حزمة LAMP الخاصة بك قد ثبتت . ولكن ينبغي اختبار PHP بالرغم من ذلك.

الخطوة الرابعة - اختبار PHP على خادم الويب الخاص بك

من أجل اختبار أن نظامنا تم إعداده بشكل صحيح لPHP، يمكننا إنشاء برنامج نصي PHP بسيط جدا. سنطلق عليه info.php . من أجل أن يكون أباتشي قادرا على العثور على الملف وخدمته بشكل صحيح، ينبغي حفظه في مجلدا محدد جدا، وهو ما يسمى "web root"في أوبونتو 14.04، يقع هذا الدليل في /var/www/html/. حيث يمكننا إنشاء ملف في ذلك الموقع عن طريق كتابة:

sudo nano /var/www/html/info.php

هذا سيفتح ملفا فارغا. وسنضع النص التالي، وهو كود PHP صالح، داخل الملف:

<?php
phpinfo();
?>

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

http://your_server_IP_address/info.php

الصفحة التي ستظهر ينبغي أن تكون مشابه من هذا القبيل:

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

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

sudo rm /var/www/html/info.php

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

خاتمة

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

  • تثبيت وورد نظام إدارة المحتوى الأكثر شعبية على شبكة الأنترنت
  • إعداد PHPMyAdmin للمساعدة في إدارة قواعد البيانات MySQL الخاص بك من متصفح الويب.
  • معرفة المزيد عن MySQL لإدارة قواعد البيانات.
  • تعلم كيفية إنشاء شهادة SSL لتأمين حركة المرور إلى خادم الويب الخاص بك.
  • تعلم كيفية استخدام SFTP لنقل الملفات من وإلى الخادم الخاص بك.

هذه المقالة مترجمة من موقع DigitalOcean


تجسيد تكنولوجيا النانو بشكل ثلاثي الأبعاد مع برمجيات مفتوحة المصدر

$
0
0

يساعد مشروع التيمفيز tomvizالمفتوح المصدر الجديد على تصوير وتجسيد تكنولوجيا النانو بشكل ثلاثي الأبعاد.
تبنى أجهزة الكمبيوتر الحديثة بواسطة تنكولوجيا النانو حيث يحتوي المعالج على مليارات الترانزستورات، كل واحد يحوي حوالي 14 نانو متر. يقتصر البت الواحد من المعلومات في محرك القرص الثابت على نطاق دوران 10نانو متر في قرص الـ75 ميل في الساعة.
يحتوي التسارع في الهواتف الذكية على نوابض نانو تقيس قوة الجاذبية لتحديد التوجه.
الحوسبة هي علم النانو ويستخدم المبرمجون النانو في كل سطر برمجي.


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

 

التصوير الثلاثي الأبعاد لمواد النانو هو أمر ضروري لتطوير مجموعة واسعة من التكنولوجيات الجديدة، بما في ذلك خلايا الوقود الهيدروجينية المستخدمة في سيارات الطاقة النظيفة.


أصبح مؤخراً تصوير أجسام النانو في جميع الأبعاد الثلاثية مهمة هامة. أصبحت الأجهزة المبتكرة في سياق الحوسبة كالفينفيت ترانزستورFINFET transistor  يتم تصنيعها ببنية ثلاثية الأبعاد ومعقدة. تحسين سرعة الحاسبات والحفاظ على قانون مور يتطلب توصيفا كاملا من كل النواحي.
يمكن للمجهر الإلكتروني تصوير تكنولوجيا النانو بشكل ثلاثي الأبعاد بواسطة التقنية التجريبية المعروفة باسم التصوير المقطعي للإلكترونelectron tomography. مشابه لمفهوم ـCT للمسح الطبي- والتي يُعمل بها فقط في مقياس النانو- حيث تسمح سلسلة من صور الإسقاط الملتقطة حول العينة بإعادة بناء الحجم بشكل كامل للكائن. ولكن مع ذلك فهي عملية معقدة تعتمد اعتماداً كبيراً على البرمجيات في كل خطوة من العملية، تبدأ من إعادة بناء الثلاثي الأبعاد إلى التجسيد. ومن أجل التصوير المقطعي للإلكترون، هناك حاجة ملحة لبعض البرمجيات غير الموجودة والمنصات مفتوحة المصدر.
بدأ هذا العام مشروع لتمفيز tomviz بمنحة من وزارة الخارجية الأمريكية لإعادة بناء مقطعي بشكل متقدم ولتصوير تكنولوجيا النانو. في هذا التطبيق السهل الاستخدام وعن طريق منصة عمل يمكن القيام بتشكيل ورسم وتحليل وتشريح مجموعة بيانات كبيرة الحجم. وتوفر هذه المنصة واجهة رسومية قوية حيث توجد فيه مجموعات البيانات المتعددة والخرائط الملونة والصور الأخرى التي يمكن استخدامها بشكل مجتمع ويمكن حفظ هذه الكائنات كصورة أو كملفات فيديو متحركة. البيانات التي يتم جمعها يمكن تحليلها أكثر من خلال الرسوم البيانية والإحصاءات المتعددة الترابط والفلاتر المتعددة وسكريبتات بايثون مخصصة الاستخدام. ويمكن أيضاً القيام بإعادة البناء المقطعي للبيانات التجريبية داخل التيمفيز.

 

يستخدم التصوير المقطعي للإلكترون العديد من الصور المسقطة لإعادة بناء الكائن بشكل ثلاثي الأبعاد


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

 

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


سوف تصبح التيمفيز في الشكل النهائي مجموعة أدوات كاملة للتصوير الثلاثي الأبعاد لمواد النانو، من إعادة البناء إلى التجسيد. باستخدام المكتبات ثلاثية الأبعاد مفتوحة المصدر (VTK و ParaView) سيوفر هذا المشروع الناشئ أداةً ضرورية لتحليل البيانات بشكل مقطعي. ستتيح البايثون مع واجهات الـNumPy سهولة في التنفيذ ومشاركة معالجة البيانات المعقدة وإعادة البناء للأساليب المطورة من قِبل الباحثين. لمواكبة مجموعات البيانات البرمجية الحقيقة سيتم إطلاق تكنولوجيا النانو تحت رخصة Creative Commons من أجل تسليط الضوء على هذه المنصة وتشجيع التطويرات الجديدة في هذا المجال.
يمكن للعلماء وللمبرمجين وللفضوليين تحميل إصدارات التيمفيزالجاهزة للاستخدم.
ويمكن للمطورين الوصول إلى كود المصدر من GitHub.

 

لقطة من واجهة رسومية لتيمفيز 0.2



يتكون مشروع التيمفيز بفضل مكتب وزارة الطاقة للعلوم DOE و SBIR #DE-SC0011385. وأيضاً بفضل VTKو Paraviewلتوفيرهم أساسا لكود المصدر المفيد. وأيضاً بفضل Elliot Padgett لمجوعة بيانات محفزات النانو. ولمجموعة Robinson للجسيمات شديدة التشعب. ولـFijiو serialEMلصنعهم لأدوات التصوير الكبير المفتوحة العلمية للفحص المجهري.

 

هذه المقالة مترجمة من الإنجليزية من موقع opensource.com

كيفية تثبيت حزمة Linux, nginx, MySQL, PHP: LEMP على أوبنتو 14.04

$
0
0

مقدمة

حزمة LEMP هي مجموعة من البرامج التي يمكن استعمالها من أجل خدمة صفحات الويب وتطبيقات الويب ديناميكيا. و هو اختصار الذي يصف نظام التشغيل لينكس مع خادم الويب Nginx و يتم تخزين البيانات في قاعدة بيانات MySQL وتتم معالجة الصفحات الديناميكية بواسطة PHP. في هذا الدليل، سوف نتعرف على كيفية تثبيت حزمة LEMP في خادم أبونتو 14.04. و سنقوم بشرح كيفية الحصول على بقية المكونات وتشغيلها.

المتطلبات الأساسية

قبل أن تبدأ مع هذا الدليل، يجب أن يكون لديك حساب مستخدم منفصل غير جذر non-root معد مسبقا على الخادم الخاص بك. يمكنك تعلم كيفية القيام بذلك من خلال استكمال الخطوات 1-4 في إعداد الخادم الأولي لأوبونتو 14.04

بعد ذلك سجل الدخول إلى الخادم الخاص بك مع هذا المستخدم. بعدها ستصبح جاهزا لبدء الخطوات الموضحة في هذا الدليل.

الخطوة الأولى - تثبيت خادم ويب Nginx

من أجل عرض صفحات الويب لزوار موقعنا سنستخدم خادم Nginx وهو خادم ويب حديث ومتطور.

ولأن هذا البرنامج يمكنك الحصول عليه من مستودعات أبونتو الافتراضية فهذا يعني أننا يمكن استخدام أمر apt لإكمال التثبيت.

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

sudo apt-get update
sudo apt-get install nginx

في أوبونتو 14.04، يتم إعداد Nginx ليصبح جاهزا للعمل بعد التثبيت مباشرة.

ويمكنك معرفة إذا كان الخادم يعمل أم لا عن طريق الوصول إلى اسم نطاق الخادم الخاص بك أو عنوان IP العام في متصفح الويب.

إذا لم يكن لديك اسم نطاق يؤشر لخادمك و لا تعرف عنوان IP العام لخادمك يمكنك العثور عليه عن طريق كتابة أحد الأوامر التالية في سطر الأوامر:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
111.111.111.111
fe80: 601:17ff:fe61:9801

أو يمكنك استخدام هذه:

curl http://icanhazip.com
111.111.111.111

جرب أحد السطور التي ظهرت لديك في متصفح الويب، يجب أن يأخذك إلى الصفحة الافتراضية لـNginx :

http://server_domain_name_or_IP

الصفحة الافتراضية Nginx

إذا كنت ترى الصفحة المذكورة أعلاه، فإنك قمت بتثبيت Nginx بنجاح.

الخطوة الثانية - تثبيت MySQL لإدارة بيانات الموقع

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

sudo apt-get install mysql-server 

ملاحظة: في هذه الحالة، لا توجد حاجة لتشغيل sudo apt-get update. لأنه قمنا بتنفيذه في الأوامر أعلاه عند تثبيت Nginx. لهذا يجب أن يكون فهرس الحزم محدثا في جهاز الكمبيوتر حتى الآن. أثناء التثبيت، سوف يطلب منك الخادم الخاص بك تحديد وتأكيد كلمة مرور ميسكل للمستخدم "root". حيث أن هذا هو الحساب الإداري في ميسكل (MySQL ) الذي يمتلك امتيازات أعلى. لهذا يجب التفكير في الأمر بأنه يشبه حساب root للخادم نفسه ( والذي تعده هو مخصصا لـ MySQL فقط على كل حال). عند اكتمال التثبيت، نحن بحاجة لتشغيل بعض الأوامر إضافية للحصول على بيئة ميسكل (MySQL ) آمنة بشكل أفضل. أولا، نحن بحاجة لنخبر ميسكل (MySQL ) بأن تنشي هيكل لمجلدات قواعد البيانات حيث ستخزن معلوماتك الخاصة. يمكنك القيام بذلك عن طريق كتابة:

sudo mysql_install_db

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

sudo mysql_secure_installation

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

الخطوة الثالثة – تثبيت معالج PHP

الآن لدينا Nginx لخدمة صفحاتنا و MySQL لتخزين وإدارة البيانات، ولكن ما زلنا بحاجة إلى شيء لتوصيل هذاين الجزأين معا وتوليد المحتوى الديناميكي. يمكننا استخدام PHP لهذا الغرض.

وبما أن Nginx لا يحتوي على قدرة لمعالجة PHP بشكل أصلي مثل بعض خوادم الويب الأخرى، سنحتاج إلى تثبيت معالج php5-fpm والتي ترمز إلى "مدير عملية fastCGI". و سنخبر خادم Nginx بأن يمرر طلبات PHP إلى هذا البرنامج لمعالجتها. يمكننا تثبيت هذه الوحدة وسنقوم أيضا بتثبيت حزم مساعدة إضافية من شأنها أن تسمح PHP بالتواصل مع قاعدة البيانات في الخلفية. ستقوم عملية التثبيت بجلب ملفات PHP الأساسية اللازمة. للقيام بذلك يجب كتابة:

sudo apt-get install php5-fpm php5-mysql

إعداد معالج PHP

لدينا الآن عناصر PHP مثبتة، ولكن نحن بحاجة إلى إجراء تغيير طفيف لجعل الإعدادات لدينا أكثر أمنا.

افتح ملف إعدادات php5-fpm مع امتيازات root:

sudo nano /etc/php5/fpm/php.ini

ما نتطلع إليه في هذا الملف هو المتغير الذي يحدد cgi.fix_pathinfo. حيث ستجدده محددا كتعليق بواسطة (;) ومضبوط إلى "1"بشكل افتراضي.

هذا المتغير غير آمن للغاية لأنه يخبر PHP بأن تشغل أقرب (في التسمية) ملف تجده إذا لم تجد ملف PHP المتطابق. هذا في الأساس من شأنه أن يسمح للمستخدمين بصياغة طلبات PHP بطريقة تسمح لهم بتنفيذ البرامج النصية التي لا ينبغي السماح لهم بتنفيذها.

وألان سوف نقوم بتغيير uncommenting في السطر وكتابة "0"مثل هذا:

cgi.fix_pathinfo=0

احفظ وأغلق الملف عند الانتهاء.

نحن بحاجة فقط إلى إعادة تشغيل معالج PHP بكتابة:

sudo service php5-fpm restart

وهذا سيفعّل التغيير الجديد.

الخطوة الرابعة - تكوين Nginx لاستخدام معالج PHP

الآن، لدينا كل المكونات المطلوبة مثبتة لكن الإعداد الوحيد الذي ما يزال عليك القيام به هو إخبار Nginx بأن يستخدم معالج PHP للمحتوى الديناميكي.

ونحن نفعل ذلك على مستوى كتلة الخادم (كتلة الخادم تشابه virtual hosts في أباتشي). من أجل فتح كتلة إعدادات Nginx :

sudo nano /etc/nginx/sites-available/default

حاليا، بعد إزالة التعليقات من ملف كتلة الخادم الافتراضي Nginx يبدو مثل هذا:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location / {
        try_files $uri $uri/ =404;
    }
}

نحن بحاجة إلى إجراء بعض التغييرات على هذا الملف لموقعنا.

  • -أولا، نحن بحاجة إلى إضافة خيارindex.php كقيمة الأولى من التوجيه index للسماح بتشغيل ملفات index PHP عند طلب الدليل.
  • كذلك نحتاج لتعديل التوجيه server_name للإشارة إلى اسم نطاق الخادم أو عنوان IP العام.
  • يتضمن ملف التكوين الفعلي على إعدادات لمعالجة الطلبات عند وقوع خطأ. سنقوم بإزالة التعليق لتفعيل هذه الإعدادات.
  • ولتجهيز PHP الفعلي، سوف نحتاج إلى إزالة علامات التعليق من قسم آخر.و سنحتاج أيضا إلى إضافة توجيه try_files للتأكد من Nginx لا يمرر طلبات سيئة لمعالج PHP لدينا.

التغييرات التي نحتاجها ستكون على النحو التالي:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name server_domain_name_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
    }
}

عندما تقوم بهذه التغييرات المذكورة أعلاه، يمكنك حفظ وإغلاق الملف.

قم بإعادة تشغيل Nginx لتفعيل التغييرات الجديدة:

sudo service nginx restart

الخطوة الخامسة - إنشاء ملف PHP لاختبار الإعدادات

ينبغي الآن أن تكون حزمة LEMP جاهزة. ولكن يجب عمل اختبار للتأكد من أن Nginx يمكنه تسليم ملفات .php بشكل صحيح لمعالج PHP.

يمكننا القيام بذلك عن طريق إنشاء ملف PHP في مجلد الجذرroot (المحدد في كتلة الإعدادات) لدينا.لهذا ينبغي فتح ملف جديد باسم info.php ضمن مجلد الجذر الخاص بك في محرر النصوص الخاص بك:

sudo nano /usr/share/nginx/html/info.php

ويمكننا أن نكتب هذا في ملف جديد. حيث أن هذا رمز PHP صالح يرجع بمعلومات منسقه حول خادمنا:

<?php
phpinfo();
?>

عند الانتهاء، احفظ وأغلق الملف.

والآن، يمكنك زيارة هذه الصفحة في متصفح الويب الخاص بك عن طريق زيارة اسم نطاق الخادم الخاص بك أو عنوان IP العام تليها/info.php:

http://server_domain_name_or_IP/info.php

ويجب أن تشاهد صفحة الويب التي تم إنشاؤها بواسطة PHP بمعلومات عن الخادم الخاص بك:

إذا رأيت الصفحة التي تبدو مثل هذه، فإنك قد قمت بإعداد وتجهيز PHP مع Nginx بنجاح.

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

الآن، قم بإزالة الملف عن طريق كتابة:

sudo rm /usr/share/nginx/html/info.php

خاتمة

الآن أصبحت تمتلك حزمة LEMP جاهزة على خادم أوبونتو 14.04 وهذا يعطيك أساسا مرنا جدا لخدمة محتوى الويب للزائرين.

هذه المقالة مترجمة من الانجليزية.

تطورات الطباعة العربية حتى عام 1975

$
0
0

هذه المقالةنشرت في الجمعية البريطانية للدراسات شرق الأوسطعام 1975م ، بواسطةوولتر تريسي (1914–1995) مصمم رسومي وطباع عمل في شركة Linotypeمنذ عام 1947 كمدير لقسم تطوير الخطوط حتى تقاعد عام 1977، وكان المسؤول في شركة لينوتايب عن تطوير أنظمة النشر الالكترونية المخصصة للغة العربية، قام بتصميم العديد من الخطوط الشهيرة من بينها Jubilee و Maximus والعديد من الخطوط العربية من مثل المدينة والقاضي وشريف والواحة. قام بترجمة المقالة الأصلية رضوان أمزورو وقمت بالتعديل عليها وإضافة العديد من الوسائط المرئية لإغنائها وتوثيق تلك الفترة المهمة من تطور الطباعة العربية.

 

رسمة لولتر تريسي في متحف Type Museum بلندن تخليدا لجهوده في العمل المطبعي

 

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

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

وعلى عكس ذلك، فإن المسألة تتعلق بعملية التنضيد أو التصنيف. فالمنضد يجب أن يكون ملما بأشكال الحروف التي منها تكون اللغة معبرة إضافة إلى الأعراف التقليدية لتلك الأشكال. إن اللغات الأوروبية تتطلب حرفين اثنين، الشكل الكبيرة والصغيرة، في المخطوط الروماني؛ وبعض المخطوطات الأخري، على سبيل المثال الروسي، اليوناني، الأرميني، كلها تتبع نفس العرف. في معظم مخطوطات العالم، تعتبر الحروف الفردية مُعبرة في شكل واحد فقط، لكن تتضمن هذه الحروف بعض التعقيدات الخاصة – خصوصا عند تمثيل حروف العلة في ارتباطها بعنصر ساكن (حرف ساكن) في مقطع لفظي عوضا عن حروف منقسمة أو متقطعة. هذا ينطبق بشكل صحيح على اللغة العربية، التي لها خاصية اضافية وهي كونها ذات أحرف متصلة؛ هذا يعني أن الحروف مرتبطة مع بعضها البعض مثل الكتابة اليدوية الشخصية. وحتى وقت قريب، هذه الخاصية، والاختلافات في شكل الحرف الذي تنتج عنه جعلت من التنضيد اليدوي والميكانيكي للغة العربية مهمة شاقة أكثر من التنضيد في اللغات الأوروبية. ومع ذلك، فإن تنضيد اللغة العربية قد بدأ شيئا ما مبكرا في تاريخ هذه الحرفة، لأن المساهمات المهمة في هذا المجال والتي كانت عن طريق الثقافة العربية أثارت اهتماما جديا لدى الباحثين الأوروبيين خلال عصر النهضة. وقد كان الكتاب الأول الذي تضمن نصوصا مكتوبة بالخط العربي قد طُبع في مدينة فانو بإيطاليا في وقت مبكر سنة 1514. ويُعرف أيضا أن نسخة من القرآن الكريم قد طُبعت في فنيس عام 1518، بالرغم من عدم وجود نسخة تكون قد بقيت إلى الآن. وقد كان روبرت غرانجون، الفرنسي الكبير السباك للخط، قد قطّع خرامات للخط العربي الذي كان متضمنا في طباعة كتاب بروما عام 1585. وبالفعل، فإنه قطع مجموعة من الخطوط العربية، وبعضها بقي إلى يومنا هذا في أرشيفات المطبعة الوطنية في باريس. وفي أوكسفورد، قام رئيس الاساقفة Laud - الذي خصص كرسيا شرفيا للغة العربية عام 1635- بتشجيع مكتب الطباعة بالجامعة على شراء الخطوط العربية من هولندا، وهذا الذي كان بالفعل سنة 1637. وبالتالي، فإن الخط العربي الأول الذي أُنجز بانجلترا كان قد قُطّع من طرف ويليام كاسن عام 1720.

 

نموذج من خط civilité من الخطاط Granjon

صفحةمن كتاب الساعات السواعي المطبوع في فانو، إيطاليا في 12 أيلول سبتمبر 1514 وهو يعد أول كتاب مطبوع باللغة العربية.

من طباعة وتصميم Gregorio de Gregorii الإيطالي.

صورةمن أول الطبعات للقرأن الكريم الباقية لحد الآن في الغرب طبع ما بين 1534

صورة من كتاب الإنجيل بطباعة Granjon  عام 1591م

 

ولا يمكن القول أن الجودة الفنية لهذه الخطوط العربية المنجزة بأوروبا كانت ذات ترتيب عال ومتميز. هذا بالطبع لم يكن بسبب نقص أو انعدام المهارة. ف Granjon، وهو واحد من أبرز مقطعي الخرامات المكتوبة خلال القرن السادس عشر، كان معروفا بجمالية أشكاله في الخط الروماني، وقد أنتج خطا من نوع civilité في محاكاة للخط اليدوي الرسمي الذي كان شائعا بفرنسا آنذاك وذلك قبل أن يُقطع الخط العربي الأول له. ويرجح أن الباحثين الأوروبيين رفضوا أن يعيروا مخطوطاتهم العربية القيمة لمصممي الخط، واكتفوا بتزويدهم فقط بنسخ لهم مكتوبة يدويا بالحروف العربية. وبالتالي، لم يتبقى لمقطعي الخرامات المكتوبة سوى اتباع هاته النماذج الناقصة. (صنع نوع من الخط يتطلب تشكيل الحرف على نهاية قضيب من الفولاذ. ثم يُضرب هذا المثقاب على كتلة صغيرة من النحاس لتشكيل مصفوفة، والتي تم تركيبها في قالب. ثم سكب المعدن المنصهر في القالب واستخراج نوع الخط بعد ذلك - عملية الصب هذه تتكرر عدة مرات لاستخراج أعداد كافية من هذه الحروف. تمت مكننة عملية السكب في السنوات الأولى من القرن التاسع عشر، ولكن استمر تقطيع وتجهيز المثاقب باليد حتى اختراع آلة النحت او الحفر pantographic في عام 1885.)  وحتي مطلع القرن التاسع عشر لم يكن تصميم الخط العربي محترما قط، رغم استعمال فن التصوير لتزويد مصممي الخط بنماذج جيدة، وتقديم آلة تقطيع الخرامات البنتوغرافية. وقد أدى تأسيس دور سباكة الحروف في مدن الشرق الأدنى دورا كبيرا لتصميم الخط العربي.

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

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

جهاز المنضدة السطرية Monotype

لوحة المفاتيح لآلة المنضدة السطرية

منضدة الحروف الأحادية الميكانيكية Linotype

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

عينة من الخط العربي المبسط منجز من نظام Linofilm VIP

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

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

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

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

وبالرغم من التنضيد الميكانيكي للعربية كان شيئا مألوفا لمدة 60 عاما أو يزيد، إلا أن لديه بعض النقص، خصوصا فيما يخص إدخال رموز وعلامات التشكيل في الأعمال التعليمية – عملية بطيئة في التنضيد المعتمد على الحديد وغير دائم في الطباعة الحالية. وبالتالي كان من المتوقع من رواد الأعمال في الشرق الأوسط إبداء اهتمام جدي لإيجابيات التركيب المعتمد على التصوير، وأنهم كان يجب عليهم التوجه إلى شركة Linotype-Paul في لندن والتي لديها سمعة حسنة في العمل الابداعي في مجال أنظمة التنضيد التصويري الذي يُؤدى عن طريق الحاسوب. نظام لاينوتايب-بول الأول المجهز للتركيب العربي كان يُعرف ب Linotron 505C التي يتكون من أنبوب كاتود-ري في مجموعته الضوئية متبوعا بجهاز Linofilm VIP والذي يملك نظام ضوئي مباشر. كلا الآلتين لديها جهاز حاسوب مثبت في وحدة الصورة، وبالتالي الحاسوب وبرامجه هي التي بسطت بشكل جذري العمليات التقليدية للتركيب اللغوي العربي.

جهاز Linotron 505 من شركة Linotype للمزيد حوله تابع هذا الفلم الوثائقي

تتكلف البرامج المثبتة على جهاز الحاسوب بعدد من الوظائف المختلفة. والأكثر أهمية هي عملية اختيار الحرف؛ بمعنى أن جهاز الحاسوب هو الذي يقرر ما إذا كان الشكل المناسب للحرف الذي سيتم استعماله استجابة لضربات المفاتيح يجب أن يكون مبدأي أو وسطي أو نهائي أو على شكل نسخة الحرف غير المرتبطة. الوظيفة الثانية للبرنامج تتمثل في تجميع اللوغوتايب الممثل بضربتي مفتاحين متفرقين للحرف: مثال على ذلك، يمكن للمشغل أن يفتح الحرفين "ل"و "م"، وجهاز الحاسوب سيتعرف عليها كلوغوتايب خاص – و هناك تقريبا مئة في مصفوفة الحروف المتوفرة في نظام 505C. (اللوغوتايبس التي تضيف الكثير من الأناقة التخطيطية لمظهر النص، يمكن تفعيله في النظام لبعض الأنواع من الأعمال.). مصفوفة الحروف تتكون أيضا من عشرين حرف علة ورموز التشكيل، كل منهم في موضع أعلى الحرف أو أسفله. جهاز الحاسوب مبرمج على أن يقوم باختيار النسخة المناسبة للرمز لكل حرف على حده وذلك وفقا لنمطه.

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

أما إذا لم يكن نقل كل هذه المهام من الكمبيوتر إلى المشغل كافيا، فهناك خياران آخران نافعان متوفران لمستخدم Linotron 505C. واحد منهما هو برنامج مزج اللغة، الذي يقوم بجعل مشغل لوحة المفاتيح قادر على تنضيد العربية والانجليزية بدون اللجوء إلى إعادة كتابة اللغة الثانية عكسيا. والاختيار الآخر هو توفير قاموس ذكي. يقوم المشغل أولا بتنضيد كل ما يخص اللغة الأولي، ومن ثم الأخرى؛ والبرنامج يحفظ اللغة الأولى بالذاكرة وعندما يكتمل الإدخال، يأتي البرنامج بكلا الجزئيين في تنسيق صحيح – العربية من اليمين إلى اليسار والانجليزية- بتباعد كلماتها بشكل صحيح ومربوطة بعرائض بشكل تلقائي- من اليسار إلى اليمين.

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

 عينة من نص مشكّل منتج بواسطة نظام Linotron 505C تظهر التصميم الجديد للخط النسخ

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

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

التطبيق الناجح لعملية التنضيد في اللغة العربية واللغات الأخرى التي تستعمل الخط العربي هو بدون شك ليس النهاية لهذه المسألة. ففي الحقيقة، فكما يوجد في تنضيد اللغات الأوروبية، فهي بداية جديدة، لأن أنواعا كثيرة من الطباعة - التي في طبيعتها كانت صعبة في الإنتاج - أصبحت شيئا لها أشكال وأنواع مختلفة في كل من الإنتاج والتوفير. والأمثلة الواضحة على ذلك هي الصحف اليومية التي تتكون من عدد كبير من النصوص من مصادر مختلفة لتكون مجمعة في شكل تركيبي وتطبع كلها في أعداد كبيرة في وقت وجيز وخلال ساعات فقط؛ والقاموس هو الآخر مثال على ذلك إذ يحتوي على مجموعة متنوعة معتبرة من أنماط النصوص، والحركات والرموز التيبوغرافية الضرورية لهدف التمييز. والمنفعة الأساسية التي من الممكن أن يبحث عنها الجميع والتي لم تعد متوفرة على التركيب الميكانيكي هي تطوير أنماط الخط عوضا عن شكل النصوص المعروف ب "النسخ". في أنظمة التركيب التصويري، أو على الأقل في بعض منها، من الواجب الآن أن يكون خلق بعض الخطوط الجديدة ممكنا بناءً على شكل الخط المسمى "الرقعة"حتى نصوص نستعليق "nasta’liq"التي ستضيف للطباعة العربية تنوعا فيما يخص التعبير المرئي الذي يعتبر ضروريا ومهما في دور النشر المتطورة جدا. وهذا المظهر من التنضيد الفوتوغرافي – تأثيره على خلق خطوط جديدة – لا بد له أن يغير الفكرة أو الرأي الذي من خلاله يُنظر إلى مخططات الإصلاح النصي العديدة التي يدُعي إليها من حين لآخر. وسيستمر تبسيط أشكال الحرف العربي ليكون نشاطا ذو قيمة (طبعا في حدود القبول العام)، لكن يجب أن يكون لأسباب غير تقنية.

 

 

سر استخدام جوجل لأمر (Prerender) ؟

$
0
0

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

إذا ما سر استخدام جوجل لهذا الأمر ؟

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

فعلى سبيل المثال إذا بحثنا عبر جوجل عن "موضوع"وقمنا بحفظ الصفحة وعرض مصدرها سنجد الأمر موجود:

<link href="http://mawdoo3.com/" rel="prerender">

حيث "موسوعة موضوع"هو النتيجة الأولى وبهذا الأمر يقوم المتصفح بزيارة الرابط وتحضير الصفحة للمستخدم. هذا الأمر مدعوم من متصفح كروم وليست متأكد من باقي المتصفحات (يمكنك متابعة زيارة المتصفح للرابط بالخفاء من خلال الضغط على Shift+ESC في متصفح كروم).

كيف تبني وتضبط إعدادات طابعة 3D مفتوحة المصدر على نظام لينكس

$
0
0

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

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

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

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

طابعة الريبراب برو اورميرود (RepRapPro Ormerod) هي إضافة حديثة لخط الريبراب (RepRap) للطابعات ثلاثية الأبعاد. ويستعمل برنامج مفتوح المصدر لتشغيل الجهاز المفتوح. لوحة المتحكم على الاورميد هي الدويت (Due). لوحة هذا الأخير تستعمل نفس نواة الشريحة مثل لوحة الأردوينو ديوالحديث وتشتمل أيضا على جهاز متحكم ومصدر تحكم، وايثرنت (Ethernet) ومنفذ بطاقة التخزين الصغيرة. على طول جانب الديوت (Duet) هناك صف من الرؤوس الملاحقالتي يمكن استعمالها لتوسيع استخدامات الحاسوب. مصدر الطاقة الأول على الاورميرود (Ormerod) هو خط 12 فولط مأخوذة من كهرباء الحاسوب.

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

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

البناء

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

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

  • إما أداة تمويج أو معدن تلحيم (ولحام) لربط ترمستور. وكنت قد استعملت الأخير ولم أحتاج إلى أداة تمويج.

  • مجموعة ذات جودة عالية من المفكات مقياس من 1.5 ملم إلى 4 ملم في الحجم. من الأحسن أن تكون المفكات قادرة على تكوين ربط قوي على مسمار الربط.

  • بعض اللولبيات الثاقبة للعمل اليدوي لكي تنظف بعض أجزاء الطابعة ثلاثية الأبعاد. بعض الأجزاء المطبوعة قد تحتاج لبعض اللمسات الأخيرة كإزالة البلاستيك الزائد من الجزء.

  • قد تكون مطرقة المطاط نافعة لإدخال القضبان المعدنية بقياس 12 ملم في قاعدة الاكريليك. وقد تستدعي هذه العملية أيضا بعض القطع الصغيرة الخشبية التي قد تتوفر عليها بين يديك.

  • المفكات: في حين أن معظم البراغي في العلبة تحتاج إلى الثاقب اللولبي المتري، هناك أوقات يستعمل فيها المفك لإزالة المسمار من محرك الدوران.

  • مفتاح براغي قابل للتكيف سيكون نافع لإيقاف بعض البراغي من الدوران عندما تشدد الربط. كثير من البراغي تتناسب مع ثقوب البراغي في الأجزاء البلاستيكية وبالتالي لا تتطلب أي امساك عند تشديد الترباس.

  • بعض المقصات

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

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

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

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

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

نصائح لبناء أكثر سهولة

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

هنا بعض النصائح التي لا يتضمنها الدليل:

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

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

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

  • سوف تحتاج أيضا إلى استعمال بعض التشحيم للقضيب الخيطي على المحور z. لم ألاحظ ذلك في التعليمات في دليل البناء، ولكن من دون تشحيم وجدت أن أجزاء تتحرك في الأسفل.

  • بعض المنتديات توصي أيضا باستبدال المولة العلوية على القضيب الخيطي بمولة نحاسية أطول. لأن النحاس هو أخف من الصلب المقاوم للصدأ وينبغي أن يكون التثبيت في الغالب على المولة الأبسط والأرخص.

حزمة البرنامج

من الممكن أن يكون التعامل شاقا شيء ما خلال عملية الاستعمال والتركيب الخاص بالطباعة ثلاثية الأبعاد خصوصا عند التعامل مع أدوات عديدة ومكونات ملفات قد تبدو لك جديدة لتبدأ في استعمال الطباعة ثلاثية الأبعاد. على المستوى الأدنى هناك ملفات gcodeالتي تستعمل مجموعة من التعليمات بأن اللوحة الإلكترونية الموجودة على الطابعة تتعرف على كيفية تنفذ الأوامر. وهناك أمثلة على أوامر gcode مثل G1 X60 التي تحرك رأس الطبع لمحور X تنسيق 60 ومحور Y تنسيق 0. بالإضافة لذلك، هناك أوامر التحريك وطرق لتشغيل أو إلغاء المسخنات مثل ما يوجد على الجزء الساخن ورأس الطباعة وأوامر أخرى لإخراج كمية معينة من البلاستيك على نسبة معينة.

وفي المستوى الأعلى قليلا تجد الملفات الخاصة من نوع STL. هذا نوع من الملفات التي قد تجدها على بعض المواقع الإلكترونية مثل موقع Thingiverse. وفي أعلى السلسلة نجد ملفات OpenSCAD.

ولتحديث برنامج الفورموير الخاص بالاورميرود، يجب استعمال الاردينو اي دي اي Arduino IDE. يجب أن يكون هذا الأخير في نسخته 1.5.7 أو ما جاء بعدها لكي يكون داعما للاردينو ديو Arduino Due. وبالرغم من أن Arduino IDE متضمن في حزم اغلب توزيعات لينكس، فستجد أن النسخة القديمة فقط هي التي تأتي في حزمة IDE بتلك الطريقة. وحيث هناك حزم جاهزة تدعم 32 و 64 بت لنظام لينكس فليس هناك أية حزمة جاهزة ل Arduino IDE لنظام لينكس اي ار ام ARM. وبالتالي إذا كنت ترغب في التحكم في الاورميرود الخاص بك من على جهاز اي ار ام ARM فيمكنك أن تجد من السهل أولا تحديث الفورموير على الاورميرود من الحاسوب.

يسمح لك برنامج Pronterfaceبالتتحكم بالطابعة وملفات الطبع ويمكنك من ربط الاورميرود بالحاسوب من خلال كابل USB. يمكنك استخدام النسخة الحديثة من Pronterface من خلال نسخ ال git repositoryالخاص به وتشغيل المسار ./ormerod.sh بعض الاعتماديات الخاصة ب Python تحتاج لتثبيت مثل pyserial و wxpython وهما متوفرين على معظم توزيعات نظام لينكس.

ستجد بعض الصور المأخوذة من واجهة Pronterface. في الجهة السفلى بأدنى واجهة Pronterface يمكنك ملاحظة الحرارة الحالية لرأس الطباعة والجزء الساخن الأخير. وباختيار Watch box ستتمكن من الاطلاع على الحرارة على شكل رسوم تباينية على طول مدة الاستعمال. ويمكنك تحديد نسبة الحرارة لكل منهما وبالتالي يمكن بشكل مباشر إلغاء عمل المسخنات عند وصول الحرارة الهدف. الواجهة الدائرية في أعلى يسار ال Pronterface تجعلك قادرا على تحريك رأس الطباعة. هذا سيكون على مسافة من 0.1 إلى 100 ملم.

ال +y/-y تحركان الجزء الساخن اتجاه محور المحرك y (+) او بعيدا عنه (-). حركة المحور x الإيجابية ستكون بعيدة عن محور z. تكون حركة المحور z ظاهرة بجانب الواجهة الدائرية. الأزرار الثلاثة للواجهة الرئيسية التي توجد حول الواجهة الدائرية ستمكنك من الرجوع لكل محور. إرجاع المحور إلى حالته الرئيسية سيحوله إلى نقطة معروفة. مثالا على ذلك، إرجاع محور y سيحرك الأسطوانة إلى طرف واحد، عندما يلتئم المايكروسوتش ستتعرف الطابعة على أن الأسطوانة صحيحة في الطرف الواحد ومن ثم ستحرك الأسطوانة إلى الطرف الآخر للمحور y.

في وسط الواجهة هناك طبقة من ال gcode الحالي الذي تمت تعبئته. الضغط على تلك الصورة يعطي نافذة أخرى و أوامر shift+mouse wheel سيجعلك تتفحص وتلف حول الطبقات خلال عملية الطبع. في الجانب الأيمن من Pronterface يوجد مربع حوار على الطابعة ونص مكتوب يسمح لك بالكتابة بأوامر gcode للإرسال للطابعة. بعض أوامر gcode المعروفة ظاهرة على أزرار في اسفل وسط الشاشة. زر G31 سيسأل الطابعة عن القيمة التي يتوفر عليها مجس التقارب حاليا. زر GET POS يسأل الطابعة ما الذي ينسق بينها وبين رأس الطابعة.

الطباعة الأولى

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

للإجابة عن التساؤلات السابقة، يمكن للفافة أن ترجع بسهولة في حدود 3-5 ملم من الجزء الساخن عندما تبدأ بالطباعة. وسوف تشمل معظم المطبوعات على حدود حول محيط الشيء المطبوع. معظم ملفات gcode تتضمن محور التوجيه أو العودة عند بداية الملف، وبالتالي سيكون رأس الطباعة في أي مكان، لكن وجدت انه نسبيا منخفض وقريب من محور x. وسيتضمن gcode أيضا التموضع على الجزء الساخن للمطبوع، وبعد التوجيه أو العودة سيحرك رأس الطبع إلى المكان أو الموضع قبل البدء في الطبع.

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

واضطررت إلى ضبط أداة runner bearing على حامل محور x من اجل وضع زاوية الجزء الساخن بشكل صحيح لكي يبقى التمثال المثلج على الجزء الساخن. عند القيام بذلك،

فإنه من الأفضل والأكثر فائدة استخدام مفتاح براغي صغير لدفع الرأس في الثقب في الداخل مع تشديد الترباس مرة أخرى. لقد وجدت أن محاولة نقل رأس الترباس وحمله للداخل فقط من أعلى كان أقل فعالية. وبما أن محمل MR93ZZ استخدم لضبط زاوية محور x هو 9 ملم في القطر فقد وجدت أنها فكرة جيدة أن استبدل ذلك المحمل بواحد اكبر قليلا في القطر الخارجي بدلا من محاولة نقل الترباس الأصلي ومحمل المزيج داخلا. مجموعة من المحامل المماثلة من 10، 11، 12، و 13 ملم فقط ب $ 10- 15 دولارا.

عملية إرجاع محور Z تتطلب خفض رأس الطبع ليكون قريبا جدا من جهاز الطبع وإعلام الطابعة بانك الآن على Z=0. وقد وجدت من الصعب الحكم على المسافات الصغيرة المعارضة للواجهة الزجاجية العاكسة. عملية استخدام قطعة من الورقوتحويل الورق عند خفضك لرأس الطابعة ببطء ساعدتني كثيرا. وعندما يمسك رأس الطابعة بالورق قليلا يمكنك آنذاك أن تعبر نفسك في Z=0.1.

القيام بالتعديلات

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

قمت باستبدال مروحة العادية 40 ملمالموجودة على الجزء الساخن بمروحة اكثر سكونا واقل ضجيجا من فئة 40 ملم Noctua.لاحظ أن المروحة العادية التي تأتي مع الاورميرود تحول 8.1 CFM (اي 13.8 م3 / ساعة) من الهواء والمروحة التي استعملتها من فئة Noctua تحول 4.8 CFM (اي 8.2 م3/ساعة). لاحظت أيضا أن منحى التبريد يأخذ وقتا طويلا مع Noctua اكثر من المروحة العادية. لكن الفرق في الضجيج الذي تصدره كان ليل نهار وفي كل وقت. سأبحث عن مروحة هادئة التي يمكنها ان تبعث بالهواء بشكل يقارب أو اكثر من المروحة العادية في التحديثات والتعديلات القادمة. ربما يظهر أن Noctua من فئة 60 ملم مع قناة قابلة للتعديل هي المترشح والاختيار الأفضل. ومن الأكيد أنه عندما يكون هناك انبعاث هواء من خلال مروحة الجزء الساخن سيكون ذلك مهم جدا لطباعة البلاستيك ABS الذي يتوفر على نقطة ذوبان ساخنة وبالتالي يجب على المروحة أن تزيل الحرارة الزائدة.

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

احترف ال Pronterface الخاصة بك

للاورميرود نظم للتغذية الراجعة التي تستعمل لإرجاع محاورها x, y و z. للمحور y مايكروسوتش عند نهاية المحور. المحوران z و x يتقسمان استعمال مجس القرب الذي يشتغل بالأشعة تحت الحمراء. إرجاع المحور X والمحور Z يمكن أن ينفذ بدون إضافة أي عمل آخر عندما تشغل الطابعة. وقد وجدت أن القيم المعطاة لمجس القرب الذي يشتغل بالأشعة تحت الحمراء لإرجاع المحور Z تتغير شيء ما. أشياء مثل إنارة الغرفة وما إذا كان هناك حجاب والتي تعتبر مفتوحة يمكن أن يكون لها تأثير على حجم الضوء تحت الأشعة الحمراء والمرئي من طرف المجس على الاورميرود. هذا سيقودني إلى معايرة المحور Z بالإرجاع في كل مرة اشغل فيها الطابعة.

لتبسيط هذه العملية قد ترغب في فتح مسار ملف pronterface /.pronsolerc-ormerod وإضافة بعض الأزرار المخصصة لذلك. بالنسبة لي، قمت بتحريك رأس الطباعة لX60 وY0 قبل إرجاع محور Z، لذلك الزر 16 يمكن استخدامه للقيام بذلك دون الكتابة. الزر 17 (وصف بأنه "ZH 0.1"سيخبر الطابعة أن رأس الطباعة هو 0.1 ملم فوق الزجاج. كل ما تبقى هو أن يصدر الأمر G31 يدويا لنقول للطابعة ما قيمة مجس الاستشعار الذي يمكن توقعه لنرى متى يكون رأس الطباعة فوق ببضعة ملليمترات فوق جهاز الطباعة. آمل أن أجعل القيام بهذا الأمر لاحقا فقط من خلال زر أيضا، ولكن هذا ينطوي على تشغيل بعض الأوامر على الطابعة لمعرفة الوضع الحالي واستشعار القراءة لاستخدامها عند إصدار الأمر G31.

button 16 "ZH xy" G1 X60 Y0^M
button 17 "ZH 0.1" G92 Z0.1^M

تحسينات على الاورميرود 2 Ormerod

يتضمن Ormerod سرير طباعة ساخن ويمكن طباعة البلاستيك من نوع PLA و ABS. طباعة ABS تتطلب رأس طباعة ذو درجة حرارة عالية وساخنة وسرير طباعة ساخن أكثر أيضا. الأجزاء المطبوعة والثلاثية الأبعاد التي توجد على Ormerod هي مصنوعة من بلاستيك PLA. ومن المستحسن أن تقوم بتحديثات الطباعة لبعض أجزاء من Ormerod في ABS إذا كنت تخطط لطباعة ABS.

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

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

وهناك نقاش جاري فيما يخص استبدال أجهزة الاستشعار بالأشعة تحت الحمراء مع وجود تأثير للاستشعار HAL-Z. قد ترغب أيضا في القيام بطبع تحديثا بخاصية 3D لولب مزدوج Z-التروس (Double Helix Z-Gears) أو تصفح قائمة التحسينات.

وكما ترون هناك استثمار لا بأس به في الوقت والزمن لبناء وضبط طابعة 3D. لقد وجدت أني عندما أواجه مشكلة جديدة خلال عملية البناء أتمكن من الحصول على أجوبة وردود أفعال جيدة من المنتديات وقناة IRC وذلك فيما يخص كل ما يمكن القيام به لحل المشاكل والأمور المتعلقة بذلك.

لقد أصبح Ormerod 2متاح بينما كانت تجري كتابة هذه المقالة. وقد شملت التحسيناتعلى Ormerod 1 حزام تثبيت المحور Y، تبسيط تعديل مستوى السرير، الى جانب تحديثات أخرى.

 

نشرت هذه المقالة على موقع linux.comوترجمها للعربية رضوان أمزورو

Viewing all 76 articles
Browse latest View live