Hlavní navigace

Kdy uvolnit software jako open source?

9. 10. 2012
Doba čtení: 3 minuty

Sdílet

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í.

CS24_early

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.

Byl pro vás článek přínosný?

Autor článku

Jiří Knesl vystudoval ekonomii, posledních 15 let se baví a živí vývojem software a pomoci jiným, aby byli schopni vyvíjet lepší software. Ve volném čase cestuje, vaří pivo a jídlo. Jeho web najdete na Knesl.com.