korzika

Kapitola 2 – Jediný bloger na Korsice

Ke konci roku 2000 v malém bytě nad jedním korsickým barem psal Michel Valdrighi(michelv) příspěvek na blog. Michel “Jediný bloger na Korsice” používal dial-up připojení, které se odpojovalo každých třicet minut. Svůj byt sdílel s kočkami jménem No Name a Gribouille, které rády seděly na okenní římse, jež se nacházel vysoko nad ním a jejichž dovádění popisoval na blogu.

Stejně jako mnoho jiných blogerů experimentoval s různými platformami pro publikaci blogů – začal s HTML a později přešel na Blogger. Po čase ale jako ostatní zjistil, že Blogger není tak dobře vybavený jak by chtěl. Například neměl vestavěný systém komentářů. Byla zrovna doba, kdy se blogeři mohli přihlásit k externím službám umožňující komentovat, nicméně tyto služby byly často nespolehlivé a nedostupné. Michel byl přihlášen ke dvěma službám, které najednou ztratily všechny jeho komentáře a diskuze. Blogger byl taky plný chyb a často padal. V té době blogeři vtipkovali, že Blogger je “občas vzhůru”.

Michel se začal učit skriptovací jazyk na straně serveru jménem PHP. Tento jazyk se používá k načítání informací z databáze a jejich zobrazení v prohlížeči. Na rozdíl od ostatních jazyků jako je Perl, naučit se PHP je relativně snadné, což z něj činí nástroj pro lidi, kteří chtějí začít s hackování softwaru. Jeden z prvních Michelových PHP projektů byl slovník korsického jazyka: díky této zkušenosti se naučil PHP používat a inspirovala ho vytvořit vlastní blogovací skript. V červnu 2001 začal Michel vyvíjet b2 [Poznámka 1], jež byl “PHP+MySQL” alternativou k Bloggeru a Greymatteru. ” Napsal:

Neobsahuje moc nových nápadů, ale bude představovat věci jako jsou vestavěný systém komentářů, dobrá uživatelská správa (profily), uživatelské avatary, různé možnosti archivace (dokonce i příspěvek od příspěvku pokud byste chtěli psát něco jako deník).

Instalace bude snadná, pouze se upraví konfigurační soubor, vše se nahraje na server a spustí se instalační skript. A budete tam chtít administrátorské ovládací rozhraní? Bude tam, s více možnostmi.

Kombinace PHP a MySQL byla dobrou alternativou k soudobým blogovacím platformám. Pokud někdo navštívil PHP/MySQL stránky, spustil se skript a PHP načetlo informace z databáze. PHP je vhodné pro blogy dynamické povahy, na kterých autoři pravidelně přispívají novým obsahem a ke kterým se čtenáři pravidelně vracejí. Oproti tomu takový Movable Type, který je vytvořen pomocí Pearlu, přestavuje stránky pokaždé, když někdo zanechá komentář, což vede často k delším nahrávacím časům. b2 byl nabízen jako snadno použitelný a rychlý nástroj. “Cokoliv napíšete, kliknete na ”blognout” a za vteřinu je to na vašich stránkách” chlubí se postranním panelem na cafelog.com . Pokračuje: ”Stránky jsou generovány dynamicky z MySQL databáze, takže žádná neohrabaná ‘přestavba’. To také znamená rychlejší možnosti vyhledávání, zobrazování a schopnost servírovat novinky dle různých šablon bez jakýchkoliv potíží.“

Tyto funkce přilákaly Matta, Mikea a mnoho dalších blogerů. Michel byl v té době ještě nováček v oblasti PHP a MySQL programování a přitom budoval předchůdce dnes jedné z nejpoužívanějších blogovacích platforem a CMS. Vzpomíná, že ne vše co dělal, bylo úplně správně:

Když se podíváte na kód WordPressu, možná si myslíte:”Wow, to je divné. Proč to dělají zrovna tímhle způsobem?”. Jasně, že je to tím, že zachovávají strukturu, jakou mělo b2, a to já psal podle PHP.

Stejně jako ostatní první vývojáři blogovacího softwaru si Michel škrábal vlastní svědění. „Škrábat vlastní svědění” je neformální fráze ve vývoji volně dostupného softwaru. Známá vytváření vlastních nástrojů ať už se jedná o blogovací platformu, textový editor nebo operační systém. Ve své knize The Cathedral and the Bazaar píše Eric Raymond, že “Každý dobrý software začíná škrábáním vlastního autorova svědění.” Pokud má developer problém, napíše si na jeho řešení program a pak program poskytne ostatním lidem, aby ho také použili. Mnoho blogovacích platforem včetně Blogger, b2, Moveable Type nebo WordPress vzniklo tímto způsobem.

Tím, že se někdo stane jak vývojářem, tak uživatelem softwaru, tak zjistí, zda jím vytvořený nástroj splňuje reálné požadavky a očekávání. Developeři jsou uživateli. Vědí, co funguje a co ne. Škrábání svědění pomáhá vývojáře navázat bližší vztah s uživateli softwaru – je to grasss-roots vývoj – zdola nahoru na rozdíl od shora-dolů.

Michel chtěl blogovací nástroj a ne CMS, takže bylo počáteční b2 zaměřeno na co nejlehčí psaní blogu. První vylepšení usnadňovala psaní. AutoBR například přidávalo tag<br/> pokaždé, když autor stiskl enter. Brzy přišly funkce a vylepšení (které chtěl Michel i společnost obecně) jako byly systém šablon, možnosti stránky, archivy, nastavení časového pásma a komentáře.

Michel chtěl, aby b2 bylo použitelné pro všechny od zkušených vývojářů až po málo technicky vzdělané uživatele, kteří chtěli zveřejňovat vlastní obsah. Psal o „Johny Nováčkovi“, osobě na kterou při vývoji myslel. Michel věřil, že úplně každý by měl být schopen publikovat svůj blog. Idea vytvoření programu snadného pro všechny prostupovala celou komunitou kolem b2 a nakonec se stala základní myšlenkou filozofie WordPressu.

Na konci června 2001 byl Michel již připraven rozloučit se s Bloggerem a přesunout svůj blog na b2. Jeho blog byl tak první webovou stránkou, která byla provozována pomocí kódu, ze kterého se později stal WordPress. Byl to vlastně dědeček milionu webových stránek a blogů. O několik dní později založil Michel stránky cafelog.com a vydal první verzi b2. Program se rychle šířila. Druhou stránkou běžící na b2 byl osobní blog školáka jménem Russell zveřejněn v červenci 2001.

Uživatelské rozhraní b2
Uživatelské rozhraní b2

Vývoj však nešel vždy hladce, i když řešení problému pokaždé vedlo k lepší a lepší platformě. Prvním prominentním uživatelem b2 byla Brigitte Eaton, která provozovala stránky s názvem Eatonweb. Jednalo se o ručně udržovaný seznam blogů. Bylo to místo sloužící k přechodům na jiné blogy až do té doby, kdy záplava nových blogů udělala z ručně udržovaného seznamu neudržitelný. Tento seznam byl nahrazen všudypřítomnými blogrolly a službami jako Technorati, které začaly hodnotit blogy podle příchozích odkazů. Brigitte Eaton publikovala pravidelně a po nějaké době, kdy přesunula svůj blog na b2, zjistila, že čím více příspěvků přidala, tím se blog nahrával pomaleji. Michel nevěděl jak napsat kód pro načítání příspěvků podle měsíců. Jeho kód procházek každý příspěvek ve frontě zda se od posledního zobrazení změnil. Pro větší blogy to ale znamenalo značné zatížení serveru, které rychle vedlo ke zpomalení stránek. Řešení tohoto problému znamelo zlepšení pro všechny b2 uživatele.

Ačkoliv b2 nemělo otevřenou vývojářskou infrastrukturu, bylo otevřeno všem novým nápadům. Prvním hlavním příspěvkem pro projekt b2 byl kód funkce pingback vývojáře Axise Thoreaua, který používal Mort. [Poznámka 2]Movable Type obsahoval podobnou linkback (zpětné odkazy) funkci zvanou trackback, kterou Michel zapojil do b2. Trackback je ping s odkazem poslaný z originálních stránek autora na stránky referenční. Na rozdíl od pingbacks jsou linkbacks manuální a proto musí autor poslání trackbacku zvolit a může výpis odkazu upravit.Trackbacks jsou mnohem náchylnější na spam než pingbacks. [Poznámka 3]Zatímco pingbacks vrací ping na originální stránky pro kontrolu, zda to není spam, trackbacks tuto kontrolu neprovádějí.

B2 byl Michelův oblíbený projekt, ale díky velkému množství uživatelů a vývojářů se kolem b2 rychle začala tvořit komunita. Fóra se stala útočištěm pro lidi, kteří se softwarem potřebovali pomoci. Nejpopulárnější byla instalace šablon a jak tvořit diskuzní fóra, ale také zde byla fóra jen tak na povídání o softwaru a blogování. Vývojáři si navzájem pomáhali s hacky pro b2 a bylo to právě na fóru, kde poprvé začal WordPress vznikat.

Mimo b2 komunitu byl však software kritizován. Na Michelův nedostatek zkušeností s programováním poukazovali především ostatní zkušení vývojáři. Blogger Jim Reverand napsal příspěvek s názvem “Cafelog: Podívejte se na špatný kód”, ve kterém Jim kritizoval špatnou kvalitu kódu ve veřejně vydávaném softwaru, zejména v b2. Kritizoval b2 pro jeho nedostatek funkcí[Poznámka 4] a špatný postup kódování.

Protože Michel neměl dostatek zkušeností s programováním v PHP, byl jeho kód neefektivní a proti intuici zkušeného vývojáře. Místo modulárního přístupu k logickému řešení problému rostl kód organicky – byl to přístup s jakýmsi proudem myšlenek. Jeho kód nebyl tolik k řešení problémů, ale k přidávání nových funkcí. To vedlo k vytvoření různé vzájemné provázanosti kódu, jež byla pro nově příchozí vývojáře složitá. Změna řádku kódu mohla změnit něco, co zdánlivě s tímto řádkem nesouviselo. Pro Reverenda byl tento typ „špinavého“ kódu neodpustitelný. Napsal: “ To, s čím mám já problém, je neschopnost použít jeho kód a implementovat vlastní funkci bez rozsáhlého a zdlouhavého přečtení kódu.“ Psaní snadně rozšiřitelného kódu je základním principem volně šiřitelného softwaru. Pokud je kód psán jakýmsi volným proudem myšlenek, chybí osvědčené postupy a kód se stane těžko rozšiřitelným pro ostatní vývojáře.

Všechno ale nebylo tak špatné. V navazujícím článku připustil Reverend, že takhle špatně napsaný kód má i své výhody:

Zatímco pro programátory jako jsem já je velice obtížné se takovým kódem prokousávat, méně zkušený programátoři ho můžou vlastně mít rádi, protože je pro ně snazší s ním pracovat. Jelikož jsou „šablony funkcí“ v jednom souboru, fungují kdekoliv a jelikož jsou data, která se vrací z databáze, globální proměnnou, není potřeba pro jejich získání používat různé triky. To činní rozšiřování, modifikování a vylepšování kódu jednodušším pro nováčky.

Michelovi malé zkušenosti daly kódu nádech jednoduchosti pro snadné porozumění dalších začínajících vývojářů. Zatímco zkušený vývojář může psát komplexní kód, Michel šel k řešení problému tou nejjednodušší cestou. „ Svým způsobem bylo krásné, jak to bylo jednoduché.“ napsal vývojář Alex King(alexkingorg), „Nebylo to sice elegantní, ale bylo to velmi jednoduché a přístupné. Pro někoho, kdo neměl zkušenosti s vývojem, bylo snadno pochopitelné co a jak funguje.“

Tento článek také upozornil na něco důležitého: lidé b2 rádi používali. S b2 mohli publikovat bez potíží. Reverend napsal: “Jste-li uživatelem tohoto produktu, neříkejte mi prosím o tom, jak dobře funguje nebo jak je super. Pokud budete číst stránky založené na b2, neříkejte mi prosím, jak snadno se používají.“

Lidé ho za snadno použitelný považovali. Uživatelům bylo jedno, co se děje pod kapotou. B2 mohlo mít své problémy, ale pro uživatele bylo důležité, že online bylo vše v pořádku. Kam šli uživatelé, tam je vývojáři následovali. Ještě mnohem lepší bylo, když uživatelem byl vývojář. Tápali na okraji PHP a učili se, co jde s PHP udělat, a které nové funkce by mohli na své stránky přidat a poté sdílet. Již v těchto raných dobách se začal objevovat rozkol mezi vývojem orientovaným na uživatele nebo na vývojáře. Na jedné straně zaměření na přehledný a logicky kód a na druhé straně zaměření na funkce, které chtěli uživatelé.

Zatímco Michel b2 rozšiřoval, přemýšlel o volbě typu licence. Volně šiřitelný software byl ještě relativně mladý a mnoho velkých projektů (jako Apache, PHP a X.Org) měli své vlastní licenční podmínky. Dokud si nezvolil licenci, šířil Michel b2 se svými autorskými právy.

Na b2 blogu můžete vidět celý řetězec událostí, jež vedli k šíření b2 pod GPL licencí. V srpnu 2001 učinil Michel krátké prohlášení na svém blogu cafelog.com, kde lidem sdělil, že mohou jeho software používat za předpokladu, že výslovně uvedou „b2 není vydán pod GPL“. Lidé to vzali na vědomí a někteří b2 považovali za vlastní. V říjnu 2001 se jedna norská agentura prohlásila za vlastníka b2 a Michel byl nucen kontaktovat norský úřad pro autorská práva. V diskuzi kolem této události učinil Michel následující stanovení:

b2 můžete používat zdarma i pokud jsou stránky komerční povahy. Pokud budete chtít a v případě, že stránky na b2 vydělají spoustu peněz nebo pokud se vám b2 prostě líbí, můžete mi zakoupit nějakou z věcí v mém seznamu přání na amazon.com .

Zdrojový kód b2 můžete upravovat.

Můžete re-distribuovat upravenou nebo původní verzi b2. V žádném případě vás ale modifikace neučiní autorem nebo spoluautorem. Pouze já jsem jediným autorem b2 a držitelem autorských práv.

Vítám každou pomoc. Neváhejte mě kontaktovat s opravami a vylepšeními, které chcete, aby se objevily v kódu b2. Vaše jméno nebo adresu zveřejním ve zdrojovém kódu.

Myslím, že tohle dělá pro teď licenci b2.

Michel vydával b2 na základě této prapodivné licence, dokud si neuvědomil, že b2 potřebuje nějakou serióznější licenci. Pro Michela bylo důležité, aby b2 zůstalo zdarma i kdyby přestal na projektu pracovat. Také chtěl, aby jeho software zůstal zdarma, pokud by ho jiní vývojáři použili ve vlastním projektu. Vzpomíná, že:“ na konci tohoto eliminačního procesu zbyla GPL licence. Tato licence pomohla, protože zde již nějaké projekty byly a nechtěl jsem, aby kód skončil zapomenutý a opuštěný kvůli volbě exotické licence.“

Michelova volba licence byla předvídavá. Pod GPL licencí může být software rozvětvený, upravovaný a redistribuováný. Pokud by se vývoj zastavil (jak to s b2 udělal), ochránila by schopnost upravovat, větvit a redistribuovat b2 před krachem.

Všechno šlo dobře až do května 2002, kdy Michel přišel o práci. V následujících měsících pokračoval ve vývoji b2 přestože trpěl depresemi a zdravotními problémy. Odpojili mu elektřinu, přestěhoval se a snažil se najít si práci. S tolika událostmi v jeho životě Michel nakonec zmizel. V prosinci 2002 napsal příspěvek o spamu, ale na jeho osobním blogu ho nepublikoval.

Uživatele b2 tak neměli vedoucího vývojáře. Nebyl tu nikdo, kdo by řídil projekty, opravoval chyby nebo přidával nové funkce. Lidé se o Michela báli, protože ho měli rádi a nevěděli, co se s ním stalo. V roce 2003 se na cafelog.com vytvořilo vlákno s diskuzí, kde Michel vlastně je. Michelova sestra Senia napsala, že se Michel má dobře a že hledá práci. Slíbila, že ho požádá, aby se připojil k IRC a MSM.

Jeden komentátor napsal:

Michel vytvořil nejen opravdu skvělý kus softwaru, ale také nechtěně vybudoval komunitu lidí, jakési společenství v blogsféře. Neznám ho ani v nejmenším, ale přeji mu a doufám, že mu každá duše pomůže najít to, co potřebuje, ať je to sebe samotného nebo vize. Snad dotáhne vše do zdárného konce.

Jiní měli obavy o vlastní projekty:

Slyšel někdo o Michelovi? Poslední příspěvek přidal před šesti týdny. Chci si nainstalovat a podporovat b2 ve dvou projektech (jeden spjat s projektem žen OSN)… jsem ale nervózní, že nebude k dispozici žádná podpora vývojářů. Jsem si jistý, že ví, že b2 zahrnuje skvělý auto-installer svázaný s nástrojem virtuálního hostingu cPanel. Chystám se napsat článek o hostingu. Micheli, budeš tady?

Michel se nikdy k b2 nevrátil s takovou chutí, jako když s projektem začínal. Díky stagnaci byl nakonec software nepoužitelný. Software potřebuje být udržován, chyby musí být opravovány, bezpečnostní díry zalepovány, musí přidávány nové funkce. Blogovací software se musí vyvíjet spolu s rychle se rozšiřujícím internetem. b2 bylo dobrou platformou, ale bez oprav a nových funkcí se brzy stal nepoužitelným. Nebyl to jen software, který byl opuštěn. Na pospas byla ponechána celá komunita a právě komunita je ve světě volně šiřitelného softwaru stejně tak důležitá jako samotný software. Členové komunity poskytují opravy, vylepšení, podporu uživatelům, píší dokumentaci a mnoho dalšího. Každý projekt ale potřebuje osobu, která rozhoduje, jaké patche se použijí, jaké vylepšení budou implementována a obecně celý projekt řídí. Pokud tato osoba beze stopy zmizí, komunita tápe kolem hrany, přestává si pomalu pomáhat a postupně odchází. Pokud nemá závazky člověk, jež projekt vlastní, tak jak mohou být očekávány závazky od cizích lidí?

Díky licenci GPL kód ani komunita nezmizela. Vývojáři, kteří pocházeli z b2 fóra software rozvětvili. Zatímco samotné b2 už pokračovat nemělo, byla to platforma, která spojila Mike a Matta a také to byla platforma, která poskytla základ pro WordPress. Díky přehlednosti PHP a jeho zaměřením na jednoduchost bylo b2 srdcem a základní ideou WordPressu. Nejdřív však musel být software rozdělen a přímut blogery.


[Poznámka 1] Název b2 je kombinací slov „blog“ a „Song 2“ britské kapely Blur, kterou Michel v té době pravidelně poslouchal. Nejdříve je spojil jako blog2, blogger2 a až později začal používat b2. b2 byl také znám jako Cafelog, což byl název, který měl Michel v plánu dát řadě 1.0, protože žádné domény b2 nebyly volné a název byl pro SourceForge příliš krátký.

[Poznámka 2] Pingback je linkback metoda, kterou autoři používají pro upozornění na to, že někdo odkáže na jejich stránky. Autor píše na svůj blog, který odkazuje na příspěvek někde jinde. Původní web odešle žádost o XML-RPC a když zmíněný web obdrží oznamovací signál, jde zpět na původní stránky a zkontroluje odkaz. Pokud existuje, tak se pingback zaznamená. Blogovací systém poté může automaticky publikovat seznam odkazů v komentářích příspěvku nebo kdekoliv jinde, kde si autor řekne.

[Poznámka 3] Spam ping je ping odeslaný ze spam blogů, aby dostaly odkazy na jiné stránky.

[Poznámka 4] Konkrétním problémem, který je v článku řešen je, že b2 neukládá volání databáze do mezipaměti. Takže pokud na web přijde nový návštěvník, stránky se pokaždé nahrávají z databáze a serveru, čímž se zpomalují. Článek také kritizuje nedostatek flexibility v systému šablon a absenci cruft-free URL adres (ve WordPressu známé jako Trvalé odkazy).

Zdroj: Milestones: The Story of WordPress – The Only Blogger in Corsica

Neuteklo vám něco?

Pokrok a WordPress na nikoho nečekají, tak nám tu raději nechte email, ať o nic nepřijdete!

Nespamujeme! Další informace naleznete v našich zásadách ochrany osobních údajů.

Správa WordPress webu

Nemusíte na to být sami. Pomůžeme vám s pravidelnou údržbou i novými vylepšeními.

Více informací

1 názor na “Kapitola 2 – Jediný bloger na Korsice”

  1. Pekne. Zaspomínal som si na svoj prvý blog, ktorý inak stále žije a založil som ho myslím na “kaféčku” a automaticky prešiel aj na prvú verziu WordPressu, keďže ma bavilo, že vyzeral “novinovo”. Možno som bol aj prvý blogger vo WP v Československu 🙂

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Nákupní košík
Přejít nahoru