Jak vytvořit pravidla governance pro open-source software

Jak vytvořit pravidla governance pro open-source software

Využívání Open-Source Software (OSS) může znamenat značné úspory a nezávislost na významných dodavatelích, přináší ale také řadu nových rizik – počínaje otázkami kvality a flexibility OSS přes rizika související s podporou či bezpečností až po rizika právní. Pro zvládnutí těchto potenciálních problémů a rizik je nejlepší zavést pravidla a politiky governance (dohledu, správy) napříč organizací.

Úvodní obrázek: Jackie Aim, University of Edinburgh 2017 CC BY 4.0

Vytvořte řídicí výbor governance

Dohled nad OSS nejlépe zvládne multifunkční tým, který má jasnou odpovědnost při definování politiky a pravidel správy OSS i procesů, jež zajišťují její dodržování.

Členové výboru by měli zastupovat různé relevantní organizační oblasti. Governance by neměla být prací jedné osoby na plný úvazek, a stejně tak různé aspekty governance nenáleží výhradně jedné části organizace. Výbor by proto měl zahrnovat zástupce z co největšího počtu dotčených částí organizace či podniku.

Jádrem výboru je většinou základní skupina složená z vedoucích pracovníků v oblasti vývoje a nasazování SW či podnikové architektury v kombinaci s dalšími členy ze segmentu řízení provozu IT, bezpečnosti a rizik, financí, práva a dodržování předpisů – abychom jmenovali alespoň některé.

Možnost vyjádřit se problematice governance by neměla být vázána na členství ve výboru – měly by ji mít všechny zainteresované skupiny (stakeholders). Výbor či výbory by nicméně měly definovat a zdokumentovat úrovně zapojení členů výboru a zúčastněných stran, které nejsou členy výboru. Jednu z metod kategorizace takového zapojení nabízí tabulka RACI:

  • Responsible – odpovídá za výsledky pro konkrétní pravidlo či problém governance
  • Accountable – zodpovídá za definování a zajištění souladu s konkrétním pravidlem či problémem
  • Consulted – konzultuje, tedy poskytuje vhled a zpětnou vazbu týkající se konkrétního pravidla či problému
  • Informed – je informován o rozhodnutích týkajících se konkrétního problému.

Vzhledem ke své mezioborové povaze by se měl výbor zodpovídat výkonným vedoucím pracovníkům zodpovědným za celopodnikové politiky a pravidla, i když v závislosti na organizační struktuře může být podřízen přímo vedení právního oddělení, řediteli pro informační bezpečnost (CISO) nebo řediteli pro informační technologie (CIO).

Vytvořte pravidla governance

Efektivní pravidla (politika) by měla definovat, co je povoleno a kdo má rozhodovací pravomoc v souvislosti s používáním OSS. Zahrnují také požadované procesy a definované postupy nezbytné pro plnění těchto předpisů i důsledky jejich nedodržování. Pravidla budou snáze akceptována, jsou-li výslovně spojena s jasně definovanými cíli nasazení OSS, přijatelnými riziky, rozhodovacími kritérii a důvody pro zavedení jistých omezení.

To vše umožňuje, aby pravidla governance pokryla tři různé úrovně (oblasti) práce s open source softwarem:

Spotřebu. Jaké druhy OSS lze používat? Existují různá pravidla pro rozličné licenční modely, pro produkty vs. knihovny nebo pro OSS vložené do jiných produktů? Kdo schvaluje použití? Za jakých omezení atd.

Kontribuci. Mohou vývojáři přispívat do projektů OSS? Pokud je to povoleno, přispívají jako zástupci společnosti, nebo jako soukromé osoby? Mohou tak činit v pracovní době společnosti, a pokud ano, v jaké výši atd.

Tvorbu. Chce organizace vytvářet open source vlastní software? Může vývojář spustit projekt s otevřeným zdrojovým kódem? Kdo může schválit projekt open source? Kdo je zodpovědný za open source projekt atd.

Stanovení podmínek pro soulad s pravidly (governance)

Pro řadu organizací je vytvoření výboru a vypracování zásad governance pro oblast OSS poměrně jednoduché a přímočaré (koneckonců v základech se neliší od principů governance pro jiné oblasti). Skutečný přínos pravidel governance ale přichází až s jejich skutečným zavedením, přijetím a dodržováním. To vyžaduje, aby vedení výboru:

Socializovalo pravidla OSS governance – tedy zajistilo jejich sdílení se všemi zaměstnanci, kteří přicházejí do kontaktu s open source software technologiemi. Dále aby využívalo existující systémy a procesy podniku či organizace k šíření těchto pravidel a získávání zpětné vazby na ně. Zaměstnanci by o governance pravidlech a požadavcích na jejich plnění měli být informováni různými prostředky. Ty mohou zahrnovat „radniční“ schůze a zasedání s možností klást otázky, dále vzdělávací materiály a certifikační testy. Výbor by měl všechny materiály zveřejnit na přístupném místě a měl by mít systém pro aktualizaci či distribuci nové dokumentace při změnách politiky/pravidel.

Zavedlo postupy pro zajištění souladu s předpisy – to znamená navrhnout procesy, jež daná pravidla vyžadují tak, aby byly jednoduché, srozumitelné, snadno (efektivně) proveditelné a škálovatelné. Bez návrhu efektivních procesů je budou lidé žádající o povolení ignorovat a členové výboru zodpovědní za schvalování budou zabředávat do drobností, čímž se governance stane neúčinnou.

Automatizovalo procesy – tedy využilo nástroje pro automatizaci, tak aby se proces snadno používal a bylo zároveň obtížné ho obejít. Výbor pro správu OSS může například vyvinout workflow aplikaci, která produktovým týmům usnadní podávání žádostí o OSS produkty. Automatizaci lze též zabudovat do řetězce nástrojů DevOps, tak aby vývojářům zabránila zahrnout do svých produktů neschválený kód a knihovny OSS například tím, že nařídí používání nástrojů pro analýzu složení softwaru (SCA – Software Composition Analysis).

Klienti – uživatelé služeb Gartneru se dozvědí další podrobnosti k tomuto tématu ve studii Ensure Safe and Successful Usage of Open-Source Software With a Comprehensive Governance Policy

Zajímají-li vás obecné trendy v oblasti open source SW, pak doporučujeme před pár týdny publikovanou studii Hype Cycle for Open-Source Software, 2021