RSS è una famiglia di formati basati su XML per la distribuzione e l'aggregazione di contenuti Web. Un documento RSS, chiamato comunemente feed, elenca in forma strutturata gli aggiornamenti pubblicati da un sito — articoli, post, episodi audio — insieme a metadati come titolo, autore, data e collegamento all'originale. Un programma detto aggregatore o lettore di feed interroga periodicamente i feed a cui l'utente si è iscritto e ne presenta i contenuti in modo omogeneo, senza che sia necessario visitare i singoli siti a uno a uno.
La sigla è stata sciolta in tre modi diversi, corrispondenti a rami di sviluppo distinti e non a semplici sinonimi: RDF Site Summary nella versione originale del 1999 e in RSS 1.0, Rich Site Summary nelle versioni 0.9x di UserLand, e Really Simple Syndication in RSS 2.0. Questa ambiguità terminologica riflette la vicenda del formato, sviluppato in parallelo da gruppi in disaccordo tra loro e mai sottoposto a un processo di standardizzazione formale.
RSS non è uno standard approvato da un ente di normazione: è uno standard de facto. Il ramo principale, RSS 2.0, è mantenuto dall'RSS Advisory Board sotto licenza Creative Commons ed è fermo alla revisione 2.0.11 del 2009; il ramo RDF, RSS 1.0, è pubblicato da un gruppo di lavoro indipendente. Le frizioni tecniche e organizzative fra i due rami hanno portato nel 2003 alla creazione di un formato concorrente, Atom, questo sì standardizzato dall'IETF nel 2005. Nonostante il calo di popolarità presso il pubblico generalista, RSS resta l'infrastruttura di distribuzione del podcasting e uno dei principali canali di scambio automatico di contenuti fra siti Web.
Storia
I precedenti L'idea di descrivere in forma strutturata e leggibile da una macchina i contenuti di un sito precede RSS di alcuni anni. Nel 1995 Ramanathan V. Guha e altri ricercatori dell'Advanced Technology Group di Apple svilupparono il Meta Content Framework (MCF), un modello per la rappresentazione di metadati che confluirà poi nelle specifiche del RDF. Nel 1997 Microsoft propose il Channel Definition Format (CDF), impiegato nella tecnologia push di Internet Explorer 4, mentre Dave Winer della UserLand Software pubblicava il proprio sito in un formato XML denominato scriptingNews.
RSS 0.90 e My Netscape Network La prima versione di RSS fu pubblicata da Netscape il 15 marzo 1999, su specifica scritta da Ramanathan V. Guha, per alimentare il portale web My Netscape Network. La sigla stava allora per RDF Site Summary e il formato era una applicazione di RDF: consentiva ai fornitori di contenuti di esporre titoli e collegamenti degli articoli, che il portale raccoglieva e mostrava ai propri utenti registrati. Un documento RSS 0.90 non poteva superare gli 8 kilobyte, conteneva un solo canale e al massimo quindici notizie.
L'adesione fu rapida e ampia. Il 10 luglio 1999 Netscape pubblicò la versione 0.91, redatta da Dan Libby, che abbandonava RDF in favore di XML puro e introduceva una DTD con le entità carattere di HTML. La semplificazione era deliberata: il modello RDF era considerato troppo complesso per l'uso che se ne faceva.
La scissione del 2000 Netscape, assorbita da AOL, abbandonò progressivamente il progetto e chiuse l'aggregatore di My Netscape Network. Il formato fu però adottato dalla comunità dei blogger, e il 9 giugno 2000 UserLand Software pubblicò una propria versione 0.91, curata da Dave Winer, priva della DTD di Netscape.
La duplicazione della stessa sigla di versione da parte di due soggetti diversi, insieme al disaccordo sull'opportunità di tornare a RDF, provocò una scissione. Un gruppo di sviluppatori costituì l'RSS-DEV Working Group, presieduto da Rael Dornfest, che il 6 dicembre 2000 pubblicò RSS 1.0: un formato nuovamente conforme a RDF, esteso tramite namespace XML e vocabolari di metadati come il Dublin Core. Fra gli autori figurano Dan Brickley, Ramanathan V. Guha, Eric Miller e Aaron Swartz.
Contrariamente a un'attribuzione diffusa, RSS 1.0 non è una specifica del W3C: il documento è firmato e pubblicato dagli autori del gruppo di lavoro, con una propria nota di copyright, e non ha mai seguito il processo di raccomandazione del Consorzio. Il W3C non ha mai standardizzato alcuna versione di RSS; il legame è indiretto, in quanto RSS 1.0 si conforma alla specifica RDF, che è invece una raccomandazione del W3C.
Diciannove giorni dopo, il 25 dicembre 2000, UserLand rispose con RSS 0.92, evoluzione del proprio ramo XML, che rimuoveva diversi limiti della 0.91, ammetteva HTML nel campo della descrizione e introduceva l'elemento . Le successive bozze 0.93 e 0.94, del 2001 e del 2002, non furono mai pubblicate come versioni ufficiali e non compaiono nella cronologia mantenuta dall'RSS Advisory Board.
RSS 2.0 e il passaggio a Harvard Nell'agosto 2002 UserLand pubblicò RSS 2.0, erede diretto del ramo 0.9x. La novità principale è il pieno supporto ai namespace XML, che rende il formato estendibile senza modificarne il nucleo, insieme a nuovi elementi come , , e . Il numero di versione fu portato a 2.0 proprio per segnalare che il formato di base era considerato concluso: le estensioni sarebbero avvenute per moduli.
Il 15 luglio 2003 UserLand cedette il copyright della specifica al Berkman Center for Internet & Society della Harvard Law School, che la ripubblicò sotto licenza Creative Commons Attribuzione-Condividi allo stesso modo. Contestualmente Winer costituì con Brent Simmons e Jon Udell l'RSS Advisory Board, l'organismo che da allora cura la specifica: dieci revisioni successive hanno chiarito punti ambigui senza modificare il formato, fino alla 2.0.11 del 30 marzo 2009, tuttora corrente. Nel 2008 anche Netscape trasferì all'Advisory Board le specifiche 0.90 e 0.91.
La nascita di Atom Nel giugno 2003 Sam Ruby aprì un wiki per discutere la progettazione di «una voce di log ben formata», raccogliendo gli sviluppatori insoddisfatti tanto della frammentazione tecnica quanto delle controversie sulla titolarità del formato. Il progetto, inizialmente chiamato Echo, prese il nome di Atom e nel giugno 2004 fu portato all'IETF, dove il gruppo di lavoro atompub venne presieduto da Tim Bray e Paul Hoffman.
Nel dicembre 2005 lAtom Syndication Format fu pubblicato come standard proposto nella RFC 4287, seguito nell'ottobre 2007 dallAtom Publishing Protocol nella RFC 5023. Rispetto a RSS 2.0, Atom definisce un modello dati esplicito, impone le marche temporali nel formato RFC 3339 anziché RFC 822, consente di indicare la lingua di ogni singolo elemento tramite l'attributo e distingue in modo non ambiguo il testo semplice dal contenuto marcato.
Diffusione, declino e persistenza Fra il 2004 e il 2006 RSS raggiunse il pubblico generalista. Nel settembre 2004 Mozilla Firefox introdusse un'icona quadrata arancione, disegnata da Stephen Horlander, per segnalare la presenza di un feed; nel dicembre 2005 i team di Internet Explorer e Outlook annunciarono di adottarla, e pochi mesi dopo fece lo stesso Opera. L'icona divenne così il segno convenzionale dei feed, sostituendo la pluralità di pulsanti e diciture testuali usati fino ad allora.
La diffusione presso gli utenti finali restò tuttavia circoscritta. Secondo le rilevazioni di Forrester Research, la quota di adulti statunitensi che utilizzavano feed RSS almeno una volta a settimana passò da circa il 7% del 2008 a poco più del 4% del 2012. Il 13 marzo 2013 Google annunciò la chiusura di Google Reader, allora il lettore di feed più diffuso, motivandola con il calo di utilizzo; il servizio fu dismesso il 1º luglio successivo, nonostante petizioni che raccolsero decine di migliaia di firme. L'episodio è comunemente indicato come lo spartiacque della popolarità di RSS presso il grande pubblico.
Il formato non è però scomparso: resta lo strumento di distribuzione universale del podcasting, è impiegato dagli aggregatori di notizie e dai sistemi di monitoraggio, e ha conosciuto una nuova attenzione con la diffusione di piattaforme che rifiutano la mediazione degli algoritmi delle reti sociali.
Versioni e compatibilità
I due rami Le versioni di RSS appartengono a due famiglie tecnicamente distinte e non interoperabili.
Il ramo Netscape–UserLand (0.91, 0.92, 2.0) è XML puro: la radice è l'elemento , dotato di attributo , e la struttura è deliberatamente semplice. È il ramo di gran lunga più diffuso.
Il ramo RDF (0.90 e 1.0) è un'applicazione di RDF: la radice è e il documento è al tempo stesso un feed e un grafo di asserzioni interrogabile con gli strumenti del Web semantico. RSS 1.0 è estendibile per moduli senza toccare il nucleo del formato: è questa la differenza sostanziale rispetto all'altro ramo, che alla stessa esigenza ha risposto più tardi con i namespace XML.
I due rami condividono il vocabolario di base — un canale contenente una serie di elementi — ma non la sintassi, e un documento dell'uno non è un documento valido dell'altro. La maggior parte dei lettori di feed li interpreta comunque entrambi, insieme ad Atom.
Prospetto delle versioni Data Versione Pubblicata da Autore Modello 15 marzo 1999 0.90 Netscape Ramanathan V. Guha RDF 10 luglio 1999 0.91 Netscape Dan Libby XML con DTD 9 giugno 2000 0.91 UserLand Software Dave Winer XML 6 dicembre 2000 1.0 RSS-DEV Working Group gruppo di lavoro RDF 25 dicembre 2000 0.92 UserLand Software Dave Winer XML 19 agosto 2002 2.0 UserLand Software Dave Winer XML con namespace 15 luglio 2003 2.0.1 Berkman Center, Harvard Dave Winer XML con namespace 30 marzo 2009 2.0.11 (corrente) RSS Advisory Board RSS Advisory Board XML con namespace Fonte: cronologia dell'RSS Advisory Board. Le bozze 0.93 e 0.94 non vi compaiono in quanto mai pubblicate come versioni ufficiali.
La questione della compatibilità La coesistenza di più versioni con numerazioni sovrapposte ha prodotto un problema di compatibilità a lungo dibattuto. Le dichiarazioni di retrocompatibilità contenute nelle specifiche sono state contestate: nel febbraio 2004 lo sviluppatore Mark Pilgrim pubblicò un'analisi comparata, ampiamente citata, in cui documentava le modifiche incompatibili introdotte da ciascuna versione e concludeva polemicamente che le versioni di RSS reciprocamente incompatibili non erano sette, come si sosteneva allora, ma nove.
Fra le divergenze rilevate: l'elemento contenuto in assume valori da 0 a 23 nelle specifiche Netscape e in RSS 2.0.1, ma da 1 a 24 nel ramo UserLand precedente; l'elemento di Netscape è scritto da UserLand: essendo XML sensibile alle maiuscole, si tratta di due elementi diversi; la rimozione della DTD da parte di UserLand invalida le entità carattere HTML ammesse da Netscape; il contenuto di passa da testo semplice in RSS 0.91 a HTML in RSS 0.92, senza che il numero di versione segnali il cambiamento semantico; la bozza 0.94 introdusse un attributo su per dichiarare il tipo MIME del contenuto; RSS 2.0 lo eliminò, considerandolo fonte di confusione, lasciando però indeterminato il modo in cui un programma debba stabilire se una descrizione contenga HTML.
Le revisioni successive alla 2.0 sono state pubblicate mantenendo invariato il numero di versione dichiarato nei documenti, che resta : un programma non può quindi distinguere dal solo feed a quale revisione della specifica esso si conformi. Per attenuare questi problemi l'RSS Advisory Board ha pubblicato nel 2007 il RSS Best Practices Profile, una raccolta di raccomandazioni sull'uso degli elementi ambigui.
Le versioni a confronto La sequenza che segue documenta, versione per versione, come si presenta lo stesso feed di esempio e quali modifiche incompatibili sono state introdotte a ogni passaggio.
RSS 0.90 La versione originale di Netscape, conforme a RDF, con la radice :
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://my.netscape.com/rdf/simple/0.9/"> <channel> <title>Mozilla Dot Org</title> <link>http://www.mozilla.org</link> <description>the Mozilla Organization web site</description> </channel>