近年、ブログが盛んになり、読者のみなさんの中でもブログを運営されている方も多いことでしょう。私は、仕事で開発者の立場でブログに携わることはあるものの、まだ自分自身でブログを運営しておりません。実は MovableType のライセンスはすでに購入したので、近々、このコーナーをブログで構築し直そうかと思っています。
ブログを運営するにあたり、運営者側の興味の一つに RSS があげられるでしょう。簡単に言えば、ブログ記事の新着・更新情報をヘッドラインにまとめ、RSS ファイルとしてサイト上に公開します。もし貴方のサイトの常連がいるとすれば、その常連は RSS リーダーと呼ばれるソフトを使って、貴方の新着情報を知ることができるようになるわけです。RSS リーダーは、登録された RSS ファイルの URL に従って、巡回チェックをするのです。
当初、RSS もマニアックなツールに過ぎませんでしたが、近年は asahi.com 等の大手ニュース配信サイトでも RSS に対応するなど、コンテンツも増えてきました。また、RSS リーダーもフリーで多数出回るようになり、多くの方が利用するようになりました。RSS もメジャーなメディアとしての地位を確立してきたといえます。ただし、あくまでも RSS はサイト運営の手段の一つに過ぎません。RSS に対応したからといって、読者が急激に増えるなどということは決してありません。結局は、RSS リーダーに登録してもらえるほどの魅力的なコンテンツと更新頻度が求められるのです。しかし、地道に努力して定期的にコンテンツを更新してきたサイトにとっては、RSS は非常に有効な手段でしょう。
さて、前置きが長くなりましたが、今回は、その RSS の技術的な背景をご紹介していき、混迷する RSS 仕様の行方を占っていきたいと思います。
RSS の仕様の種類と歴史
まずは、RSS の仕様に関してご紹介します。RSS といっても実はいくつかの派生が存在しています。恐らく、RSS、RDF、Atom といった用語を聞いたことがあるのではないでしょうか。いずれも別々の団体が仕様化したもので、技術的には全く異なるフォーマットになっています。RSS の仕様は大きく分けて、3つに分かれます。
Rich Site Summary/ Really Simple Syndication (RSS 0.9x/2.0 系)
最初に RSS をブレイクさせた仕様といってもいいでしょう。もともと UserLand Software 社が 1997 年に策定した scriptingNews というフォーマットに端を発します。その後、1999 年に、Netscape 社によって、my.netscape.com 向けに RSS 0.90 が策定されましたが、scriptingNews フォーマットをサポートしていました。同年 UserLand Software 社は RSS 0.90 すべての機能を包含し、さらに拡張をした ScriptingNews 2.0b1を発表しました。さらに同年、Netscape 社は、ScriptingNews 2.0b1 すべての機能を包含し、さらに拡張を施した RSS 0.91 を発表しました。ついに、UserLand 社は、自社の scriptingNews フォーマットを捨て、RSS 0.91 を採用することになりました。そして、Netscape は RSS から手を引くことになり、RSS 0.91 は UserLand社の RSS 0.91 として 2000 年に公開されたのです。
Netscape 社の RSS は W3C が規定する RDF ベースだったのですが、UserLand 社の RSS 0.91 からは、シンプルさを求め、独自の XML フォーマットに変更されています。
多くのブログツールが対応しているのは、この UserLand Software 社の RSS 0.91 からです。その後、RSS 0.92 を経て、RSS 2.0 にバージョンアップされました。ScriptingNews から RSS 2.0 は、UserLand Software 社の創設者 Dave Winer 氏が主体となって策定された仕様です。彼はすでに UserLand Software 社を去り、ハーバード大学法学大学院の Berkman Center の特別研究員となっているようです。RSS 2.0 以降は、Berkman Center のサイトにて公開されています。
以上の経緯の詳細は、Berkman Center のサイト内の "RSS History" で説明されています。
尚、UserLand Software 社が策定した RSS 0.9x は "Rich Site Summary" の略ですが、RSS 2.0 は "Really Simple Syndication" の略です。ただ、既にお蔵入りとなった Netscape 社の 0.9x は "RDF Site Summary" と呼ばれていたようで、次に説明する RSS 1.0 と同じです。ややこしいですね。
RSS 0.9x/2.0 系の特徴は、配信する内容はヘッドライン情報に限っている点です。そのため、フォーマットが非常にシンプルで分かりやすいのが特徴です。これは、広く普及した要因の一つでしょう。
RDF Site Summary (RSS 1.0 系)
この仕様は、RSS 1.0 とも呼ばれ、前述の UserLand Software 社の RSS 0.9x や RSS 2.0 の系統とは全く別物です。同じ RSS という略記が使われているので、まるで一連のバージョンと勘違いされている方も多いのではないでしょうか。私の感想では、どちらかというと、お蔵入りとなってしまった Netscape 社の RSS 0.9x の後継と言ったほうがいいかもしれません。UserLand Software 社の RSS 0.9x が使われだしてから、利用者が勝手に規定外の要素を追加するなどして、混乱を呈してきました。そこで、RSS 1.0 は、それまでの RSS 0.9x をより豊富なデータを転送できるよう拡張できるよう再定義するために策定されたものです。拡張とは、XML 名前空間を指定することで、さらにさまざまな要素を追加して配信できるようになったのです。RSS 0.9x/2.0 系ではヘッドライン情報といった要約情報しか遅れなかったのに対し、RSS 1.0 では拡張した XML 名前空間を使ってコンテンツの内容そのものも配信できるようになっています。
RSS 1.0 仕様は web.resource.org にて公開されており、Aaron Swartz 氏らによって作成されたものです。ちなみに彼は、W3C RDF Core Working Group のメンバーです。
大きな技術的特徴としては、W3C の RDF 仕様に準拠し、XML の名前空間を使って拡張できる点があげられるでしょう。また、名前空間を使った拡張部分を除いては、RSS 0.9x との下位互換性があると仕様で謳われております。しかし、前述の Berkman Centerの "RSS History" では、"RSS 1.0 は、0.9 のような RDF ヘッダーはあるものの、それ以外は全くの新規のフォーマットで、以前のバージョンとは関係が無い。"と謳っています。まぁ、これら言い回しの違いは、両者の立場の違いなんでしょうかねぇ。少なくとも私が見る限り、RSS 0.9x/2.0 系と RSS 1.0 系は、まったく別物という印象を持っています。
RSS 1.0 の仕様では、UserLand Software 社の RSS 0.9x のおかげで RSS が広く使われるようになったと賞賛しつつも、Netscape 社の RSS 0.91 から UserLand Software 社の RDF 0.91 に変貌する仮定で、RDF の本質が欠落してしまったことへの憤り感じているように読み取れます。確かに、RSS 1.0 を策定した Aaron Swartz 氏は、W3C RDF Core Working Group のメンバーなのですから、そう思うのは当然でしょう。そして、それを克服すべく RSS 1.0 が策定されたと読み取れます。両者のドキュメントを見る限り、それぞれに対立意識があるのは間違いないでしょうね。
Atom
すでに 2 系統ある RSS ですが、さらにもう一つ加わることになったのです。それは、Atom と呼ばれるフォーマットです。Atom は、すでに 2 系統ある RSS を一旦捨てて、ゼロベースから生み出されたフォーマットです。つまり、まったく互換性が無いフォーマットです。
では、そこまでして、なぜ Atom が考え出されるようになったのでしょうか。それは、RSS 0.9x/2.0 系フォーマットではヘッドライン情報しか送れないという点と、RSS 1.0 では拡張されたものの非常に複雑という点を克服し、分裂していた規格を一つに統合するためです。Atom というものを簡単に説明すると、記事更新情報配信とAPI の提供です。記事更新情報配信は今までの RSS と同じものです。API とは、記事の投稿・編集・削除などのオペレーションを行うためのプログラムインタフェースを定義したものです。
米国では、米 Google の「ブロガー」サービスで Atom を採用するということで議論を巻き起こしたようです(CNET Japan の記事より)。すでにブログツールで有名な Movable Type の開発元である Six Apart 社も Atom を支持していますので、Atom 陣営にとっては追い風となっています。対して、米 Yahoo! は RSS の採用を決定しており、大手サービスオペレータが分裂するという事態になっています。その後、停戦が呼びかけられ、統合の方向の可能性が出てきました。(CNET Japan の記事より)。これが 2004 年 3 月のことですが、現在はどうなっているんでしょうね。
Atom は、業界標準を目指し、現在は、IETF の Ineternet-Draft になっています。しかし、短期間にさまざまなバージョンアップが繰返され、さらにその仕様が大きく変わってしまうこともあり、混乱を招いているようです。まだまだこれからって所なんでしょう。早く RFC になることを期待しています。
RSS 年表
| 時期 | 0.9x/2.0 系統 | 1.0 系統 web.resource.org |
Atom | |||||||
| Netscape 社 | UserLand 社 | Berkman Center | ||||||||
| RDF Site Summary | Rich Site Summary | Really Simple Syndication |
RDF Site Summary | |||||||
| 1997年 | scriptingNews | |||||||||
| 1999年 | RSS 0.90 | |||||||||
| scriptingNews 2.0b1 | ||||||||||
| RSS 0.91 | ||||||||||
| discontinued | ||||||||||
| 2000年 | RSS 0.91 | |||||||||
| RSS 0.92 | ||||||||||
| obsolete | RSS 1.0 | |||||||||
| 2003年 | RSS 2.0 | |||||||||
| 2004年 | draft-ietf-atompub-format-01 | |||||||||
| draft-ietf-atompub-format-02 | ||||||||||
| draft-ietf-atompub-format-03 | ||||||||||
| 2005年 | draft-ietf-atompub-format-04 | |||||||||
RSS の現状
すでに 3 系統の RSS フォーマットが存在するわけですが、現状はどのフォーマットが良く使われているのでしょうか。私の所感でいうと、海外では RSS 0.9x/2.0 系が多く使われ、日本国内のサイトでは RSS 1.0 が多く使われているようです。恐らく、RSS の人気が出始めた時期の違いではないかと思います。海外(特にアメリカ)では RSS 0.9x しかない時代にすでに RSS が使われていたこともあり、そのまま RSS 0.9x そしてその後継である 2.0 が多く使われているのではないかと思われます。それに対して、日本国内では、アメリカに後れて流行りだしましたが、そのときちょうど RSS 1.0 がリリースされていたため、それが採用されてきたのではないでしょうか。Atom はまだ Internet-Draft の段階ということもあり、実運用で使われているところはまだ少ないようです。
RSS フィードをしている国内の有名なサイトと、対応している RSS バージョンをいくつかご紹介しましょう。
- アサヒ・コム [RSS 1.0]
- CNET Japan [RSS 1.0]
- @IT [RSS 0.91/1.0/2.0]
- はてな [RSS 1.0]
- OSDN Japan [RSS 1.0]
そして、このサイトで紹介するにはちょっと異色ですが。
- 眞鍋かをりのここだけの話 powerd by ココログ [RSS 1.0]
もし貴サイトで RSS フィードを行いたいのであれば、どのフォーマットを採用するのがいいのかと迷うかもしれませんが、RSS 1.0 もしくは RSS 2.0 のいずれかに対応していれば全く問題ないでしょう。多くの RSS リーダは、どちらのフォーマットにも対応しています。
RSS の今後
以上、RSS の歴史から現状までを見てきましたが、この後、どのフォーマットがデファクトスタンダードとなるかは、誰にも分かりません。ただ、開発者としての立場から言わせてもらえば、何でもいいから 1 つにしてくれ!といいたいところです。ネット業界とは関係の無い世界でも、これと同じようなことが起こりましたね。ビデオの VHS とベータ、次期 DVD の Blue Ray と HDD。それぞれが切磋琢磨に技術を革新することは良いことではありますが、2 つ以上のスタンダードが出てきてしまうと、混乱するのは結局のところ消費者(利用者)です。RSS も同様ではないでしょうか。自分が使っているブログツールは、どちらに対応しているのか、もしくはどちらにも対応してるのか、なんてことをいちいち気にしないといけないわけです。早くこの論争が収束することを望むばかりです。
では、最終的にどのフォーマットがデファクトスタンダードになりそうかといえば、私の感想では Atom ではないかと思っています。
このような規格は、開発者がそれを採用して各種プロダクトに実装されなければ使われることはありません。開発者の立場からすれば、公共的な組織によって策定もしくは認められた仕様のほうが、安心です。もしある規格を採用し一生懸命プロダクトを作ったとしても、採用した規格が廃れてしまって、そのプロダクトそのものの価値がなくなってしまってはもともこもありません。開発者に限らず、サービスオペレータも同様の立場でしょう。そういう点では、IETF の RFC になりそうな Atom に一票ってところでしょうか。
もう一つ忘れてならないのが、RPC の機能です。リモートからサーバに対していろいろな処理をコールするものなのですが、一種のウェブサービスですね。Atom は Atom API という名前で、ウェブコンテンツ更新用のインタフェースを規定しています。先日、日本国内でも「はてな」が「はてなフォトライフ」に限って Atom API を採用し、「はてなフォトライフAtomAPI」を公開したばかりです。今後も Atom API を採用するサービスオペレータが増えてくるのではないでしょうか。RSS 0.9x/2.0 系の策定に携わった UserLand Software 社も、XML-RPC という規格を策定しております。ただ、やはりある特定の企業に仕様が握られているという構図は、開発者から見れば望ましいものではありません。これは、Atom という規格ができてた理由の一つでもあるようです。IETF のような公共的な団体で、Draft 段階から一般に意見を求め、それに基づき改善された上で勧告となるほうが安心感がありますよね。こういう点でも Atom に一票です。
廃れるか、流行るかは、このような公共的な組織によって策定・認定されることで確信できるわけではないのですが、好材料の一つではあります。RSS の世界は、一つだけのプロダクトで成り立っているわけではなく、さまざまなプロダクトが有機的に連携することで、その真価を発揮するものです。このような使われ方である以上、IETF のような機関で仕様化されたほうが受け入れやすいのではないでしょうか。ただ、まだ Atom は現段階では Internet-Draft です。その後に期待ですね。ただ、RFC になったところで、すぐにそれがデファクトスタンダードになるわけではありません。それまでには何年かかかるでしょう。その間は、相変わらず各種フォーマットが混在することになるのでしょう。日本国内では、当分の間、RSS 1.0 が主流ってことになりそうですね。
関連リンク