Hlavní navigace

Kdy uvolnit software jako open source?

Jiří Knesl

Naprogramovali jste užitečný kousek kódu? Jednorázový nástroj? Nebo ve firmě něco vyvíjíte delší dobu a přemýšlíte, jestli ho vydat ven? Než si v návalu radosti založíte účet na GitHubu a všechno tam nahrnete, měli byste se zamyslet nad tím, zda to má smysl a co vás to bude stát. Má to totiž svá úskalí.

Je více důvodů, proč vůbec vydávat open source.

  • věříte, že komunita samotná vám pomůže ten software udělat lepší (typický přístup Katedrála a tržiště)
  • budujete si značku (David Grudl a Texy! popř. dibi)
  • budujete nástroj, na který pak budete prodávat podporu (např. databáze Riak, Mongo, svým tvůrcům zaplatí vývoj tím, že nástroj, který je otevřený a zdarma, potom získávají i zákazníci, kteří za ně platí)
  • protože věříte, že open source je prostě jediná správná cesta (parta kolem Stallmana)

Znáte nějaký jiný způsob?

A teď se koukneme na jednotlivé důvody a vysvětlíme si, že často se nevyplatí open source vydat, případně co musíme udělat, aby bylo dosaženo chtěného efektu.

a) komunita vám pomůže

Tady je nutné si uvědomit základní věc. Většinu komunitně úspěšných projektů dělal někdo, komu se podařilo vybudovat kolem sebe partu lidí, kteří měli zájem přesně tuto věc rozvíjet (nebo na tom měli přímo ekonomický zájem).

Pokud nemáte chuť ani čas budovat komunitu, diskuzní fóra, odpovídat na dotazy, připravit si nástupce a dát včas přístup k repozitářům, nemá smysl, abyste vůbec něco začínali. Pokud jen něco naprogramujete, pak o tom jednou napíšete a dáte to někde ke stažení, komunita má spoustu klacků pod nohama.

Zkrátka tady není cesta pro skalní introverty.

b) budujete značku

Pokud chcete vybudovat značku, musí váš produkt splňovat několik kritérií. Musí být v něčem lepší, než nabízí konkurence. Musí být velmi kvalitní. Musí být „cool“, byť si uvědomuju, že lidé v IT vnímají budování hype spíš negativně.

A vy se připravte, že budete tomu produktu dělat marketing (aby on dělal potom marketing vám, až o něm lidi začnou mluvit a psát sami od sebe), budete o něm povídat na všemožných akcích, budete ho hájit, budete psát články s novinkami, pokaždé, když konkurence přidá něco nového, musíte se postarat, abyste reagovali rychle (ať už tím, že danou věc okopírujete, zlepšíte, nebo vysvětlíte, proč je daná věc špatná).

c) chcete prodávat podporu

Podle mě asi nejživotaschopnější přístup, který má jednu nevýhodu. Je zároveň nejtěžší. Jakmile chcete prodávat podporu, musí váš produkt působit stejně profesionálně jako komerční produkt. Zapomeňte na free šablonu ve WordPressu, musíte mít grafika a kodéra. A musíte psát newsletter. Mít marketing (open source je v tomto případě právě formou marketingu, stejně jako v předchozím bodě). Psát PR články. Mluvit o produktu všude. Vytvářet case-studies a ukazovat, jak váš projekt zákazníci v praxi používají na věci, na kterých stojí jejich podnikání.

Zkrátka budujete softwarovou firmu se vším, co k tomu patří. Máte účetní, administrativu a asistentku. Třeba i kupujete komerční software, nebo si platíte jiné firmy, které některé služby podobně nabízí jako podporu.

d) uzavřený software považujete za nemorální

„Microsoft“ nepíšete jinak než s $ místo S. Zajídá se vám za soft platit a všechno, co napíšete, jste ochotni sdílet. Nejspíš míříte k tomu, že udržujete jednu nebo i několik knihoven, které jste třeba ani nenapsali. Máte pull requesty do spousty dalších knihoven. Vaše práce (byť třeba programátorská) je pro vás jen obživa a to, co milujete, začíná poté, co přijdete domů. Nejspíš jste zkusili Mono a MonoDevelop, ale nelíbí se vám, že se aplikace v Monu dostávají do distribucí.

Tady neplatí žádná pravidla. Pokud máte takové nastavení, vydávejte jako open source všechno a buďte spokojení.

Zhodnocení

Když se na ty jednotlivé varianty dívám, z porovnáním mi vychází pár pravidel, které jsou platné pro většinu. Především: chcete se s danou technologií párat i za 5 let? Jste ochotni dělat podporu? Chcete tu svou věc otevřeně propagovat? Chcete vyjít vstříc firmám, které na vaší technologii staví své podnikání? Počítáte s tím, že každý release rovná se nutnost zpětné kompatibility? Počítáte s tím, že budete řešit, jak váš soft funguje i v jiných distribucích a na jiných verzích knihoven? Uvědomujete si, že to není jen psaní kódu? Výborně, fandím vám a budu moc rád, když přidáte další kousek do úžasného světa otevřeného softwaru.


Jiří Knesl pořádá školení Scrumuškolení GTD a školí i pro Akademii Root.cz. Řadě firem již pomohl snížit chyby a zvýšit obrat o desítky procent.

Našli jste v článku chybu?
9. 10. 2012 9:59
Franta (neregistrovaný)

Přijde mi, že autor uvažuje podle schématu

1) udělat open source software 2) vybudovat komunitu 3) profit

a pak mu to nevychází. Možná něco vydal a nikdo mu nepřispěl nebo nedostal zpětnou vazbu a teď je zklamaný. Ale to přece není žádná tragédie, není to prohra. Hodně lidí je pasivních a že se nikdo neozval, ještě neznamená, že to nikomu nemělo k užitku. Smysl to má.

Doporučuji tomu nechat spíš volný průběh. Svobodný software je přirozený a správný způsob, jak vyvíjet. Člověk napíše něco pro…

9. 10. 2012 9:20
Franta (neregistrovaný)

Pokud vyhovuje definici, tak ano -- samotné zdrojáky nestačí k tomu, aby šlo něco označit jako open source. Totéž platí pro svobodný software.

A placený/neplacený s tím nemá nic společného.