È stato pubblicato il primo rilascio sperimentale della parte server del progetto Fosscord, che sviluppa una piattaforma di comunicazione aperta per facilitare la comunicazione nelle comunità tramite chat, video e chiamate vocali. Una differenza importante rispetto ad altri progetti aperti simili, come Revolt e Rocket.Chat, è la compatibilità a livello di protocollo con il messenger proprietario Discord: gli utenti di Fosscord possono comunicare con persone che continuano a utilizzare il servizio discord.com. Il codice del progetto è scritto in TypeScript utilizzando la piattaforma Node.js e viene distribuito con la licenza AGPLv3. Le build pronte server sono disponibili per Linux, Windows e macOS.
Il server, che consente di distribuire la piattaforma sulle proprie risorse, include componenti con implementazione di un'API HTTP compatibile con Discord, un gateway basato sul protocollo WebSocket, una rete di distribuzione dei contenuti, server RTC e WebRTC per la gestione delle comunicazioni vocali e video, utility e interfaccia web per la gestione. Come database viene utilizzato MongoDB. Separatamente, il progetto sviluppa un client e un framework CSS per creare interfacce in stile Discord.

L'obiettivo finale del progetto è creare un clone di Discord, completamente retrocompatibile, ma che offre funzionalità avanzate. Il client Fosscord potrebbe sostituire il client ufficiale di Discord, mentre il server Fosscord permetterebbe di avviare un server compatibile con Discord sul proprio hardware. Il supporto a Discord consentirà di facilitare la transizione degli utenti verso una piattaforma aperta, semplificherà il trasferimento dei bot e permetterà di mantenere i precedenti flussi di lavoro e ambienti di comunicazione: dopo la migrazione, gli utenti potranno continuare a comunicare con i colleghi che utilizzano ancora Discord.
Tra i vantaggi della piattaforma Fosscord c'è la possibilità di una fine regolazione di tutti gli aspetti e delle limitazioni, un'architettura decentralizzata senza un singolo punto di guasto (l'idea è che il client possa connettersi contemporaneamente a più server), la possibilità di estendere le funzionalità tramite plugin, personalizzare l'aspetto tramite temi e applicare la crittografia end-to-end per conversazioni riservate. Per espandere le funzionalità del server è prevista la supporto per bot.

Fonte: opennet.ru
