RDF, RSS, Atom

RSS is the new buzzword of the internet (especially since they can easily be used in the same sentence as XML, another great buzzword). Nobody really knows what it means, but some people believe it is RDF Site Summary (and NO it's not another recursive acronym), or Rich Site Summary, or Really Simple Syndication. Nobody really knows. I'll try to understand a bit more as I write that article.

The origins : RDF

Originally was RDF. It's a quite complex DTD from W3C. The W3C explains it like this : The Resource Description Framework (RDF) integrates a variety of applications from library catalogs and world-wide directories to syndication and aggregation of news, software, and content to personal collections of music, photos, and events using XML as an interchange syntax. The RDF specifications provide a lightweight ontology system to support the exchange of knowledge on the Web.

However, it was too complex for what we were really interested in, that is, exchange of headlines between websites. So Netscape decided to simplify all this ...

RSS v.0.90

Netscape used a subset of RDF that just fit its needs, and called it RSS, for RDF Site Summary. It was compatible with RDF.

RSS v.0.91

Then Userland stole the specification and released RSS v.0.91. (It also drops RDF compatibility, and RSS became Rich Site Summary with this version). This version is still quite popular, and is very simple. It's probably the way to go for basic syndication.

RSS v.1.0

But another group, RSS-DEV Working Group thought better. They released RSS v.1.0, which is still RDF-compatible, and uses namespaces extensively.

RSS v.2.0

Userland reacted, of course, and released RSS 2.0, now Really Simple Syndication. It isn't RDF-compatible, but has the same kind of extensibility as RSS 1.0.

And now, Atom !

Some people decided there was just too many syndication DTD used, so they decided ... to create another one ! Ok, but this one is vendor-neutral, and uses a different name, so it might finally be a good idea. Atom is still under development, you might want to have a look at their Wiki if you want stay tuned.

Conclusion

So we have 1 acronym (RSS), 3 meanings, and 4 versions that hit the web. Isn't it simple ? No ? Well, this article has a nice table that I will copy as a conclusion.

Version Owner Pros Status Recommendation
0.90 Netscape   Obsoleted by 1.0 Don't use
0.91 UserLand Drop dead simple Officially obsoleted by 2.0, but still quite popular Use for basic syndication. Easy migration path to 2.0 if you need more flexibility
0.92, 0.93, 0.94 UserLand Allows richer metadata than 0.91 Obsoleted by 2.0 Use 2.0 instead
1.0 RSS-DEV Working Group RDF-based, extensibility via modules, not controlled by a single vendor Stable core, active module development Use for RDF-based applications or if you need advanced RDF-specific modules
2.0 UserLand Extensibility via modules, easy migration path from 0.9x branch Stable core, active module development Use for general-purpose, metadata-rich syndication