Kristian Hergert (), författare till den integrerade utvecklingsmiljön GNOME Builder, som nu arbetar på Red Hat, ett experimentellt projekt , som syftar till att lösa uppgiften att synkronisera innehåll mellan flera enheter som använder GNOME. Användare kan använda Bonsai
för att koppla ihop flera Linux-enheter i ett hemmanätverk när de behöver få tillgång till filer och applikationsdata på alla datorer, men inte vill överföra sina data till externa molntjänster. Projektets kod är skriven i C och under GPLv3-licensen.
Bonsai inkluderar bakgrundsprocessen bonsaid och funktionsbiblioteket libbonsai för att tillhandahålla tjänster som liknar molntjänster. Bakgrundsprocessen kan köras på huvudarbetsstationen eller på en ständigt aktiv minidator Raspberry Pi i hemnätverket, kopplad till ett trådlöst nätverk och lagring. Biblioteket används för att organisera åtkomst för GNOME-appar till Bonsai-tjänster med hjälp av ett hög-nivå API. För att koppla samman med externa enheter (andra datorer, bärbara datorer, telefoner, Internet of Things-enheter) föreslås verktyget bonsai-pair, vilket gör det möjligt att generera en token för att ansluta till tjänsterna. Efter parning skapas en krypterad kanal (TLS) för att kommunicera med tjänsterna där serialiserade D-Bus-förfrågningar används.
Bonsai är inte begränsat till att bara erbjuda datadelning utan kan också användas för att skapa objektlagringslösningar som stöder partiell synkronisering mellan enheter, transaktioner, sekundära index, markörer och möjligheten att överlagra system-specifika lokala ändringar på den gemensamma databasen. Den gemensamma objektlagringen är baserad på och .
För närvarande erbjuds endast en tjänst för åtkomst till filstorage, men i framtiden planeras andra tjänster för åtkomst till e-post, kalender, anteckningar (ToDo), fotogallerier, musik- och videokollektionssystem, söksystem, backup, VPN och mer. Till exempel kan man med Bonsai på olika datorer inom GNOME-appar organisera arbete med en synkroniserad kalender eller en gemensam fotosamling.
Källa: opennet.ru
