RSS

RSS (Rich Site Summary, RDF Site Summary, Really Simple Syndication) is a popular XML-based format (or, rather, group of formats) for providing feeds of content such as news articles, blog posts, podcasts, or, really, anything that can be distributed on the web which has updates for which an audience wishes notification. Unfortunately, there is a bewildering array of not-quite-compatible versions of RSS, and a good deal of squabbling over which version is the "real" one and who should be considered the "official" entity in charge of its development and standardization.

History
RSS was originated at Netscape in the late 1990s for use on its "portal" page, my.netscape.com. (This was in the era when just about every website was trying to be a "portal", with everything under the sun from weather reports to stock quotes embedded right into the front page, and user-customizable.) The idea was that sites could make their headlines and article descriptions, with links to the full article in the original site, available in a standardized format so they could be included on the portal page. The format was initially adapted as a variety of RDF, which in turn was XML-based. With Netscape promoting it, a number of sites began using it, and some tools for dealing with RSS feeds were produced by independent developers.

However, Netscape later pulled the rug out from under the RSS world by abruptly dumping all support for the format. By then they had been acquired by AOL (gag, vomit, retch), and whatever the heck the business model was for Netscape under this management, it apparently didn't include providing a standardized format for outside sites to put their content in a Netscape portal.

But by then there was enough third-party use of RSS that it kept on going even without corporate support. However, there was no clear line of succession to any "official" developer, since Netscape was pretending RSS never existed, and not making any sort of arrangements to hand it off to somebody else who actually cared about it. Two different groups stepped into the void by developing their own RSS standards, independently of one another and of Netscape. One was led by Dave Winer (who had created some RSS tools previously for UserLand Software), and the other, the RSS-DEV Working Group, was a non-profit coalition involving a number of individuals (including the late Aaron Swartz). Each of these groups has released a series of versions of the RDF standard, making two major "forks" (usually regarded as "1.x" for the RSS-DEV version and "2.x" for the Dave Winer version by what was later known as the RSS Advisory Board, due to the version numbering used). The original Netscape versions were numbered in the 0.9 sequence, and a few more 0.9 versions were released as part of what eventually became the "2.x" fork, just to confuse things even more.

Yet another version, the proposed RSS 1.1 spec, is a draft not actually produced or endorsed by any of the organizations involved in the tangled history of RSS.

These versions differ in all sorts of details: whether or not they support RDF features, whether HTML tags are legal within various elements, and if so, should they be rendered as HTML or displayed as raw code, what set of character entities are supported, and so on. However, there are extension mechanisms by which developers are able to "port" their favorite features from one version into RSS code for another. RSS implementations end up supporting some sub- or superset of the various features without necessarily having any standards-based coherence. It's a mess.

To get away from the mess (as well as any possible intellectual-property claims anybody might assert to RSS; Winer's group at one point attempted unsuccessfully to trademark the name), some have championed an alternative feed format called Atom.

Uses
Lots of software (browser plugins, standalone programs, etc.) will let you subscribe to RSS feeds and see the latest additions to your favorite sites, podcasts, etc. at a glance. iTunes uses RSS (version 2.0, with an iTunes-specific DTD) for podcasts; producers of a podcast maintain such a file on their site, pointing at the URLs of the audio files through the "enclosure" element, and submit the URL of the feed to Apple for inclusion in the iTunes store.

Up to 2013, Google Reader was a very popular service using RSS, but it was then discontinued.

Versions
Because of the multiple independent branches, versions were not actually released in the order implied by their numbers.


 * 0.90 was the original Netscape spec, based on RDF (though it was a preliminary RDF version, so it wasn't actually compatible with the final RDF spec)
 * 0.91 is a "simplified" version adopted by Netscape, dropping all reference to RDF
 * 0.91 [another version with the same number] is Dave Winer's first version, mostly compatible with Netscape's RSS 0.91 (not RDF-based)
 * 0.92 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
 * 0.93 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
 * 0.94 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
 * 1.0 is the RSS-DEV Working Group version, based largely on the original 0.90 version (not the later 0.9x ones), but made to be compatible with the final RDF standard.
 * 1.1 is an independently-developed draft intended to succeed 1.0.
 * 2.0 was produced by Dave Winer's group, but then succeeded by 2.0.1 (which is still referred to as 2.0), and no formal spec to the original 2.0 is available (the spec under that label is actually for a later revision).
 * 2.0.1 is a newer Dave Winer version, based on the 0.9x versions (not the 1.x ones which are in a separate branch), which has XML namespace extension mechanisms built in. There have been multiple 2.0.1 versions with no numbering change, despite a supposed "freeze" in this standard.
 * 2.0.11 is what the current RSS 2.0 specs call the very latest version as of this writing.

File extension
Sometimes, a specific .rss extension is used for RSS feeds, while at other times it is stored in files with a generic .xml extension.

MIME type
application/rss+xml is in common use, but has not actually succeeded in completing registration with IANA, perhaps due to all the confusion about which variety of RSS is actually "official". Sometimes it's served with a generic XML type, text/xml, along with the .xml extension.

Standards

 * RSS 0.90 Specification
 * RSS 0.91 Specification
 * RSS 1.0 Specification
 * RSS 1.1 draft
 * RSS 2.0 Specification
 * Application for MIME type (2001 draft)

Validators

 * Feed Validator - validates various RSS and Atom versions

Sample files

 * Slashdot RSS feed
 * Not The Wikipedia Weekly podcast feed in iTunes format
 * Risks Digest RSS 1.0 full text feed
 * Risks Digest RSS 2.0 full text feed

Software

 * RSS Reader
 * RSS Publisher
 * Simple RSS Reader for Firefox
 * Sage RSS Reader for Firefox
 * Feedly for Firefox
 * RSS reader for Google Chrome

Other links

 * Wikipedia article
 * History of the RSS Fork (Mark Pilgrim)
 * The myth of RSS compatibility
 * iTunes podcast specs (including their version of RSS format)
 * Why RSS still matters
 * Google shutting down Google Reader; where should we go next?
 * ReplaceReader: suggestions of RSS readers
 * Kickstarting Operator: a censorship-resistant, shape-shifting newsreader