Nyílt forráskódú program létrehozása
Ebben a szakaszban a nyílt forráskódú programok létrehozásának legfontosabb szempontjaival foglalkozunk.
Mit értünk "nyílt forráskódú" alatt?
A nyílt forráskódú programok több mint nyilvános hozzáférés a kódbázishoz. Lényegük az, hogy egy élő projektet teszünk elérhetővé, amelynek fejlesztésében bárki részt vehet. Ha egy megfelelő projekthez megfelelően hajtják végre, a nyílt forráskódú programok segíthetnek a termék minőségének jelentős javulásában.
A vállalatok a legtöbb esetben azért indítanak nyílt forráskódú projekteket, mert szeretnék bevonni a közösséget. A népszerű projektek fejlesztéséhez a közösség is nagy mértékben hozzájárul, ráadásul az egész ingyen van.
Ez persze nem feltétlenül az önzetlenségről szól. A magánszemélyek és a szervezetek személyes célok vagy üzleti előnyök miatt vesznek részt egy adott projektben. Ha a projekt nem felel meg az igényeiknek vagy elvárásaiknak, kihasználhatják a lehetőséget a hibák elhárítására vagy szolgáltatások hozzáadására. Ahelyett, hogy ezeket a fejlesztéseket visszafogná a privát villákban, kénytelenek lesznek ezeket a módosításokat visszahelyezni a forrásadattárba, hogy a projekt alapkonfigurációjának részévé váljanak. Ez az önfenntartó fejlesztési ciklus a legfőbb oka annak, hogy számos vállalat a nyílt forráskódú modell alapján gyártja a szoftvereit.
Nyílt forráskód – Célok
Röviden összefoglalva, a nyílt forráskódú szoftverek fejlesztésében a részvétel három dimenzióban lehetséges:
- A felhasználók dimenziója, akik mások adattárait tanulmányozzák vagy használják.
- A közreműködők dimenziója, akik aktívan részt vesznek mások adattárainak fejlesztésében.
- A gyártók dimenziója, akik mások számára elérhető adattárakat hoznak létre és tartanak fenn.
Ahogy a szervezetek alaposan megfontolják, hogy mit várnak el az egyes dimenzióktól, hasznos felmérni az aktuális helyzetüket. Minden dimenzión belül öt folyamatszint van.
- Ad hoc – nem rendelkezik meghatározott folyamatokkal. A siker az egyéni erőfeszítésektől függ.
- Felügyelt – részlegesen dokumentált folyamatokkal rendelkezik. A siker a szemlélettől függ.
- Meghatározott – dokumentált, szabványosított és integrált folyamattal rendelkezik. A siker az automatizálástól függ.
- Mért, amely mennyiségileg felügyelt eljárással rendelkezik. A siker az üzleti célokhoz képest mért metrikáktól függ.
- Optimalizált, amelynek folyamata folyamatosan és megbízhatóan fejlődik növekményes és innovatív változások révén. A siker a változások jelentette kockázatok mérséklésétől függ.
Ha szeretné jobban átlátni a szervezet helyzetét, tekintse meg a nyílt forráskódú önértékeléseket.
Mit érdemes nyílt forráskóddal fejleszteni?
Sok projekt nem nyílt forráskódú nagyszerűségre van szánva. Bár a feltételek a vállalat céljaitól és folyamatszintjétől függően változhatnak, az alábbiakban néhány javasolt feltételt érdemes figyelembe venni a projekt nyílt beszerzése előtt:
Tartalmaz-e a projekt olyan szellemi tulajdont, amelyet meg szeretne védeni? Ha igen, akkor a projekt értéke a forráskód közzétételével elveszne. Ne nyisson nyílt forráskódú projekteket, hacsak nem érzi úgy, hogy az előnyök meghaladják a kockázatokat.
Stabil-e a projekt állapota, és jó minőségűek-e a kódok? A projektnek nem kell tökéletesnek lennie, de a lehetséges közreműködők elsétálhatnak, ha a projekt szörnyű állapotban van.
A projekt a vállalaton kívüli személyek számára is hasznos? Ha nem, akkor valószínűleg nem kap semmilyen részvételt.
A vállalaton kívüli személyek is tudnak közreműködni? Hozzáférésre van szükségük az összes projektfüggőséghez, a buildelési folyamatokhoz és bármi máshoz, ami a projekt futtatásához szükséges. Ha nem tudják futtatni, nem tudnak közreműködni.
Megfelelő sávszélességgel rendelkezik a csapat a nyílt forráskódú programok támogatásához? Ha nem, várjon, amíg meg nem teszi. Ha nyílt forráskódú projektet hoz létre, és nem támogatja azt, elveszítheti a lehetőséget egy megbízható közösség létrehozására.
Ez csupán néhány kérdés a legfontosabb szempontokra vonatkozóan. Előfordulhat, hogy a szervezetnek más üzleti vagy megfelelőségi problémái vannak, amelyeket szem előtt kell tartania.
Nyílt forráskódú program megtervezése
A nyílt forráskódú programok futtatása az InnerSource-programok futtatásához hasonlóan történik, csak nyilvános célközönséggel. Ennek eredményeképpen van még néhány szempont.
A közösség elvárásainak meghatározása
A fájlok kedvelik README.md és CONTRIBUTING.md még fontosabbak, mert olyan személyek számára lesznek közzétéve, akik nem rendelkeznek az Ön szervezeti környezetével. Az egyértelműség érdekében a vállalaton kívüli személy szemszögéből kell értékelni őket.
Emellett a vállalat viselkedési szabályzatának ismertetése is fontos. A szabvány az, hogy hozzáad egy CODE_OF_CONDUCT.md fájlt az adattár gyökeréhez, és annak használatával ismerteti a közösség résztvevőitől elvárt viselkedést. A szervezet több csoportjának is át kell tekintenie ezt a dokumentumot, beleértve a jogi csapatát is. Szerencsére számos standard magatartási kódex érhető el, amelyekből kiindulni kell. Ezeket a szabályzatokat sok projektben minden további módosítás nélkül használják. További információt az Útmutató nyílt forráskódú projektekre vonatkozó viselkedési szabályzatokhoz című útmutatóban találhat.
Az alkalmazottak felkészítése az adattár karbantartására
Előfordulhat, hogy az alkalmazottak nem rendelkeznek tapasztalattal a nyílt forráskódú közösséggel való munkában. A felkészüléshez javasoljuk, hogy a vállalat olyan útmutatókat kínáljon, amelyek ismertetik azokat a legfontosabb tudnivalókat, amelyeket mindenkinek tudnia kell az első lépések előtt. Ezeket az útmutatókat közzé kell tenni egy belső adattárban vagy portálon, amely rendszeresen karbantartott, és csak a vállalati alkalmazottak számára érhető el. A következő útmutatók a legfontosabbak:
Az „Érdemes ezt a projektet nyílt forráskódúvá tennünk?” című útmutató egy keretrendszert biztosít annak eldöntéséhez, hogy egy adott projektet érdemes-e nyílt forráskódúként fejleszteni. Ezt az útmutatót folyamatábraként, kérdésgyűjteményként vagy a megfontolandó szempontok listájaként érdemes megszerkeszteni.
Egy beállítási ellenőrzőlista , amely tartalmazza a csapatnak a nyílt forráskódú projekt elindítása előtt és után elvégzendő összes munkaelemet. Ebben a listában szerepelnie kell a következőknek: a projekt nyílt forráskódúvá tételére vonatkozó jóváhagyás beszerzése, kódvizsgálatok, amelyek biztosítják a bizalmas adatok eltávolítását, mielőtt a projekt bekerülne az éles környezetbe, egy védjegy vagy egy nyílt forráskódú projektekre vonatkozó keresés a névütközés elkerülése érdekében, és így tovább.
A szervezet kulcsembereinek névjegylistája , amelyet előfordulhat, hogy fel kell venni a kapcsolatot, ha közvetlen támogatásra van szükség a fenntartótól. A listában szerepelnie kell a szoftverbiztonsági, webhelybiztonsági, jogi, PR- és egyéb munkatársaknak.
Hivatkozás egy kezdő adattárra, amely klónozható mint kiindulási pont. Tartalmaznia kell egy mintaként szolgáló README fájlt, egy licencet, egy viselkedési szabályzatot, egy közreműködői útmutatót és minden egyéb támogató fájlt, amelyre a vállalat nyílt forráskódú projektjeiben szükség van. Nem tartalmazhat továbbá semmilyen információt, amely véletlenül sem kerülhet a nyilvánosság elé.
Egy karbantartói útmutató, amely ismerteti, hogy milyen feladatok hárulnak a karbantartóra az adattár megfelelő állapotának fenntartása érdekében. Ezek közé tartozik az adattár dokumentációjának naprakészen tartása, a problémák és a lekéréses kérelmek időben történő figyelése, és így tovább.
Egy kommunikációs útmutató , amely útmutatást nyújt az adattár fenntartóinak néhány olyan témához, amelyet nem szeretne nyilvános fájlokba , például
README.md,CONTRIBUTING.mdvagyCODE_OF_CONDUCT.md. Ezek a témák lehetnek érzékeny üzleti témák, például nem vitatják meg a versenytársakat; vagy általánosabb viselkedési témakörök, például a legjobb közreműködők megfelelő felismerése.Egy belső GYIK, amely a leggyakrabban felmerülő kérdésekre ad jóváhagyott választ. Ez a lista különösen akkor hasznos, ha jogi finomságok vannak a vállalat által a nyílt forráskódú program fenntartása során megvitatható témákkal kapcsolatban.
Egy licencszabályzat, amely felsorolja, hogy mely licenceket hagyta jóvá vagy utasította el a jogi osztály a nyílt forráskódú felhasználás vagy a közreműködés tekintetében.