Licences open source
Noor repose sur les composants open source suivants. Nous sommes reconnaissants envers celles et ceux qui les ont écrits.
WebRTC — le lien image et son
flutter_webrtc · © 2018 湖北捷智云技术有限公司, utilisé sous licence MIT. C'est lui qui transporte les médias entre vos deux téléphones.
libwebrtc · © The WebRTC project authors, utilisé sous licence BSD à 3 clauses. C'est la bibliothèque native qui réalise le chiffrement DTLS-SRTP décrit dans notre politique de confidentialité.
Nous distribuons une copie modifiée de flutter_webrtc, et nous le disons ici. Noor embarque sa propre copie de cette bibliothèque avec trois modifications, chacune signalée dans le code source et documentée en détail — motif, mesures effectuées, et ce qu'une mise à jour devra revérifier :
- La capture caméra accepte un
ContextAndroid au lieu d'exiger uneActivity, afin que la caméra continue de fonctionner dans le service d'arrière-plan après la fermeture de l'application. Sans cela, la capture plante dans ce service. - Le changement de caméra respecte l'objectif demandé. En amont, l'identifiant d'objectif était ignoré sur Android au profit d'une simple bascule avant/arrière : demander le téléobjectif ouvrait donc la caméra selfie.
- Le verrouillage de la mise au point fonctionne, tout simplement. En amont, le gestionnaire Android lisait un nom d'argument différent de celui qui lui était envoyé, et l'appel échouait systématiquement. Noor en a besoin : un téléphone braqué sur un lit toute la nuit doit faire la mise au point une fois et s'y tenir, plutôt que de chercher indéfiniment dans l'obscurité.
Ces trois modifications ont vocation à être reversées en amont ; si elles y sont acceptées, notre copie disparaîtra. La licence MIT autorise la modification et impose de conserver la mention de copyright ci-dessus, ce qui est fait — dans l'application, dans notre copie de la bibliothèque, et ici.
Détection des pleurs
TensorFlow Lite et tflite_flutter · © The TensorFlow Authors, utilisés sous licence Apache, version 2.0.
YAMNet · © Google LLC, publié sous licence Apache 2.0. YAMNet est un classificateur d'évènements sonores entraîné sur AudioSet (Google). Noor embarque le modèle dans l'application et l'exécute entièrement sur le téléphone-caméra : il n'est jamais contacté par le réseau, et aucun son n'est transmis où que ce soit.
Berceuses
Les trois berceuses sont des compositions du domaine public — Ah ! vous dirai-je, maman, la Wiegenlied op. 49 n° 4 de Brahms, et Frère Jacques.
Les enregistrements sont les nôtres : ils ont été synthétisés dans notre propre dépôt par un script que nous avons écrit. Il n'y a donc aucun enregistrement tiers dans l'application, ni droit voisin ni droit de producteur à libérer. Nous le précisons parce qu'une affirmation portant sur des droits musicaux mérite d'être exacte.
Polices de caractères
Noto Sans et Noto Sans Arabic · © The Noto Project Authors, utilisées sous SIL Open Font License 1.1. Toutes deux sont embarquées dans l'application plutôt que téléchargées : Noor ne contacte donc jamais de serveur de polices — voir la politique de confidentialité.
Material Symbols · © Google LLC, licence Apache 2.0.
Licence Apache 2.0
Également utilisés sous licence Apache, version 2.0 : les bibliothèques Android Jetpack (AndroidX) et la bibliothèque standard Kotlin · © The Android Open Source Project, JetBrains s.r.o. et les contributeurs Kotlin.
BSD à 3 clauses
© The Flutter Authors, les auteurs du projet Dart, et les auteurs respectifs des paquets :
- Flutter et le SDK Dart
- go_router, url_launcher, shared_preferences, path_provider, path, video_player, intl, http, web_socket_channel, crypto, json_annotation, google_fonts
- qr_flutter et mobile_scanner — le QR code d'appairage et le scanner qui le lit
- flutter_secure_storage — les clés d'appairage, conservées dans le Keystore Android
- flutter_local_notifications · © Michael Bui
- battery_plus · © The Chromium Authors
MIT
- Riverpod (
flutter_riverpod,riverpod_annotation) et Freezed · © Remi Rousselet - drift et sqlite3_flutter_libs · © Simon Binder — la base locale de l'historique des évènements. SQLite lui-même relève du domaine public.
- flutter_foreground_task · © Dev-hwang — ce qui maintient la surveillance active après la fermeture de l'application
- permission_handler · © Baseflow
- audioplayers · © Blue Fire
Aucun de ces composants ne nous envoie quoi que ce soit. Noor détient
l'autorisation INTERNET uniquement pour joindre l'autre
téléphone sur votre propre Wi-Fi, et ne contacte aucun serveur qui
serait le nôtre — puisque nous n'en exploitons aucun. La
politique de confidentialité l'explique
en détail.