الهدف
بنهاية هذا الدرس، سيكون الطالب قادرًا على التمييز بين أنواع تراخيص البيانات المفتوحة، والتعامل مع APIs لجمع البيانات.
شرح الدرس
البيانات المفتوحة (Open Data): بيانات يمكن الوصول إليها واستخدامها وإعادة مشاركتها بحرية من أي شخص.
أنواع التراخيص:
- CC0: تنازل كامل عن حقوق الملكية — استخدام حر بلا قيود.
- CC BY: يُسمح بالاستخدام والتعديل بشرط الإسناد.
- CC BY-SA: إسناد + أي مشتق يخضع لنفس الترخيص.
- CC BY-NC: إسناد + غير تجاري فقط.
API (واجهة برمجة التطبيقات) لجمع البيانات: طريقة برمجية منظمة للوصول لبيانات خدمة ما. تُستخدم في جمع البيانات عبر طلبات HTTP وتُعيد JSON عادةً.
Authentication في APIs: API Key، OAuth، Bearer Token — لتحديد هوية المُستخدم والتحكم في الوصول.
مصادر بيانات مفتوحة بارزة: data.gov، WHO، World Bank، Kaggle، بيانات حكومية مصرية.
أسئلة تدريبية
1. باحث يريد استخدام بيانات إحصائية حكومية في بحث علمي يُنشر تجاريًا. وجد البيانات مرخصة بـ CC BY-NC. هل يمكنه ذلك؟
عرض الإجابة
لا. CC BY-NC تعني: مسموح بالاستخدام مع الإسناد (BY) لكن لأغراض غير تجارية فقط (NC = Non-Commercial). النشر في مجلة علمية تجارية يُعدّ استخدامًا تجاريًا. يحتاج: (1) إذنًا مباشرًا من الجهة المُصدِرة. (2) البحث عن نسخة بترخيص CC BY أو CC0 من مصدر آخر. (3) التأكد من الاستثناءات (بعض التراخيص تُعفي الأبحاث الأكاديمية غير الربحية).
2. ما الفرق بين API Key وOAuth في التحقق من الهوية؟ أيهما أنسب لتطبيق يصل لبيانات حسابات المستخدمين على منصة تواصل؟
عرض الإجابة
API Key: مفتاح ثابت يُعطى للمطوّر — يُحدد التطبيق وليس المستخدم. بسيط لكن يعطي صلاحيات واسعة. OAuth: بروتوكول يُتيح للمستخدم منح التطبيق صلاحيات محددة للوصول لحسابه دون إعطائه كلمة مروره. للبيانات الشخصية للمستخدمين: OAuth أنسب بكثير — كل مستخدم يُوافق على ما يُشاركه (تدوّن موافقته)، ومستوى الوصول محدود بما وافق عليه فقط.
3. ما مفهوم Rate Limiting في APIs؟ وكيف يؤثر على عملية جمع البيانات بكميات كبيرة؟
عرض الإجابة
Rate Limiting: تحديد أقصى عدد طلبات في فترة زمنية (مثلًا 1000 طلب/ساعة). أثره على جمع البيانات الكبيرة: يُبطئ عملية الجمع — لو عندك 100,000 سجل تحتاجها وكل طلب يُعيد 100 سجل، تحتاج 1000 طلب. بحد 1000 طلب/ساعة: تستغرق الساعة كاملة. الحلول: طلب رفع الحد (Tier مدفوع)، أو التخزين المؤقت لتجنب إعادة جلب نفس البيانات.
4. موقع حكومي ينشر بيانات بصيغة PDF فقط. ما التحديات في استخدام هذه البيانات؟ وما الأفضل؟
عرض الإجابة
تحديات PDF: (1) يصعب استخراج البيانات برمجيًا — تحتاج OCR أو استخراج يدوي. (2) فقدان البنية (الجداول تصبح نصًا عاديًا). (3) أخطاء في التعرف على الأحرف العربية. الأفضل: نشر البيانات بصيغ قابلة للمعالجة (CSV، JSON، XLS). معيار ‘Open Data’ يُشترط فيه قابلية الاستخدام الآلي — PDF يفشل هذا الاختبار.
5. ما مبدأ ‘البيانات كخدمة عامة’ (Data as a Public Good)؟ وما حجة الدول التي تُمانع نشر بياناتها الحكومية؟
عرض الإجابة
البيانات كخدعة عامة: البيانات التي جُمعت بتمويل عام يجب أن تكون متاحة للعموم — تُعزز الشفافية والمساءلة وتُتيح للباحثين والشركات بناء خدمات قيّمة. حجج المقاومة: (1) خصوصية المواطنين (قد تُحدد هويات). (2) الأمن القومي (بيانات حساسة). (3) الخشية من سوء التفسير. (4) مصلحة الجهات التي تبيعها تجاريًا.
6. ما الفرق بين Web Scraping وAPI من ناحية الاستدامة والأخلاقيات؟
عرض الإجابة
API: مُصرَّح به صراحةً من مالك البيانات، بنية ثابتة لا تتغير مع تغيير الموقع، معدلات وصول محددة ومراقبة، تراخيص واضحة. Scraping: قد يُخالف شروط الخدمة، البنية تتكسر مع تحديث الموقع، يُشكّل عبئًا على الخادم دون إذن، منطقة رمادية قانونيًا. الأفضل أخلاقيًا واستدامةً: API دائمًا. Scraping كملاذ أخير مع احترام robots.txt والتأخير بين الطلبات.
7. ما format JSON؟ ولماذا أصبح التنسيق المعياري لبيانات APIs؟
عرض الإجابة
JSON (JavaScript Object Notation): نص منظم لتمثيل البيانات بأزواج مفتاح-قيمة وقوائم. مثال: {“name”: “أحمد”, “age”: 25, “city”: “القاهرة”}. أصبح معياريًا لأنه: (1) قابل للقراءة البشرية والآلية. (2) خفيف مقارنةً بـ XML. (3) مدعوم أصليًا في JavaScript (لغة الويب الرئيسية). (4) مكتبات تحليله موجودة في كل لغة برمجة.
8. منظمة دولية تنشر بيانات التطعيم عالميًا كبيانات مفتوحة. من يستفيد؟ وما التحديات في استخدامها؟
عرض الإجابة
المستفيدون: باحثون وبائيون (تحليل التغطية)، حكومات (مقارنة برامجها بالآخرين)، صحفيو بيانات (تقارير مرئية)، شركات التطوير (بناء لوحات متابعة). التحديات: (1) التعريفات قد تختلف بين الدول (ما يُحسب جرعة كاملة). (2) البيانات قديمة أو ناقصة من بعض الدول. (3) تنسيقات مختلفة (بعض الدول تُبلّغ بالنسبة، أخرى بالعدد المطلق). (4) حواجز لغوية في فهم السياق.
9. ما مستودع Kaggle؟ وكيف يخدم مجتمع تحليل البيانات؟
عرض الإجابة
Kaggle: منصة تحتوي آلاف مجموعات البيانات العامة، ومسابقات تحليل البيانات والتعلم الآلي (بجوائز مالية)، وأكواد Python/R قابلة للتشغيل مباشرة (Notebooks). تخدم المجتمع بـ: (1) توفير بيانات تدريبية للمبتدئين. (2) معايرة المهارات بالمسابقات. (3) تبادل الحلول والمناهج. (4) التوظيف — أصحاب العمل يتابعون ترتيبات Kaggle.
10. ما الـ Pagination في APIs؟ وكيف تتعامل معها عند جمع بيانات ضخمة؟
عرض الإجابة
Pagination: عوضًا عن إرجاع كل البيانات دفعةً واحدة (قد تكون ملايين سجلات)، الـ API يُقسّمها لصفحات (100 سجل/صفحة مثلًا). الطلب الأول يُعيد الصفحة 1 مع رابط للصفحة التالية. التعامل: حلقة برمجية تُطلب صفحة تلو الأخرى حتى تُعيد ‘لا توجد صفحة تالية’. مع Rate Limiting: إضافة تأخير بين الطلبات (time.sleep) لتفادي الحجب.
11. بيانات مفتوحة عن دخل الأسرة المصرية تُحمَّل. قبل التحليل: ما الأسئلة التي يجب طرحها على هذه البيانات لتقييم جودتها؟
عرض الإجابة
الأسئلة: (1) من جمعها ومتى؟ (الجهاز المركزي للتعبئة والإحصاء أم مصدر آخر؟). (2) ما المنهجية: استطلاع عينة عشوائية أم سجلات إدارية أم تقديرات؟. (3) ما حجم العينة؟. (4) هل البيانات ممثّلة جغرافيًا (ريف/حضر) واجتماعيًا؟. (5) ما التعريف المستخدم لـ ‘الدخل’ (قبل أو بعد الضرائب، ما يُدرج أو يُستبعد)؟. (6) هل يوجد تقرير منهجية مرفق؟
12. ما ‘مبادئ FAIR للبيانات’؟ ولماذا هي مهمة للبيانات العلمية؟
عرض الإجابة
FAIR: Findable (قابلة للاكتشاف — موصوفة بميتاداتا جيدة وموجودة في مستودع)، Accessible (قابلة للوصول — بتراخيص واضحة وواجهة موحدة)، Interoperable (قابلة للتشغيل البيني — بصيغ ومفردات موحدة)، Reusable (قابلة لإعادة الاستخدام — مُرفقة بوثائق كاملة). مهمة لأن: البيانات العلمية يجب أن تُمكّن إعادة الإنتاج (Reproducibility) والبناء عليها، وهو جوهر المنهج العلمي.