De eerste experimentele aflevering van de servercomponent van het Fosscord-project is gepubliceerd, dat een open communicatieplatform ontwikkelt voor het organiseren van communicatie binnen gemeenschappen via chat, video en spraakoproepen. Een belangrijk kenmerk dat het onderscheidt van andere open projecten zoals Revolt en Rocket.Chat, is de protocollaire compatibiliteit met de proprietary messenger Discord - gebruikers van Fosscord kunnen communiceren met mensen die de dienst discord.com blijven gebruiken. De code van het project is geschreven in TypeScript met gebruik van het Node.js-platform en wordt verspreid onder de AGPLv3-licentie. Klaar omgebouwde versies de server zijn voorbereid voor Linux, Windows en macOS.
De server, die het mogelijk maakt om het platform op eigen infrastructuur te implementeren, bevat componenten met de implementatie van een compatibele HTTP API met Discord, een gateway op basis van het WebSocket-protocol, een content delivery network, servers RTC en WebRTC voor het organiseren van spraak- en videoverbindingen, hulpmiddelen en een webinterface voor beheer. MongoDB wordt als database gebruikt. Daarnaast ontwikkelt het project een client en een CSS-framework voor het creƫren van interfaces in de stijl van Discord.

Het uiteindelijke doel van het project is de creatie van een Discord-kloon die volledig achterwaarts compatibel is, maar uitgebreide mogelijkheden biedt. De Fosscord-client zal de officiƫle Discord-client kunnen vervangen, en de Fosscord-server zal het mogelijk maken om een server te draaien die compatibel is met Discord op eigen apparatuur. Ondersteuning van Discord zal de overgang van gebruikers naar het open platform vergemakkelijken, het migreren van bots vereenvoudigen en gebruikers in staat stellen om eerdere workflows en communicatieve omgevingen te behouden - na de migratie zullen gebruikers nog steeds met collega's kunnen communiceren die Discord blijven gebruiken.
Een van de voordelen van het Fosscord-platform is de mogelijkheid tot fijne afstemming van alle aspecten en beperkingen, een gedecentraliseerde architectuur zonder een enkel kritiek punt (het wordt verondersteld dat de client tegelijkertijd met meerdere servers kan verbonden zijn), de mogelijkheid om functionaliteit uit te breiden via plugins, het aanpassen van de uitstraling via thema's en het toepassen van end-to-end encryptie voor vertrouwelijke gesprekken. Voor het uitbreiden van de mogelijkheden van de server is ondersteuning voor bots voorzien.

Bron: opennet.ru
