تراخيص المصادر المفتوحة
بُني Noor على مكوّنات المصادر المفتوحة التالية. ونحن ممتنون لمن كتبوها.
WebRTC — وصلة الصورة والصوت
flutter_webrtc · © 2018 湖北捷智云技术有限公司، مستخدَم بموجب رخصة MIT. وهو الذي ينقل الوسائط بين هاتفيك.
libwebrtc · © The WebRTC project authors، مستخدَم بموجب رخصة BSD ذات البنود الثلاثة. وهي المكتبة الأصلية التي تنفّذ تعمية DTLS-SRTP الموصوفة في سياسة الخصوصية.
نحن نوزّع نسخة معدّلة من flutter_webrtc، ونقول ذلك هنا. يضمّ Noor نسخته الخاصة من تلك المكتبة مع ثلاثة تعديلات، كلٌّ منها موسوم في الشيفرة وموثّق بالكامل — السبب، وما قيس، وما يجب على أي ترقية مستقبلية إعادة التحقق منه:
- التقاط الكاميرا يقبل
Contextفي أندرويد بدل اشتراطActivity، لتظل الكاميرا تعمل داخل خدمة الخلفية بعد إغلاق التطبيق. وبدونه ينهار الالتقاط في تلك الخدمة. - تبديل الكاميرا يحترم العدسة المطلوبة. كان المصدر الأصلي يتجاهل معرّف العدسة على أندرويد ويكتفي بالتبديل بين الأمامية والخلفية، فكان طلب العدسة المقرّبة يفتح كاميرا السيلفي.
- تثبيت البؤرة صار يعمل أصلًا. كان معالِج أندرويد في المصدر الأصلي يقرأ اسم وسيط مختلفًا عن الاسم المُرسَل إليه، فكان النداء يفشل في كل مرة. ويحتاج Noor إليه لأن هاتفًا موجّهًا إلى سرير طفل طوال الليل ينبغي أن يضبط البؤرة مرة واحدة ويثبت عليها، بدل أن يظل يبحث في العتمة.
ونودّ أن تُدمج هذه التعديلات الثلاثة في المصدر الأصلي؛ فإن قُبلت، زالت نسختنا. ورخصة MIT تجيز التعديل وتشترط الإبقاء على إشعار حقوق النشر أعلاه، وهو ما فعلناه — في التطبيق، وفي نسختنا من المكتبة، وهنا.
كشف البكاء
TensorFlow Lite وtflite_flutter · © The TensorFlow Authors، مستخدَمان بموجب رخصة Apache، الإصدار 2.0.
YAMNet · © Google LLC، منشور بموجب رخصة Apache 2.0. وYAMNet مصنّف للأحداث الصوتية دُرِّب على مجموعة AudioSet من Google. ويضمّ Noor النموذج داخل التطبيق ويشغّله بالكامل على هاتف الكاميرا — فلا يُتصل به عبر أي شبكة، ولا يُرسل أي صوت إلى أي مكان.
التهويدات
التهويدات الثلاث مؤلفات في الملك العام — Ah! vous dirai-je, maman (المعروفة بلحن «توينكل توينكل»)، وWiegenlied لبرامز مصنّف 49 رقم 4، وFrère Jacques.
والتسجيلات من صنعنا: فقد وُلِّدت تركيبيًا داخل مستودعنا بنصّ برمجي كتبناه، فلا يوجد أي تسجيل لطرف ثالث في التطبيق ولا أي حق أداء أو حق منتِج يجب تخليصه. ونذكر ذلك لأن أي ادعاء يتعلق بتراخيص الموسيقى جدير بالدقة.
الخطوط
Noto Sans وNoto Sans Arabic · © The Noto Project Authors، مستخدَمان بموجب رخصة SIL Open Font License 1.1. وكلاهما مضمّن داخل التطبيق لا مُنزَّل، فلا يتصل Noor أبدًا بخادم خطوط — راجع سياسة الخصوصية.
Material Symbols · © Google LLC، رخصة Apache 2.0.
رخصة Apache 2.0
تُستخدم كذلك بموجب رخصة Apache، الإصدار 2.0: مكتبات Android Jetpack (AndroidX) والمكتبة القياسية لـKotlin · © The Android Open Source Project وJetBrains s.r.o. ومساهمو Kotlin.
BSD ذات البنود الثلاثة
© The Flutter Authors، ومؤلفو مشروع Dart، ومؤلفو الحزم المعنيون:
- Flutter وDart SDK
- go_router، url_launcher، shared_preferences، path_provider، path، video_player، intl، http، web_socket_channel، crypto، json_annotation، google_fonts
- qr_flutter وmobile_scanner — رمز الاقتران والماسح الذي يقرأه
- flutter_secure_storage — مفاتيح الاقتران، المحفوظة في Keystore أندرويد
- flutter_local_notifications · © Michael Bui
- battery_plus · © The Chromium Authors
MIT
- Riverpod (
flutter_riverpod،riverpod_annotation) وFreezed · © Remi Rousselet - drift وsqlite3_flutter_libs · © Simon Binder — قاعدة البيانات المحلية لسجل الأحداث. أما SQLite نفسه فهو في الملك العام.
- flutter_foreground_task · © Dev-hwang — وهو ما يُبقي المراقبة حيّة بعد إغلاق التطبيق
- permission_handler · © Baseflow
- audioplayers · © Blue Fire
لا يرسل أيٌّ من هذه المكوّنات شيئًا إلينا. ويحمل Noor إذن
INTERNET لغرض واحد هو الوصول إلى الهاتف الآخر على شبكتك
أنت، ولا يتصل بأي خادم لنا — لأننا لا نشغّل أي خادم. وتشرح
سياسة الخصوصية ذلك بالتفصيل.