Friendica è una delle piattaforme più complete del fediverso: post lunghi con il titolo, gallerie multimediali, cerchie di contatti, calendario ed eventi. Qualche anno fa, però, usarla dal telefono era scomodo, perché la sua interfaccia web su uno schermo piccolo lasciava a desiderare.

Diego Beraldin ha deciso di risolvere il problema a modo suo: ha scritto Raccoon, un client libero per Friendica e Mastodon. In una diretta sul mio canale abbiamo parlato di come è nato Raccoon, di fediverso, di open source e di intelligenza artificiale. Qui vi riassumo i passaggi più importanti; nel video trovate tutta la chiacchierata, più di un'ora.

Indice

Chi è Diego Beraldin

Io e Diego ci siamo conosciuti al DevConf, dove lui ha portato un software che secondo me è davvero eccezionale. Oggi siamo entrambi in Boost Media APS, l'associazione di promozione sociale di cui faccio parte, quindi collaboriamo anche. E lo stimo tantissimo, sia per quello che fa sia per come lo fa.

Diego viene dal Veneto, lavora come sviluppatore software e si è laureato in informatica a Padova. Il suo percorso, però, non è quello classico. Prima dell'informatica, tra studio e lavoro, si è occupato di servizi linguistici, cioè di traduzione e interpretariato.

L'incontro con l'open source nasce quasi per caso. Prima di un viaggio all'estero compra un portatile con Windows preinstallato, in una versione che non può scegliere, piena di bug e di problemi di usabilità. Al ritorno decide di chiudere con le tecnologie Microsoft: avvia un live CD e installa Linux. Era Ubuntu, la versione Hardy, intorno al 2009, almeno per come lo ricorda lui.

Usare Linux lo costringe a capire come funzionano le cose sotto la scocca, a configurare il sistema e le applicazioni. È lì che scopre la sua passione: si iscrive a informatica, e da allora lavora come sviluppatore.

Il 2023 e le persone dell'open source

Per Diego l'anno della svolta è il 2023: è quando smette di avere paura di condividere il suo lavoro e comincia a pubblicare software open source. E la cosa più significativa, dice, non è stata il codice, ma le persone.

Altri sviluppatori lo hanno aiutato da volontari, nel loro tempo libero. I traduttori hanno portato le interfacce delle sue app a un pubblico internazionale, un tema a cui era sensibile proprio per il suo passato. E tante persone gli hanno dato feedback, hanno segnalato bug e gli hanno dato consigli sull'accessibilità, per esempio su come rendere le app più usabili da chi usa un lettore di schermo, il programma che legge ad alta voce quello che compare sullo schermo.

È una cosa in cui mi ritrovo tantissimo. Anche io mi sono buttato nell'open source per connettermi con altre persone, ed è proprio così che io e Diego abbiamo iniziato a parlarci. Quasi tutti noi lo facciamo per passione, nel tempo libero, e secondo me le cose belle nascono anche da lì.

I suoi primi progetti personali erano strumenti di traduzione assistita, per gestire la terminologia e le memorie di traduzione: ai tempi dell'università aveva visto che quasi tutto era software proprietario. Poi sono arrivati i client per il fediverso, prima per Lemmy e poi per Mastodon e Friendica.

Traduzione automatica e LLM, secondo chi ci ha lavorato

Visto il suo passato, gli ho chiesto che cosa pensa degli LLM, i modelli linguistici di grandi dimensioni, usati per tradurre. La sua risposta mi ha sorpreso: la traduzione automatica è una tecnologia molto più vecchia degli LLM.

Nelle agenzie, racconta, capitava che un cliente chiedesse di pagare solo una revisione, ma il testo era stato tradotto in automatico e andava rivisto a fondo. Il tentativo di tagliare i costi, così, a volte diventa un'arma a doppio taglio: il lavoro che vi trovate a fare, alla fine, è più di quello che avreste fatto partendo da zero.

Gli LLM, però, sono una tecnologia diversa. Sono motori statistici, che si basano su quanto spesso le parole compaiono insieme, e per questo il testo che producono può suonare naturale, come lo direbbe un madrelingua. Il risultato può essere valido: dipende dall'uso che se ne fa.

Il fediverso in due parole

Il fediverso è un insieme di piattaforme social diverse, fatte di tanti server indipendenti, le istanze, che si scambiano i contenuti. Per farlo usano un protocollo comune, ActivityPub. Mastodon è la piattaforma per i messaggi brevi, Lemmy funziona come un forum alla Reddit, Friendica è un social completo.

La forza del sistema è la federazione. Come spiega Diego, le community di Lemmy si possono vedere come se fossero gruppi di Friendica: non serve passare per un'istanza Lemmy per leggere quei contenuti, basta che le istanze siano federate tra loro. Ognuna legge i contenuti dell'altra.

Come è nato Raccoon

Prima del 2023 Diego non aveva mai sentito parlare di fediverso. Poi arriva la polemica sulle API di Reddit, cioè le interfacce che permettono alle app esterne di collegarsi al servizio. L'amministratore delegato di Reddit, Steve Huffman, decide di farle pagare, e di fatto taglia le gambe alle app di terze parti. La comunità si ribella, e tanti utenti cercano alternative come Lemmy.

Per Diego è l'occasione giusta: vuole sperimentare Kotlin Multiplatform, una tecnologia per scrivere un'app una volta sola e portarla su più sistemi, anche sul telefono. Così scrive un client per Lemmy, con l'interfaccia in Compose Multiplatform.

Nel 2024 arriva l'incontro che cambia tutto. Grazie al client per Lemmy conosce gli amministratori di feddit.it, che Diego descrive come l'istanza Lemmy più grande in Italia. Uno di loro gli parla di Friendica: una piattaforma con tantissime funzioni, tra cui le citazioni dei post, che allora su Mastodon non c'erano.

Ma a Friendica mancava un client per il telefono capace di usarle davvero tutte. «Perché non ne fai una tu?»: è così che è nato Raccoon.

Che cosa fa Raccoon

L'obiettivo di Raccoon è dare accesso, dallo smartphone, a tutte le funzioni di Friendica: la galleria, i messaggi diretti, il calendario e tutto il resto. Diego, che all'epoca lavorava come sviluppatore Android, ha messo in quell'interfaccia tutto quello che sapeva sulle esigenze di chi usa il telefono.

C'è un dettaglio tecnico furbo. Friendica espone delle API compatibili con quelle di Mastodon, quindi Raccoon funziona anche con i server Mastodon. L'app capisce a che tipo di istanza siete collegati e mostra o nasconde le funzioni di conseguenza: su Mastodon, per esempio, nasconde quelle tipiche di Friendica e mostra gli annunci.

E supporta più account: potete entrare con account diversi su server diversi e passare dall'uno all'altro. Per me è un vero punto di incontro per tutto il fediverso.

Diego si è ispirato a Fedilab, che considera il coltellino svizzero del fediverso: Raccoon vorrebbe esserne la controparte multipiattaforma, scritta in Kotlin.

E qui si vede la flessibilità di Kotlin Multiplatform. Rispetto a Flutter, dove di solito si sceglie tutto o niente, vi permette di decidere che cosa condividere tra le piattaforme: potreste perfino tenere l'interfaccia nativa e condividere solo la logica. Diego condivide quasi tutto, e il risultato si è visto nel 2026: fino ad allora Raccoon era solo per il telefono, poi ha aggiunto la versione desktop. Gli sono bastati al massimo quindici giorni, lavorandoci solo la sera.

Ogni volta che pubblica una nuova versione, un processo automatico crea il pacchetto .deb. E Raccoon è già nel post install ufficiale di Ufficio Zero Linux OS.

Al momento dell'intervista Diego lavorava al supporto di una funzione recente di Mastodon, che permette di creare liste di account da condividere, simile a una che esiste già su Bluesky. E tra i suoi buoni propositi c'è un sogno più grande: unire anche il supporto per Lemmy in un unico client, con la vista a forum e le risposte annidate.

Le discussioni, i toni e la moderazione

Sul fediverso, secondo Diego, le discussioni tendono a essere molto più costruttive che sui social tradizionali. Sui social commerciali, infatti, gli algoritmi spesso premiano le discussioni più controverse, per spingervi a rispondere; nel fediverso questo succede molto meno.

C'è però un'osservazione. Su Lemmy, forse perché molti utenti arrivano da Reddit e ne hanno portato lo stile, possono esserci anche discussioni tossiche.

Nel 2024 Diego ne ha vissuta una sulla sua app per Lemmy: il problema era la visualizzazione del Markdown, che dipendeva da una libreria esterna. Le critiche sono arrivate pesanti, e per giunta mentre era in vacanza. Lui ha scelto di non rispondere, per non alimentare la discussione.

E da lì è nato qualcosa di buono: un ragazzo degli Stati Uniti ha collaborato al progetto e lo ha aiutato a migliorare proprio quell'aspetto. Anche questo è l'open source, darsi una mano a vicenda. E poi, come ricorda Diego, la moderazione dei contenuti esiste proprio per questo.

Io, dal canto mio, pubblico molto di più su Mastodon e uso Lemmy soprattutto per informarmi. Ci trovo spesso feedback preziosi: mentre lavoravo al mio editor Markdown, per esempio, ho letto tanti commenti di persone che volevano un'app più pulita, ma con quella piccola funzione che le teneva legate a un'altra.

E sulla tossicità la penso così: fa parte dell'animo umano, non si può eliminare del tutto. Ma negli spazi dove si discute di contenuti tecnici, dove serve un minimo di competenza, è più difficile che emerga.

Il consiglio per chi vuole iniziare

Ho chiesto a Diego un consiglio per uno sviluppatore junior che vorrebbe scrivere codice open source, ma è frenato perché non sa da dove cominciare. Ne ha dati due.

Il primo: scegliete un ambito che vi piace, magari un progetto che usate tutti i giorni, con qualche aspetto da migliorare o qualche bug da correggere. La motivazione ha sempre alti e bassi, e lavorare a qualcosa che usate voi per primi aiuta a non mollare.

Il secondo: non abbiate paura di sperimentare, soprattutto nei progetti personali. Non affezionatevi alle scelte architetturali o a una libreria: il software cambia in continuazione, e arrivano sempre strumenti nuovi. I suoi progetti, per esempio, sono nati perché voleva imparare Kotlin Multiplatform, che al lavoro non poteva usare. E quello che ha imparato gli è servito poi anche al lavoro.

Al di là degli ideali del software libero, insomma, l'open source è anche un'ottima palestra.

Vibe coding: prototipo sì, software durevole no

Dalla chat è arrivata una domanda: sempre più persone sviluppano app e piattaforme per il fediverso con il vibe coding, cioè facendo scrivere il codice all'intelligenza artificiale. Che cosa ne pensa Diego?

Per lui è un ottimo sistema per sperimentare: per creare un prototipo e capire se un'idea ha davvero un pubblico. Ma per un software stabile, che deve durare negli anni, è più scettico. Ogni software ha un costo di gestione, perché va mantenuto ed evoluto; e se il codice lo ha generato l'intelligenza artificiale, in un certo senso non è più vostro: mantenerlo è come mantenere il software di qualcun altro.

Fa un esempio concreto. Quando esce una nuova versione del plugin di Gradle per Android che rompe la compatibilità, migrare diecimila righe o cinquantamila fa tutta la differenza: è tempo, oppure sono token da pagare a un altro agente di intelligenza artificiale perché sistemi i problemi. E, come ci siamo detti, più codice significa anche più superficie d'attacco per la sicurezza. Diego ha notato anche che i benchmark con cui si valutano i modelli misurano soprattutto l'esecuzione di un singolo compito; solo di recente si stanno studiando gli effetti a lungo termine, cioè come si degrada il codice iterazione dopo iterazione.

Da persona che ha studiato informatica con un indirizzo in intelligenza artificiale, sono abbastanza d'accordo con lui. Il rischio concreto è perdere il timone del progetto: l'intelligenza artificiale genera codice così in fretta, e in quantità così grandi, che trovare un bug a mano diventa difficilissimo. Se in una sessione vi genera cinquanta file, leggerli tutti dalla A alla Z vi porta via un sacco di tempo. Per questo, se la usate, datele confini netti.

Io la uso soprattutto per le ricerche: quando devo mettere insieme tante informazioni e tanti studi, un buon riassunto mi aiuta. Ma gli approfondimenti li vado a leggere io, perché non voglio che mi sfugga niente.

La regola da portarvi via

Insomma, la regola è questa: il software libero cresce quando le persone si incontrano. Scegliete un progetto che usate, contribuite anche con poco, e trattate ogni riga di codice, scritta da voi o generata, come qualcosa che dovrete mantenere negli anni.

Grazie ancora a Diego per il tempo e la generosità. Con lui stiamo lavorando a tante cose in associazione, quindi ne sentirete parlare ancora.

Per approfondire

E voi siete già nel fediverso? Da quale piattaforma siete partiti? Scrivetelo nei commenti del video.

Fonti