Jak vytvořit opensourcový program
Tady probereme hlavní aspekty při vytváření opensourcového programu.
Co znamená "open-source?"
Open source program je více než veřejný přístup k základu kódu. Jeho smyslem je otevřít živý projekt tak, aby se na něm mohl podílet kdokoli, kdo o to má zájem. Při správném spuštění pro příslušný projekt může opensourcový program přispět k podstatným vylepšením kvality vašeho produktu.
Jedním z hlavních důvodů, proč společnosti zveřejňují projekty jako open source, je to, že do nich chtějí zapojit komunitu. Do oblíbených projektů komunita přispívá velmi výrazně, a navíc zdarma.
Motivací nemusí být jen altruismus. Lidé a organizace používají projekty, protože v tom vidí výhody pro sebe nebo pro firmu. Pokud projekt nevyhovuje jejich potřebám nebo očekáváním, může využít příležitost řešit chyby nebo přidávat funkce. Místo toho, aby tato vylepšení držela zpět v privátních forkůch, museli tyto změny přispívat zpět do zdrojového úložiště, aby se staly součástí směrného plánu projektu. Tento chvályhodný cyklus vylepšení je důvod, proč mnoho firem vytváří software v modelu open source.
Cíle open source
Pro rekapitulaci zopakujme, že existují tři dimenze účasti na opensourcovém softwaru:
- Uživatelé, kteří zkoumají nebo používají úložiště jiných uživatelů.
- Přispěvatelé, kteří se aktivně podílejí na vylepšení úložišť jiných uživatelů.
- Producenti, kteří sestavují a udržují svá vlastní úložiště otevřená ostatním uživatelům.
Když organizace důkladněji zvažují, co chtějí získat od jednotlivých dimenzí, je osvědčeným postupem nejdříve shrnout, jak jsou na tom dnes. V každé dimenzi existuje pět úrovní procesů.
- Ad hoc, která nepoužívá žádný proces. Úspěch závisí na úsilí jednotlivců.
- Spravovaná, která má částečně zdokumentovaný proces. Úspěch závisí na disciplíně.
- Definovaná, která má zdokumentovaný, standardizovaný a integrovaný proces. Úspěch závisí na automatizaci.
- Měřeno, které mají kvantitativní spravovaný proces. Úspěch závisí na měření metrik v rámci obchodních cílů.
- Optimalizované, které mají proces, který se průběžně a spolehlivě vylepšuje prostřednictvím přírůstkových i inovativních změn. Úspěch závisí na snížení rizika změny.
Pokud chcete lépe porozumět aktuální situaci své organizace, přečtěte si o vlastním posouzení open source.
Co by se mělo vydávat jako open source?
Mnoho projektů není určeno pro opensourcovou velikost. I když se vaše kritéria můžou lišit v závislosti na cílech a úrovni procesu vaší společnosti, tady jsou některá doporučená kritéria, která je potřeba zvážit před otevřením projektu:
Obsahuje váš projekt duševní vlastnictví, které chcete chránit? Pokud ano, otevření jeho kódu by prozradilo, v čem spočívá jeho hodnota. Tyto typy projektů nevyužívejte open source, pokud nemáte pocit, že výhody převáží nad riziky.
Je projekt ve stabilním stavu a je jeho kód kvalitní? Projekt nemusí být dokonalý, ale potenciální přispěvatelé můžou odejít, pokud je projekt v hrozném tvaru, aby mohli začít.
Je projekt užitečný i pro uživatele mimo vaši společnost? Pokud ne, pravděpodobně nebudete mít žádnou účast.
Jsou lidé mimo vaši společnost schopni přispívat? Potřebují přístup ke všem závislostem projektu, procesům sestavení a všem ostatním potřebným ke spuštění projektu. Pokud ho nemůžou spustit, nemůžou přispívat.
Má váš tým dostatečnou kapacitu, aby mohl opensourcový program podporovat? Pokud ne, počkejte, až to uděláte. Pokud otevřete projekt a nepodporujete ho, můžete přijít o příležitost vytvořit důvěryhodnou komunitu.
Tyto otázky představují jen některé z nejčastějších aspektů. Vaše organizace může mít jiné problémy s obchodními nebo dodržováními předpisů, které je potřeba mít na paměti.
Návrh opensourcového programu
Provoz opensourcového programu se podobá provozu programu innersourcového, ale pro veřejnou cílovou skupinu. V důsledku toho je potřeba vzít v úvahu několik dalších aspektů.
Nastavení očekávání komunity
Soubory se podobají README.md
a CONTRIBUTING.md
jsou ještě důležitější, protože jsou vystavené lidem, kteří nemají kontext vaší organizace. Musí být vyhodnoceny z pohledu někoho mimo společnost, aby bylo zajištěno srozumitelnost.
Dalšími důležitými zásadami, které je zapotřebí vyjádřit, je etický kodex. Standardem je přidání CODE_OF_CONDUCT.md
souboru do kořenového adresáře úložiště a jeho použití k vysvětlení chování očekávaného od účastníků ve vaší komunitě. Tento dokument by měl zkontrolovat více skupin ve vaší organizaci, včetně právního týmu. Naštěstí existuje mnoho standardních pravidel chování, od kterých lze začít. Mnoho projektů tyto kodexy používá beze změny. Další informace najdete v článku Průvodce etickými kodexy pro open source.
Příprava zaměstnanců na údržbu úložiště
Zaměstnanci nemusí mít zkušenosti s prací s opensourcovou komunitou. Abychom jim pomohli s přípravou, doporučujeme, aby společnost nabízela sadu příruček, které pokrývají klíčové věci, které by měli všichni znát, než začne. Tyto příručky by se měly publikovat na interním úložišti nebo portálu, který se pravidelně udržuje a je přístupný jenom zaměstnancům společnosti. Následující příručky jsou některé z nejdůležitějších:
Příručka Měli bychom tento projekt vydat jako open source?, která poskytuje rámec pro rozhodování, jestli by se navrhovaný projekt měl nebo neměl vydat jako open source. Tato příručka se dá strukturovat jako vývojový diagram, sada otázek nebo seznam aspektů.
Kontrolní seznam nastavení, který zahrnuje všechny pracovní položky, které tým musí dokončit před a po spuštění opensourcového projektu. Tento seznam by měl zahrnovat získání souhlasu k uvedení projektu jako open source, kontroly kódu, které zajistí, že se před uveřejněním projektu odeberou citlivá data, ochrannou známku nebo hledání opensourcových projektů, aby bylo jisté, že nedojde ke konfliktu názvů, a podobně.
Seznam kontaktů pro klíčové osoby ve vaší organizaci, které můžou být potřeba kontaktovat v případě, že je vyžadována přímá podpora od správce. Tento seznam by měl obsahovat osoby z oddělení zabezpečení softwaru, zabezpečení lokality, právního oddělení, oddělení pro styk s veřejností atd.
Odkaz na počáteční úložiště, které se dá naklonovat jako výchozí bod. Měl by obsahovat ukázkovou licenci README, etický kodex, průvodce pro přispívání a všechny ostatní podpůrné soubory, které opensourcový projekt vaší společnosti musí mít. Neměl by obsahovat nic, co byste nechtěli omylem předat veřejné cílové skupině.
Průvodce pro správce, který vysvětluje odpovědnost správce při udržování úložiště v dobrém stavu. Mezi tyto odpovědnosti patří udržování dokumentace k úložišti v aktualizovaném stavu, zajištění problémů a žádostí o přijetí změn včas pozornost správných lidí atd.
Průvodce komunikací, který nabízí pokyny pro správce úložišť pro některá z témat, která nechcete zahrnout do veřejných souborů, jako
README.md
je ,CONTRIBUTING.md
neboCODE_OF_CONDUCT.md
. Tato témata mohou být citlivá obchodní témata, jako je například nediskutování konkurentů; nebo obecnější témata vedení, jako je vhodné rozpoznat hlavní přispěvatele.Vnitřní nejčastější dotazy, které nabízejí schválené odpovědi na běžné otázky. Tento seznam je užitečný zejména v případě, že se v průběhu údržby opensourcového programu můžou zabývat právní odlišnosti témat, o kterých by vaše společnost mohla diskutovat.
Zásady licence, které uvádějí licence schválené nebo zamítnuté právním oddělením k používání open source nebo přispívání do něj