17 April 2006
العتاد الحر Open Source Hardware
المصادر الحرة تحمل معني كبير يشمل العديد من الجوانب ما يهمني الآن هو جانب العتاد الحر أو مايعرف بـ Open source hardware , أهداف العتاد الحرة لا تختلف عن البرمجيات الحرة ويمكنني أن اختصر الهدف الأسمى للمصادر الحرة وهي منع احتكار كل ماهو حق عام للجميع من قبل أي جهة أي كان نوعها.
المصطلح الأنسب
عندما تقرأ على الويب ستجد أن الكثير من المقالات لا تفرق بين hardware و hardware design وتطلق عليهما بشكل مختصر كلمة Hardware , معتقدين أن الجميع سيعرف أنها تصاميم العتاد , هذا الشيء نجده واضح في مجال البرمجيات فالغالبية يقول نظام لينكس والأصح جنو/لينكس . قرأت العديد من الاختصار لمعنى العتاد الحر سأوضحها كلها وافرق بينها واحدد ما الأنسب (من وجهة نظري) :
- Free hardware design : المقصود فيها تصاميم العتاد أي كان نوعه سواء معالج , متحكمات ذاكرة , .. بحيث أن هذه التصاميم يمكن نسخها وتوزيعها وتعديلها . هذا لا يعني أن التصاميم لا يمكن بيعها والاستفاده منها وهذا لا يعني أن تطبيق هذه التصاميم على العتاد يكون بشكل مجاني .
- Libre hardware design : معناها نفس المصطلح السابق ولكن تم استبدال كلمة Free بكلمة Libre لتوضح أن المقصود أن هذه التصاميم حرة وليست مجانية .
- Open source hardware : يستخدم هذه المصطلح للإشارة إلى العتاد الذي تكون كل التعليمات الخاصة في التصميم متوفرة ومتاحة للجميع , Open source hardware مبنية بشكل أساسي على Free hardware design .
- Free hardware : هو مصطلح يحمل معنى Open source hardware لكنه كما يبدو غامض فكلمة Free مالمقصود بها و كلمة hardware هل يقصد بها العتاد نفسة أم التصاميم .
شخصياً سأستخدم في مقالاتي مصطلح Free hardware design للإشارة إلى تصاميم العتاد الحر و مصطلح Open source hardware للإشارة إلى العتاد الحر أي المعتمد على تصاميم حرة , إن كان لديكم تعريب أفضل أخبروني .
لفهم هذه القضية لابد أن نفهم ما المقصود بالبرمجيات الحرة يمكن أن أقول باختصار أنها البرمجيات التي يمكن للمستخدم من نسخها وتعديلها وتطويرها وتوزيعها , لنطبق هذا الشيء على العتاد؟ العتاد الحر هو الذي يمكن للمستخدم أن يقوم بنسخه وتعديله وتطويره وتوزيعه وكذلك الأمر بالنسبة لتصاميم العتاد الحر مع إمكانية تطبيقها -هذه التصاميم- على العتاد .غالبية البرمجيات الحرة تكون بأسعار زهيدة إن لم تكن مجانية , أما العتاد فالوضع مختلف قليلاً فلا يمكن تنزيل العتاد من الإنترنت وليس لدينا أجهزة لنسخها, لذا فعملية النسخ ستكلفك بعض المال حتى ولو كانت التصاميم حرة .
في الوقت الحالي أغلب التصاميم مغلقة (محتكرة من قبل الشركات) والمصممين فيها عددهم محدود مما يعني وقت أطول لإنتاج التصاميم التي تكون في بعض الأحيان خالية من الإبداع ومن ثم تأتي الحاجة إلى وقت لفحصها والتحقق من صحتها ثم تصنيعها وقد يكون هناك إعادة لتصنيع في حالة وجود بعض الأخطاء . التقنية تتقدم بشكل سريع وهذا كله يضع مزيد من الضغط على المصممين لإنتاج تصاميم جديدة وخالية في نفس الوقت من الأخطاء وفي أقل وقت ممكن .عندما نقارن العتاد الحر مع البرمجيات الحرة نجد أنها -أي البرمجيات الحرة- توفر ملفات المصدر بشكل مجاني فيمكن اختبارها و اصلاح ما فيها من أخطاء بواسطة أي شخص . هل يمكن تبني هذه الفكرة في مجال العتاد ؟ بدأ البحث عن الحلول واتضح أنهم يمكن عمل ذلك وبسهولة .
تاريخ تصاميم العتاد الحر باختصار
في بداية عام 1998 قام مجموعة من الطلاب والأساتذة و المهندسين من جامعة Delft بالبدء في عمل تصاميم مفتوحة لمجموعة من الدوائر وتم وضعها على الإنترنت وكان لديهم هدف وهو تطوير هذه الدوائر ونشرها على الويب . بعدها قاموا بعمل مجموعات لترويج لهذه الفكرة من أشهر هذه المجموعات OpenCores و Free-IP organizations .بعدها بدأ الطلاب من الجامعات الأخرى كمثل Birzeit بدخول هذا المجال بالإضافة إلى أنهم قامو بنشر أعمالهم على الإنترنت ليكون العمل بتعاون من قبل الجميع ومازال العدد بإزدياد .
تصاميم العتاد الحر يجب أن يتم نشرها متى ما كان ذلك ممكن حتى ولو لم تكن عملية Debugging كاملة , حتى ولو لم تكن خاضعة للمعايير بشكل كامل , حتى ولو لم تكن تحمل جميع المميزات التي يتطلبها السوق . المهم أن تصل للمستخدم النهائي في أقل وقت ممكن بعدها يتم أخذ التغذية المرتدة من المستخدمين , كل الردود والتعليقات سيتم تضمينها في الإصدارات القادمة القريبة . هذه الطريقة نجدها واضحة تماماً في البرمجيات الحرة عندما يقوم المبرمجون شهرياً أو سنوياً بإطلاق إصدارات من برامجهم أو نظمهم للوصول لأداء أفضل و معيار محدد ومطلوب .
منتجات التصاميم الحرة متنوعة و عالمية وقابلة للاستخدام لأنه لم يتم عملها من قبل شخص واحد ولم يتم عملها بناء على حاجات شركة ما . التعاون بين المصممين يقدم لنا الثبات و التنوع و الإبتكار مثلة مثل ما يحدث في حقل البرمجيات الحرة لأن كل من بدأ في هذا الإتجاة غالباً ما يكون تربى أو أخذ منها الشيء الكثير.
طريقة تصميم العتاد الحر
ملفات تصاميم العتاد الحر تحتوي على كل المعلومات الضرورية لعملية تصنيع وتعديل وتطوير وفحص وطرق إضافة المشغلات وكيفية ربطها مع الأجهزة الأخرى . قبل التصنيع يمر العتاد بعدة مراحل من أهمها مرحلة التصميم التي فيها تحول الأفكار إلى وصف دقيق عن كيفية عمل هذا الجهاز وما الأدوات التي يحتاجها والقطع اللازمة لتشغيل وكيف تعمل مع بعضها البعض . مثلما يعتمد المبرمجون على لغات برمجة مثل لغة C و البيرل و Java يعتمد مصمموا العتاد على لغات وصفية تعرف باسم hardware description language تستخدم لوصف الدوائر الإلكترونية وهي عبارة عن تعابير نصية قياسية من أشهر هذه اللغات VHDL .
متى نقول عن عتاد انه حر ؟
العتاد الحر مثله مثل البرمجيات الحرة ,كل المعلومات المطلوبة لتعديل و استخدام و تنفيذ التصاميم يجب أن تكون متوفرة, يمكنني أن أقوم بتلخيصها بهذه النقاط :
- 1- كل ملفات التصميم تكون متوفرة للجميع وهذا يشمل الرسومات التخطيطيه schematic و ملفات اللغات الوصفية HDL و تصميم الملفات .
- 2- البرمجيات و والواجهات كمثل المشغلات و المترجمات و واجهات المسجلات وغيرها يجب أن تكون متوفرة ومفتوحة المصدر.
- 3- كل المعلومات والتوثيقات كمثل ملاحظات على التطبيقات ومعلومات المواجهة لابد أن تكون متوفرة ومفتوحة.
فوائد تصاميم العتاد الحر
تصاميم العتاد الحر أتت لحل العديد من المشاكل في التصاميم الحالية وفي الطرق المتبعة من قبل الشركات , فهي تجعل المنافسة بين التصاميم نفسها بدلاً من الشركات , وهذا يعني تحسن في غالبية طرق التصميم المتبعة في الوقت الحالي , المميزات باختصار :
- 1- وقت التطوير قصير فعمليات التصميم يتشارك فيها عدد من المصممين من جهات مختلفة , التصاميم الحرة في الأساس قائمة على مبدأ التعاون والمشاركة لإنتاج تصاميم ممتازة بدلاً من التنافس وفي الأخير تقديم أشياء متواضعة نوعاً ما .
- 2- تكلفة أقل فيمكن الاستفادة من التصاميم الحرة الموجودة وتعديلها والتحقق منها واختبارها وتصنيعها وإعادة تصنيعها بشكل شبة مجاني خصوصاً مع ظهور الدوائر القابلة للبرمجة .
- 3- التصاميم الحرة تساعد الناس على تصحيح أخطاء وإصلاحها بسهولة وتساعد أيضاً الشركات .
- 4- التصاميم الحرة تستفيد من الطاقات الموجودة في الأشخاص العاطلين والمتقاعدين والهواة أو الأشخاص الذين لديهم القليل من وقت الفراغ وتفيدهم بأن تطور مهاراتهم فهم سيختلطون مع العديد من الأشخاص المتفاوته مستواياتهم ففيهم المحترف مثلما فيهم المبتدئ.
- 5- التصاميم الحرة تفيد الطلاب فهم سيشاهدون كل شيء يطبق أمامهم من مرحلة التصميم والتطوير إلى مرحلة التصنيع ومن ثم إعادة التصنيع إذا لزم الأمر .
- 6- التصميم الحرة تعيش فترة طويلة خصوصاً لو قارنها بغيرها من التصاميم التي تحتكرها بعض الشركات . عندما يكون التصميم حر كل شخص يمكن أن يطوره ويعدل فيه على حسب حاجاته.
- 7- يمكن أن يستخدم التصاميم الحر لأغراض تعليمية خصوص لدينا كدول نامية يمكن أن يخدمنا هذا الجانب بشكل كبير.
العوائق والصعوبات
هناك العديد من الصعوبات التي تواجهة المصممين وتمنعهم من التصميم والاختبار ومن ثم التصنيع من أهمها:
- 1- تكلفة برامج EDA : وهي باختصار برامج تساعد المصممين في أن يكتبوا تصاميمهم ويسجلو أفكارهم فيها قبل الدخول في مرحلة التصنيع . برامج EDA سعرها مرتفع وهذا الشيء جعل مطوري البرمجيات الحرة يقومون بتطوير برامج EDA كمثل gEDA .
- 2- تكلفة التصنيع : تصاميم العتاد لابد أن يتم تشغيلها على العتاد وهذا بلا شك أمر مكلف , هذا المشكلة يمكن حلها عن طريق برامج المحاكاة Simulation هذه البرامج مفيدة فهي تختصر الوقت ويمكن من خلالها تقليل التكلفة بحيث يتم اكتشاف أي أخطاء في التصميم من خلالها ليتم التعديل بسهولة قبل الدخول في مجال التصنيع الحقيقي.
- 3- حماية التصاميم : لا يوجد شخص بالعالم يرغب بأن يقدم أعماله وأفكاره مالم يكن هناك قوانين لحماية أعماله تمنحه بعض التحكم . يمكن أن يتم حماية التخطيطات والملفات الوصفية المستخدمه عن طريق أنظمة حقوق الطبع لكن هناك أمور أخرى فمثلاً قد يتم تحويل هذه التصاميم إلى أجهزة ومن ثم تحتكرها أحد الشركات وقد تحل هذه التصاميم مشاكل معقدة لذلك أحد الحلول المطروحة هو براءات الإختراع وهو أحد الحلول بالرغم من ما يسببه من مشاكل .
تصاميم العتاد الحر و فرص الربح فيه
العائد المادي من خلال تصاميم العتاد الحر كبير , سأكتفي بثلاث طرق :
- * توزيع التصاميم : يمكن لشركات أن تأخذ مجموعة من التصاميم وتقوم ببيعها .
- * تقديم الدعم الفني: يمكن للخبراء أن يقدموا الدعم لتصاميم المطروحه خصوصاً في المشاريع الضخمة , فهناك العديد من الشركات التي توفر تصاميم وبشكل مجاني ولكن الدعم الفني يكون مدفوع .
- * يمكن لشركات أن تطبق التصاميم على العتاد ثم تقوم ببيعها .
أمثلة لمشاريع العتاد الحر
- F-CPU: هو مشروع بدأ فيه من الصفر مجموعة من المهندسين المتطوعين هدفهم الأساسي تطوير تصاميم لمعالج كامل حر وقوي في نفس الوقت .
- منظمة OpenIPCore تعمل هذه المنظمة لتشكل قاعدة لتصاميم الإلكترونية الحرة ولحل المشاكل الأولية في التصميم . فهم يوفرون مكان لتلاقي ما بين المصممين والمطورين لأدوات EDA , وتحدد تدفق التصميم لمشروع ما باستخدام أدوات EDA , وتقدم أيضاً عدد من التراخيص لحماية المصممين .
- OpenCores يحتوي على المئات من المشاريع .
- Leon-2 يحتوي على ملفات VHDL لمعالج Sparc وموزعه تحت GPL .
- SPARC International منظمة غير ربحية أطلقتها صن مايكروسستمز .
المراجع
هذا خلاصة ما قرأته اليوم وهذه المقالات التي استفدت منها :
- Free Software and Free Hardware Designs .
- Gates: In 2014, magic software, free hardware لقاء مع بيل جيتس قبل 10 سنوات يتحدث فيه عن البرمجيات والعتاد .
- "Open" Hardware .
- Definitions .
- OpenHardware.net موقع تم تأسيسه من عام 2000 يضع فيه صاحبه معلومات الأنظمة المدمجة و embedded linux وهي كما أعتقد أنظمة مخصصة لأجهزة صغيرة تؤدي وظائف محددة كالمايكرويف مثلاً .
- Open Source Takes on Hardware Biz مقابلة مع Damjan Lampret مؤسس موقع OpenCores.org .
- Design trend: A survey .
- Richard Stallman -- On Free Hardware .
- Free chips for all .
- Open source moves into free hardware .
- How can Hardware be open .
- OpenSPARC or Power.org: Which One has it Right مقالة تتحدث عن مبادرة OpenSPARC التابعة لصن مايكروسستمز و Power.org التابع لـ IBM .