Jak vytvořit opensourcový program

Dokončeno

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 využívají projekty, protože vidí osobní nebo obchodní výhodu. 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. Namísto toho, aby tato vylepšení byla držena v soukromých větvích, jsou nuceni tyto změny přispívat zpět do zdrojového úložiště, aby se staly součástí základního projektu. Tento cyklus zlepšování je důvodem, proč mnoho firem vytváří software pomocí opensourcového modelu.

Cíle open source

Pro rekapitulaci zopakujme, že existují tři dimenze účasti na opensourcovém softwaru:

  • Uživatelé, kteří studují nebo používají úložiště jiných uživatelů.
  • Přispěvatelé, kteří jsou aktivně zapojeni do zlepšování úložišť jiných uživatelů.
  • Producenti, kteří vytvářejí a spravují svá vlastní úložiště, která jsou otevřená ostatní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ů.

Diagram úrovní opensourcových procesů

  • Ad hoc postupy, které nemají žádný proces zaveden. Úspěch závisí na úsilí jednotlivců.
  • Spravované, které mají částečně zdokumentovaný proces. Úspěch závisí na disciplíně.
  • Definováno, které mají zdokumentovaný, standardizovaný a integrovaný proces. Úspěch závisí na automatizaci.
  • Measured, které mají kvantitativně řízený 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.

Chcete-li získat lepší představu o tom, jak si vaše organizace stojí, podívejte se na sebehodnocení 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.

Kromě toho je vaším kodexem chování důležitou zásadou, kterou je třeba vyjádřit. 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 Průvodci 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 zpřístupnit jako open-source?", která poskytuje rámec pro rozhodování, zda by měl být kandidátský projekt uvolněn 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í schválení opensourcového projektu, kontroly kódu, které zajistí, aby se citlivá data odebrala před tím, než projekt přejde do provozu, ochrannou známku nebo opensourcové vyhledávání projektů , aby nedošlo ke konfliktu pojmenování atd.

  • 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é lze 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 správcem, který vysvětluje povinnosti, které správce má při udržování úložiště v pořádku. 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.mdje , CONTRIBUTING.mdnebo CODE_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.

  • Interní nejčastější dotazy, které poskytují 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 licencí, které uvádějí, které licence byly schváleny nebo odmítnuty právním oddělením pro opensourcové využívání nebo přispívání.