مفاهيم أساسية في البرمجيات ( الجزء الأول )

بواسطة أحمد علاء 9/19/2012 12:18:00 AM

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

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

برامج التطبيقات

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

برامج التعريف Driver

3- أنظمة التشغيل Operating System :
هي كثيرة ولكن رغم هذا التنوع إلا أننا لا نجد إلا Windows يتربع عرش الصدارة هنا وهناك فأنا الآن أحب أن أعطي ولو لمحة بسيطة عن كل نظام لتكون End User عليم على الأقل بكل شيء ولو معرفة بسيطة .
كما أحببت أن انفرد بشرح حول تطور الويندوز Windows منذ بدايته إلى الآن.

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

الكود البرمجي مفتوح أو مغلق

2- وقد يكون من ناحية التوزيع:
مجانياً FREEWARE يقوم بتطويرها هواة كلعبة الشدة على سبيل المثال.
أو تشاركياً Shareware وهي برامج تعتمد على مبدأ جرب ثم اشتري .
أو برنامج أصلي  ويكون هذا النوع مدفوع الثمن سلفاً و يأتي معه كافة الميزات ولكن عندما يكون لديك نسخة DEMO ثم اشتريت البرنامج الأصلي فإنك ستحصل على كل مما يأتي :
1- النسخة الكاملة للبرنامج بجميع الخيارات المتوفرة.
2- دليل استخدام Guide بشكل ورقي أو مطبوع.
3- يحصل المستخدم على معلومات كاملة عن كافة الإصدارات المستقبلية بالإضافة الى تخفيضات بالأسعار.
4- الحصول مجاناً على آخر التحسينات والتعديلات الخاصة بالنسخة أو Update وقد يكون هذا التطوير مباشراً يكون طالما انت متصل بالإنترنت ويسمى هذا الخيار live-update او online وقد يكون التحديث كنوع من التنصيب أي تقوم بتنصيب تحديث وعندما تقطع الإنترنت فإنه سيتم التطوير على النسخة لطالما فتحت التطبيق الخاص.
5- الدعم الفني : وهذا نجده في الشركات الكبيرة والمتوسطة حيث نجد إن الدعم الفني على مدار 24/7 ويحتاج الى طاقم متخصص في البرنامج المطلوب وهذا لا نجده عند بعض توزيعات لينكس والتي تم الاستعاضة عنها بمنتديات كبيرة تتولى هذه المهمة.

3- قد يكون التطبيق من ناحية قانونية ومالية:
1- البرمجيات مدفوعة القيمة: وهي البرمجيات التي تطورها شركة معينة وتبيعها مقابل قيمة محددة وتحدد اتفاقية الترخيص أسلوب استعمال المنتج وطبيعة مسؤولية الجهة المنتجة عن المشاكل و الأضرار وأهم ماساهم في انتشار هذا النوع وجود فريق متفرغ لتطوير المنتج وحل مشاكله.
2- لبرمجيات المجانية FREEWARE ونختلف عن المدفوعة القيمة بعدم وجود سعر للمنتج بينما تكون مسؤولية الجهة المنتجة محدودة أو معدومة .
وغالبا ما تكون الغاية من ال FREEWARE دعم منتج آخر بما مثل بعض برامج مايكروسوفت أو الترويج لانتشار المنتج بغية تحويله إلى مدفوع القيمة وهناك أسباب أخرى كثيرة.
3- البرمجيات مفتوحة المصدر Open source "OSI" وهي محور اهتمامنا ويخلط كثير من المستخدمين بين البرمجيات المجانية FREEWARE وال OSI وأهم الاختلافات بينهما في الغالب توزع البرمجيات مفتوحة المصدر تحت إحدى اتفاقيات GNU الثلاث GPL أو LGPL أو FDL وتوجد النصوص الأصلية من موقع GNU.ORG والتي تمنح المستخدم حق الحصول على شفرة المصدر للبرنامج SOURCOCODE بينما هذا غير ممكن في ال FREEWARE لا يجوز للمستخدم تعديل برنامج FREEWARE بينما تضمن اتفاقيات OSI هذا الحق .
في الغالب لا يجوز للمستخدم إعادة توزيع منتج FREEWARE بينما يكون هذا الأمر متاحا لأي شخص في OSI حتى مقابل قيمة معينة بشرط إعطاء نفس الحقوق للمستخدم الآخر .
لا يميز الترخيص بين الأشخاص والمجموعات .
تسمح اتفاقيات GNU إعادة تعديل وتوزيع المنتج تحت نفس الترخيص وتوزيع نسخ عن النص المعدل والذي يكون شرطا في بعض الأحيان .
4- البرمجيات المؤقتة والتجريبية SHAREWARE وهي غالبا تكون محدودة المزايا والغاية منها دفع المستخدم لشراء المنتج الأصلي .

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