Hlavní navigace

David Grudl: Open source je komunismus a nefunguje. Ideální je ho nedělat

Jan Sedlák

Autor Nette shání peníze na jeho další vývoj a popisuje své útrapy open source vývojáře na plný úvazek.

Doba čtení: 13 minut

David Grudl už asi deset let vyvíjí PHP framework Nette, který se ve zdejších končinách stal značně populárním. Přesto jeho autorovi, který na Nette dělá na plný úvazek, příliš nevydělává. Grudl proto spustil crowdfundingovou kampaň, která má na vývoj poskytnout pravidelné měsíční financování.

V rozhovoru pro Lupu Grudl popisuje, proč open source z jeho pohledu nefunguje, kolik mu Nette přináší nebo jak pravděpodobný je přechod Nette na jinou licenci. K tématu si můžete poslechnout i jeho přednášku nebo rozhovor v podcastu Vzhůru dolů.

Lituješ toho, že ses před lety dal na kariéru vývojáře open source?

(Dlouhé zamyšlení.) Nenapadá mě žádná věc, které bych v životě litoval. Co tě nezabije, to tě posílí. Takže slovo „litoval“ bych nepoužil, ale maximálně se každého od podobného kroku snažím odrazovat. Zapojení do open source mi přineslo hodně zkušeností, a kdybych některé z nich měl už dříve, asi bych řadu věcí udělal jinak. Takže si alespoň říkám, že se někdo může poučit a dělat věci lépe. Ideálně nedělat open source vůbec.

Ve své tak trochu tragikomické přednášce na konferenci Devel.cz jsi uvedl, že open source je jako komunismus a že také nefunguje. Můžeš to rozvést?

Na open source je několik věcí, které nefungují, ale v prvé řadě je třeba si říci, co je to open source. Ve chvíli, kdy naprogramuji nějakou knihovnu, kterou používám a dám ji k dispozici ostatním, můžu tím někoho inspirovat, někdo si na tom postaví práci, kód rozšíří a tak dále. Toto sdílení know-how je něco jako když kamarádka pořídí gril, já koupím maso, kamarádi koupí pití, všichni se sejdeme a může to být super akce. Potud to může fungovat perfektně.

Problém je, když se z toho stává produkt. Produkt, který určitá malá skupina lidí vyvíjí a velká skupina lidí používá. Tato skupina chce podporu, řešit problémy a tak dále. V tuto chvíli se to nijak neliší od toho, když software vyvíjí nějaká firma. Rozdíl je v tom, že pokud děláš open source, téměř nemáš šanci získat peníze. A když uživatelé nic neplatí, mají daleko vyšší nároky, než kdyby něco platili. Máš nevýhody z obou světů.

Dnes se open source považuje za vůbec nejúspěšnější model vývoje a šíření softwaru. Je v podstatě „všude“ a už i takový Microsoft říká, že ho miluje. Velké firmy přispívají na vývoj, uvolňují vlastní kód a tak dále. Podle tebe tedy vše tak sluníčkové není?

Je na čase začít říkat, že to není dobré. Hype ohledně toho způsobil to, že lidé nechtějí slyšet příběhy, které za open source jsou. Když jsem na toto téma začal mluvit na pár konferencích, dostal jsem zprávy od řady lidí, kteří mi řekli, že mají úplně stejný zážitek a že je to tak, jak říkám. Hodně lidí se pod vlivem hypu žene do něčeho, co pro ně nebude úplně příjemné.

David Grudl
Autor: David Grudl

David Grudl

A zároveň si myslím, že Microsoft a další firmy do open source jdou jenom z toho důvodu, že jim to přinese pozitivní PR a podobně. Nemyslím si, že by skutečně potřebovali ten kód, ale pozitivní PR před vývojáři, to je pro ně naprosto klíčová záležitost. Také je potřeba říci, že je něco jiného, když se obří firma rozhodne, že svůj projekt uvolní jako open source. Ona na to od začátku má financování. A něco jiného je to – a tam spadá většina open source projektů – když někdo vytvoří třeba open source knihovnu, ta se stane úspěšnou a vývojář nemá takové financování. Už jen to, že dělá open source, tedy volbou licence, si pod sebou podřezává větev.

Představ si, že jsi velmi bohatá firma typu operátor a další. To jsou firmy, které používají Nette. Od těchto firem je v podstatě nemožné získat peníze v případě, že produkt samotný je zdarma. Můžeš vymyslet systém typu, že budou uvedení na webu jako sponzoři. Tento sponzoring řeší úplně jiné oddělení než lidé, kteří produkt používají, nejsou tam styčné body. Získat sponzoring od velké firmy je skoro „mission impossible“. Kdyby licence byla taková, že se za software musí platit třeba sto tisíc, firma ani nemrkne a platí. Už ta volba licence způsobí, že čím větší firma je, tím menší šance je od ní získat peníze.

Zároveň vůbec není jednoduché open source v budoucnu převést na jinou licenci. Ve chvíli, kdy se na kódu podílí několik vývojářů, musí se všichni na změně licence domluvit a tak dále. Ve výsledku tedy nebudeš schopný získat peníze od nikoho jiného než od úplně malých firem nebo jednotlivců.

Jaká byla nejsměšnější částka, kterou ti nějaká velká firma vzhledem k jejich tržbám a podobně zaplatila?

Dlouhá léta jsem měl na webu seznam podporovatelů i se zaslanými částkami. Spíše jde o to, že šlo o částky ve formě jednorázové dotace zhruba kolem tisícovky. Objevily se firmy, které řekly, ať jim každý rok pošlu fakturu na dvacet tisíc. Což je pěkné, a kdyby takových firem bylo více, bylo by to skvělé. Ale byly to naprosté výjimky.

Kolik si tedy z vývoje Nette v průměru měsíčně vyděláš?

Byly roky, kdy to bylo nula korun. A zároveň se stupňoval psychický tlak a lidi tě „hejtovali“ a chtěli všechno dokonalé. Vytvořil jsem „donate“ stránku, vytvářel jsem takové ty žluté „žebrací“ proužky a začal jsem na to tlačit. Tím se to podařilo dostat na současný stav, kdy chodí asi 3500 korun měsíčně.

Živí tě tedy školení?

Musel jsem dělat cokoliv jiného, abych Nette mohl vyvíjet. Školení, weby, snížíš životní náklady.

Proč se nenaštveš a v dnešní době, kdy je nedostatek vývojářů, neodejdeš za velkou výplatu někam do firmy?

To je podobné, jako když se rozchází partneři. Je dobré zkusit pro záchranu vztahu udělat maximum. Abys mohl odejít s čistým štítem a zároveň ti nikdo nemohl říci „přesně jsem si celou dobu myslel, že se na to ten člověk vykašle“. Záchrana vztahu je tedy to, co dělám nyní. Dělám všechno proto, abych tu velkou výplatu mohl mít za práci na Nette. Nejsem v situaci, kdy bych to chtěl dělat pod cenou. Zároveň si uvědomuji, že je to velký skok. Doposud jsem to dělal v podstatě zadarmo a teď si říkám o úplně normální plat, který mají všichni ostatní. Jsem docela rád, že se nezvedla extrémní vlna nevole, i když trochu mezi řádky čtu, že se na to lidi dívají, že Nette je v ohrožení, protože chci normální plat.

Jak velkou lží je podle tebe to, že je open source zadarmo?

Když jsem vystupoval na konferenci Devel.cz, položil jsem otázku, proč lidé v sále používají open source. Byl jsem si jistý, že první a nejhlasitější odpověď bude to, že open source je zadarmo. Což je ta největší lež. Open source musí někdo vytvářet. I představa, že open source vzniká v komunitě a tak dále, je strašně krásnou sondou do psychologie. Vývojáři, kteří umí dobře ovládat GitHub, si mohou zjistit, že většinu knihoven, které používají, z 99 procent vyvíjí jeden nebo dva lidi. Aby nemuseli přemýšlet nad tím špatným, interpretují to tak, že to vyvíjí komunita. Také mají potřebu toho jednoho či dva vývojáře zahltit požadavky a nemají potřebu přemýšlet nad nějakou finanční podporou. Celkově se tak utvrzujeme ve lži.

Komunita je v mnoha směrech nesmírně užitečná. Není to tak, že bych bagatelizoval její roli. Ale je to komunita plus pár lidí, kteří open source projekty opravdu dělají na plný úvazek. Mluví se především o komunitě, ale ne těch „full time“ lidech.

Je tedy alespoň pozice open source vývojáře na plný úvazek romantika? Podobně, jako si romantizujeme třeba povolání chudého spisovatele? Je to životní styl a přístup k vývoji softwaru?

Vždy mi bylo protivné, když někdo bral open source jako tu jedinou správnou věc. Vždy se našel někdo, kdo se zeptal, proč při vývoji open source nepoužívám Linux. Myslím si, že doba těchto „open source magorů“ už je pryč. Open source už se bere jako určitá nutnost toho, jak distribuovat kód.

Jako životní styl to dnes nevnímám a nevnímal jsem to tak nikdy. Jsem rád, že už nenarážím na lidi, kteří by měli potřebu něco strašně tlačit. Dnes tito lidé řeší spíše feministické otázky a spadají do skupiny „social justice warriors“. Řeší, jestli se všichni chovají podle jejich představ, a už dnes své mozkové pochody nevyplachují na open source, ale na tom, jestli je skupina vývojářů dostatečně různorodá.

Když se crowdfunding na financování Nette nevydaří, skutečně s vývojem skončíš?

Najdi mi člověka, který by šel a dva měsíce zadarmo něco vyvíjel. Myslím si, že nikoho takového nenajdeš. A teď je otázka, proč jsem to byl ochotný dělat tak dlouho. No, protože jsem byl blbej. Ale každá blbost má své hranice a samozřejmě, že se na to vykašlu. Už nemám jinou možnost.

Co budeš pak dělat? Půjdeš do nějaké té firmy?

Ještě jsem si říkal, že abych skutečně zkusil udělat všechno, změním licenci Nette. To zřejmě doprovodí neskutečný „shitstorm“. Ale upřímně je mi to celkem jedno, nemám v tomto ohledu co ztratit. A věřím tomu, že většina z těch velkých firem, které Nette používají, by mě zaměstnala za více peněz, než co se teď snažím vybrat. Pokud máš nějaký nadnárodní kolos, který má na Nette postavenou interní infrastrukturu, tak by se to stalo.

Ale to by tě asi tolik nebavilo ne?

To je pravda. Já chci vymýšlet projekty a dělat je. Možná bych se pustil do něčeho jiného. Do něčeho, co by s open source nemělo nic společného. Možná nějaký projekt na potírání open source (smích).

Můžeš na to založit nějakou neziskovku…

Jo, to jsi trefil (smích)!

Proč to všechno řešíš takhle pozdě?

Neřeším to až teď, dost intenzivně to řeším minimálně pět let. Získal jsem si tím pověst, že lidi říkají, že David Grudl je ten programátor, co pořád naříká. To je strašné. Takže všichni problém vnímají, ale jejich závěr je, že pořád naříkám. Dnes zkouším řešit zase trochu jinak. Doposud jsem říkal, že potřebuji podporu a že mám problém. Teď jsem to obrátil a říkám, že vy máte problém.

Jak se k tomu teď lidi staví?

Zpětná vazba je kupodivu velice pozitivní. Čekal jsem, že se budou čeřit emoce, jak to v české komunitě bývá, což jsem už několikrát zažil. Asi lidé a komunita dozráli a uvědomili si, že nepřicházím s tak nesmyslným požadavkem a že to má smysl. Je to hodně o emocích. Kvůli open source nemám licenční páku, takže se přihlásí hodně lidí, kteří ti pošlou dvě stovky měsíčně, pár lidí pošle pětistovku, určité procento dá 1500 korun a pak jednotky, které pošlou něco víc. To postaví určité portfolio, kde s odřenýma ušima dosáhneš platu, který jsi mohl mít kdekoliv jinde. A když se ti na to klíčoví poskytovatelé vykašlou, seš na půlce.

Jak pravděpodobná je možnost z Nette udělat „krabicový“ software?

Souvisí to se změnou licence. To v podstatě znamená vypořádat se s autory určitých částí a projít tím, že se strhne onen „shitstorm“ a firmy začnou od Nette odcházet. Dopadne to tak, že těch pár, co v tom jsou nejvíce zavázané, začnou platit. Pro řadu lidí to bude problém, ale pro mě by to bylo asi jediné východisko. Tato varianta je až ta druhá, kterou budu zkoušet, ale stále je ve hře.

David Grudl
Autor: David Grudl

David Grudl

Stejně to zní tak, že to svoje dítě nechceš opustit, protože pořád slyším takové to „a ještě je tady jedna možnost“…

Jde o to, že ten projekt je velmi kvalitní a velmi úspěšný. Když máš takový projekt, byla by hloupost ho opouštět. Já se snažím najít řešení, které bude schůdné pro běžné uživatele. Když to nebude fungovat, stane se z toho krabicový software.

Lze si nějakým způsobem vzít příklad z firem typu Red Hat nebo SUSE, které vyvíjí open source, ale mají kolem toho postavený obchodní modely typu implementace, podpory, prémiových funkcí a podobně?

Znamenalo by to, že bych musel rozjet firmu na podporu a doufat, že o to firmy budou mít zájem a budou za to platit. Z těchto zisků by se pak dotoval vývoj. Musel bych se starat o firmu a podporu, kvůli čemuž bych neměl čas na vývoj. A žádný další vývojář momentálně není. Když jsme kdysi vedli debaty o tom, co dělat, nápadů padla celá řada. Někdo kdysi shrnul, že všichni Davidovi radíte, aby šel do Německa dělat kardiochirurga a z toho dotoval vývoj Nette. Dlouho jsem nad tím přemýšlel a uvědomil jsem si, že nechci dělat další produkt a dotovat jiný. Chci dělat jeden a ukázal jsem, že ho deset let umím dělat. Různé plug-iny a podobně mají životnost rok, dva, než se na to autor vykašle. Já mám projekty, které držím patnáct let. Ale teď už jsem řekl, že už je třeba změna v přístupu.

Baví tě ještě vývoj Nette?

Během vývoje byly chvíle, kdy se mi to celé dost nepříjemně podepsalo na nervech. Komunita vůči mně uměla být extrémně nepřátelská a strašně náročná a bez nějakého ocenění. Bylo se těžké s tím vyrovnat a byly chvíle, kdy jsem nebyl schopný pokračovat dál. Nevěděl jsem, co dál dělat, takže jsem i řekl, že od Nette odcházím. To je z hlediska PR nejhorší věc, kterou můžeš udělat. Firmy třeba chtěly Nette nasadit, ale raději ho nenasadily. Ale už jsem byl opravdu zoufalý, zcela bez peněz a zahlcený milionem požadavků. A ještě jsem všude četl, jak něco nefunguje, jak by si lidé představovali, dokumentace není dobrá a tak dále.

Tehdy se nastartoval takový trochu obrodný proces, který mi ukázal, že všichni na to úplně totálně kašlou. Lidé jsou schopní se sejít, rozdělit si úkoly a pak je prostě neudělat. A zase a znovu. Další okamžik přišel asi před třemi lety. Objevil se člověk jménem Chemix, který projektu strašně moc pomohl a přesvědčil mě, abych nekončil. Tehdy jsem si myslel, že potřebuji najít komunitu lidí, kteří na Nette budou pracovat. Pak jsem pochopil, že žádná komunita nebude a že na tom nikdo pracovat nebude. S Chemixem jsme tedy začali objíždět firmy a zjistili jsme, že nám nikdo nezaplatí a že potřebujeme vymyslet podporu a další služby. Z toho jsem byl zase špatný, protože jsem tušil, že se dostanu do něčeho, z čeho zase budu muset Nette dotovat. Teď jsem ve fázi, kdy přiznaně sháním peníze.

Není situace odvozená i od toho, že se pohybuješ na malém českém písečku?

Český písek sehrál roli ve dvou věcech, které jsem podcenil. Obvykle, když se vytvoří velmi kvalitní open source, dojde k tomu, že se známost o projektu šíří a že má po světě různé ambasadory. Česká republika je kvůli jazykové bariéře odtržená od ostatních. To je výhoda tehdy, když třeba vydáváš noviny, protože jsi odstřižený od zahraniční konkurence. Ovšem v případě open source to byl problém.

Kdybych bariéru trhu tušil, nejezdil bych na české konference, dal bych si pořádnou lekci angličtiny a objížděl zahraniční akce. To byla velká chyba a hodně jsem to podcenil. A druhou věcí je, že je empiricky změřeno to, že Česká republika je druhá nejvíce negativní země na světě. Jsme také extrémně nároční a vše bereme jako samozřejmost. To ve mně zlikvidovalo jakoukoliv radost. Na druhou stranu jsem nezažil, že bych vyvíjel open source někde jinde, a je možné, že jinde narazíš na zcela jiné problémy.

WT100 tip v článku Dolejšová

Sleduješ na české scéně nějaké zajímavé open source projekty?

Určitě to sleduji a je mi strašně líto to, že vím, jak to dopadne.

Našli jste v článku chybu?