MondialCanadaEuropeAsie-Pacifique
Se connecter

Nous publions ce que nous construisons et nous renvoyons les correctifs.

District AI fonctionne sur des logiciels à code source ouvert, et dix de nos propres projets le sont aussi : les applications District AI pour iPhone, iPad, Mac, Android, Windows et Linux, le noyau Swift que partagent les applications Apple, le noyau Rust que partagent les applications Windows et Linux, ainsi que trois outils, worldinmotion, bridgewatch et District Scheduler. Le service District AI lui-même ne l'est pas.

Autres projets

Chacun dans son propre dépôt sous licence Apache 2.0 : les cinq applications District AI, les deux noyaux qu'elles partagent et deux autres outils. Chacun a ici une page qui explique ce qu'il fait et pourquoi nous l'avons construit.

Téléphones et tablettes

District AI pour iOS
L'application native District AI pour iPhone et iPad, en une seule application universelle, offerte sur l'App Store.
District AI pour Android
L'application native District AI pour Android, offerte sur Google Play, qui passe ses appels par le cadre de téléphonie d'Android (Telecom).

Ordinateurs

District AI pour Mac
L'application native District AI pour Mac, en SwiftUI, offerte sur le Mac App Store et en téléchargement signé qui se tient à jour de lui-même.
District AI pour Windows
L'application native District AI pour Windows, en C# et WinUI 3 sur le noyau Rust partagé, offerte dans le Microsoft Store.
District AI pour Linux
L'application native District AI pour le bureau Linux, en GTK 4 et libadwaita, publiée en .deb et en Flatpak.

Noyaux partagés

District Core pour Swift
Le paquet Swift que partagent les applications iPhone, iPad et Mac : leurs modèles, la connexion, le réseau, les données et la logique d'appel.
District Core pour Rust
Les crates Rust que partagent les applications Linux et Windows : leurs types de données, la connexion, le réseau, les mises à jour en direct, l'état de l'application et le moteur d'appel.

Outils

bridgewatch
Un moniteur de barre d'état pour GitLab CI et GitHub Actions, pour macOS et Linux, qui dit si un push a vraiment été déployé.
District Scheduler
Notre fork de Calnode, le moteur de prise de rendez-vous derrière la page de réservation comprise dans chaque forfait District AI.

Ce qui est à code source ouvert, et ce qui ne l'est pas

Ce qui est à code source ouvert

Les dix projets, sous licence Apache 2.0 : vous pouvez les lire, les compiler, les modifier et nous renvoyer vos modifications. Les noms, les logos et l'icône d'application District AI et Distronode sont des marques de commerce : une application que vous compilez et distribuez porte donc son propre nom, sa propre icône et son propre identifiant.

Ce qui ne l'est pas

Le service District AI avec lequel les applications communiquent. Une application compilée à partir du code source a toujours besoin d'un compte District AI pour se connecter.

Sans compte chez nous

Aujourd'hui, les applications ont besoin d'un compte District AI pour se connecter. Nous voulons qu'elles fonctionnent aussi sans compte chez nous. Nous n'avons pas encore établi à quoi cela ressemblerait, ni si c'est faisable, et la réponse dépend de ce à quoi les gens voudraient les relier : nous posons donc la question avant de construire quoi que ce soit. La discussion est en anglais, mais vous pouvez y écrire en français.

Dites-nous à quoi vous les relieriez

Sur quoi District AI fonctionne

Dix projets qui font un travail visible à chaque appel ou à chaque page, chacun exploité par nous sous la licence indiquée.

Logiciels à code source ouvert sur lesquels District AI fonctionne
LogicielCe qu'il fait iciLicence
LiveKitServeur média, passerelle SIP et cadre d'agents sur lequel la réceptionniste vocale est construite, sur nos propres nœuds dans chaque régionApache-2.0
PostgreSQL 17La base de données de chaque espace de travail, une instance par régionLicence PostgreSQL
k3sLa distribution Kubernetes sur laquelle tourne chacune des quatre origines, en nœud uniqueApache-2.0
CaddyTerminaison TLS et routage devant chaque origineApache-2.0
Next.js et ReactCe site, le portail client et le tableau de bordMIT
PrismaLa couche de base de données sous le portail et le tableau de bordApache-2.0
Tailwind CSSLa mise en forme du tableau de bordMIT
Grafana AlloyAchemine les métriques, les journaux et les événements des quatre grappes vers notre surveillanceApache-2.0
Silero VADDétermine quand un appelant commence et cesse de parlerMIT
CalnodeLe moteur de prise de rendez-vous dont District Scheduler est le forkApache-2.0

Licences telles que chaque projet les publie. Redis est absent à dessein : nous l'utilisons, et sa licence actuelle n'est pas une licence de code source ouvert.

Pourquoi nous publions

Une entreprise de télécommunications qui repose sur l'IA de pointe demande à ses clients de lui faire confiance sur le lieu de traitement de leurs appels. Cela devrait être facile à vérifier. Les dix dépôts sont ceux à partir desquels nous construisons nos logiciels, et les dix gardent leurs tickets, leurs journaux des modifications et leurs politiques de sécurité à découvert.

Il y a aussi une raison plus simple. Un fork aux correctifs privés doit être maintenu par la seule entreprise qui les détient. Renvoyer un correctif signifie que la prochaine version du projet d'origine le contient déjà, pour nous comme pour tout le monde.

Contribuer et signaler une vulnérabilité

Les tickets et les demandes de fusion sont les bienvenus sur chacun des dix dépôts, sur GitHub.

Distronode sur GitHub, où se trouvent les dix dépôts, et sur GitLab :

Tickets et demandes de fusion
Le guide de contribution de chaque dépôt (CONTRIBUTING.md) explique comment le compiler et le tester, et ce qu'une demande de fusion doit remplir avant d'être examinée.
Signalements de sécurité
Signalez une vulnérabilité en privé, par le signalement privé de vulnérabilités de GitHub sur le dépôt concerné, comme l'indique son fichier SECURITY.md, et non dans un ticket public. Si vous ne pouvez pas utiliser GitHub, chaque projet accepte aussi les signalements à l'adresse pour le code source ouvert ci-dessous.
Conduite
Chaque dépôt a un code de conduite, le Contributor Covenant.
Adresse pour le code source ouvert
opensource@distronode.comPour signaler un problème de conduite, ou une vulnérabilité dans l'un des dix projets quand le signalement privé de GitHub ne peut pas être utilisé.