Roztomilé specifikační schizma

18. 8. 2003
Doba čtení: 5 minut

Sdílet

Ano, řeč je o RSS. Běžně používaný formát pro popis obsahu webových serverů se dnes vyskytuje v několika verzích vyvíjených konkurenčními skupinami. Případ RSS je zajímavou ukázkou open projektu, v jehož zákulisí nedorozumění a neschopnost komunikovat převládly nad snahou o efektivní spolupráci.

Princip RSS je velmi jednoduchý. Určité URL je přiřazeno často aktualizovanému dokumentu v dohodnutém formátu, jehož obsahem je stručný popis obsahu webu, souhrn novinek a podobně. Pravidelným načítáním tohoto dokumetu pak lze dosáhnout efektu kanálu, který sám „tlačí“ své informace uživatelským agentům. Tímto způsobem je možné snadno sdružovat a zpracovávat informace z mnoha zdrojů. Dobrý nápad, jednoduché provedení – není divu, že se kanály RSS rychle rozšířily po celém webu a nabízejí pozoruhodné množství i kvalitu informací. Jedinou vadou na kráse je naprostý chaos ve verzích formátu, v němž jsou informace poskytovány.

Příčniny současného chaosu musíme, jak jinak, hledat v minulosti. Formát RSS původně navrhla jako aplikaci XML firma Netscape pro potřeby svého portálu my.netscape.com. První verze RSS označená 0.9 se objevila v březnu 1999. Firma UserLand, jež se sdružováním obsahu zabývala už někdy od roku 1997 (měla vlastní formát zvaný<scriptin­gNews>), začala RSS také podporovat. V červenci 1999 Netscape představil verzi RSS 0.91, která v sobě integrovala také prvky ze <scriptingNews>. V dalším období Netscape ztrácí zájem a hlavním hráčem na poli RSS se stává David Winer z UserLandu. V červnu 2000 přichází s vlastní specifikací verze 0.91.

Dave Winer je podle mnoha svědectví nekonformní člověk, s nímž není vždy úplně snadné se domluvit. Formát RSS se začal významně rozšiřovat a část komunity jeho uživatelů získala dojem, že Dave brzdí další rozvoj. Budiž řečeno, že mnozí lidé začali chápat RSS jako něco jiného, než čím původně bylo, a snažili se přizpůsobit jeho další vývoj svým představám. Brzy vznikla mezinárodní skupina vedená Raelem Dornfestem a Aaronem Swartzem, jež v prosinci 2000 navrhla novou verzi RSS 1.0 založenou na RDF. Téměř ve stejnou dobu zveřejnil Winer verzi RSS 0.92. Dál už to začíná připomínat frašku. Dave Winer úsilí příznivců RDF ignoroval a srpnu 2002 je přetrumfnul publikováním verzeRSS 2.0. Na tento krok ještě dokázal zareagovat Aaron Swartz vydáním parodické verze RSS 3.0 o necelý měsíc později.

Zmatek ve verzích pochopitelně komplikuje život poskytovatelům informací. Nezbývá jim, než si pro své kanály vybrat jednu nebo více verzí. Někteří poskytovatelé obsahu pak neváhají oznámit světu, že jejich kanál je to pravé, platné RSS. O verzi ani zmínka.

RSS valid

Možná jste si všimli, že jsem až dosud taktně pomlčel o tom, co se vlastně skrývá za zkratkou RSS. Není to totiž nijak jednoznačné. V původní interpretaci Netscapu RSS mělo znamenat Rich Site Summary. Specifikace verze 0.91 tvrdí, že RSS není vůbec žádná zkratka, ale obyčejné slovo. Verze 1.0 vykládá RSS jako RDF Site Summary. A konečně, ve verzi 2.0 RSS znamená Really Simple Syndication. Pro zajímavost – když RSS zadáte do Googlu, najdete především odkazy na Rashtriya Swayamsevak Sangh, tradicionalistickou politickou stranu v Indii.

Při pohledu na specifikace verzí RSS z Winerovy dílny je poměrně zřetelné, že se nejedná o nijak puntičkářsky podrobné a formální dokumenty. Jejich kvalita má navíc sestupnou tendenci. Popis verze 2.0 je už spíše než specifikací pouhým esejem. RSS 0.9× a 2.0 je velmi intuitivní, jména elementů a atributů dostatečně vysvětlují jejich význam. Pokud se podíváte na jeden, dva dokumenty, víte všechno, co byste zjistili čtením specifikace. Bohužel, „okrajové“ případy, jako je zahrnutí HTML, nikdo neřeší. Důsledkem tohoto přístupu je, že nemalá část kanálů RSS (podle některých odhadů kolem 20 %) neobsahuje správně zformované XML. Zdá se, že RSS často přitahuje méně technicky orientované autory, pro které je obsah důležitější než jeho forma. Přímo se nabízí srovnání s HTML; ať už jde o intuitivní samopopisné elementy a atributy, nebo ležérní přístup k formálním specifikacím.

RSS 1.0 je z trochu jiného soudku. Ke zpracování rozšiřitelných dokumentů v RDF/XML lze bez problémů použít nejen parsery XML, ale také software pro RDF. Verzi 1.0 můžeme také považovat za jednu z mála již dnes fungujících součástí sémantického webu. Nevýhodou této varianty RSS je horší čitelnost zdrojových dokumentů a ne zcela intuitivní datový model RDF. RSS 1.0 se opravdu podstatně liší od RSS 0.9× a není příliš divu, že je pro zastánce původní linie těžko stravitelné.

Narazil jsem na statistiku použití jednotlivých verzí RSS. Rozložení sil mezi verzemi 0.91, 0.92, 1.0 a 2.0 je z obrázku dobře patrné. Přehled uvádí také některé další, dosud nezmíněné verze jako 0.93, 0.94 nebo 2.1. Nelekejte se. Jedná se o různé pracovní verze, které byly později publikovány pod jiným číslem, případně vůbec.

Oba tábory (tj. 0.9×/2.0 vs. 1.0) drží své pozice a argumentují výhodami svého přístupu. Objevují se také hlasy volající po vytvoření úplně nového formátu pro sdružování obsahu. Což není, podle mého názoru, vůbec špatný nápad. S využitím zkušeností z několikaleté praxe a za pomoci autority uznávané standardizační organizace by se mohlo podařit vytvořit technicky kvalitní a dobře definovaný standard, jehož dodržování by se dříve nebo později mohlo stát dobrým zvykem. A jak by se měl tento budoucí standard jmenovat? Stylové by pochopitelně bylo znovu se vejít do zkratky RSS. Na druhou stranu, něco takového by určitě nepřispělo ke zpřehlednění situace ani k uklidnění vášní.

V poslední době vypadá nadějně projekt pracovně nazvaný Echo (nakonec by se mohl jmenovat Pie, nebo také úplně jinak). Autoři (zejména Sam Ruby) se snaží začít znovu od začátku a vyhovět dnešním potřebám, jež se od doby, kdy vzniklo RSS, přece jen trochu posunuly. Na druhou stranu, pupeční šňůra s RSS úplně přetržena nebude; kořenovým elementem dokumentu Echo/Pie má být stále <rss>.

ict ve školství 24

Jinou v současnosti probíhající iniciativou je úsilí Rogerse Cadenheada o vyjasnění nejednoznačných oblastí v RSS 2.0. Cílem má být zbrusu nová specifikace existující verze RSS 2.0. Dave Winer se dokonce částečně účastní, naplňuje svůj argument, že podle americké ústavní listiny práv a svobod má každý právo napsat si svou specifikaci RSS 2.0. Nejsem si docela jist, zda dodatek, jehož se dovolává, byl v roce 1791 psán s ohledem na internetové standardy, ale v dnešním dění kolem RSS už nepřekvapí vůbec nic.

Zajímá vás, jak to s RSS dopadne? Jak si povede RSS 2.0 nebo Echo/Pie? Mě také, nechme se překvapit.

Autor článku