Cum să stabiliți un program open-source
Aici vom discuta aspectele cheie pentru stabilirea unui program open-source.
Cum adică prin "open-source?"
Un program open-source este mai mult decât accesul public la o bază de cod. Este vorba despre deschiderea unui proiect viu pentru participare de la oricine care vrea să se implice. Atunci când este executat corect pentru un proiect corespunzător, un program open-source vă poate ajuta să aduceți îmbunătățiri substanțiale calității produsului dvs.
Unul dintre principalele motive pentru care companiile de proiecte open-source doresc ca comunitatea să se implice. Proiectele populare primesc contribuții semnificative de la comunitate și le obțin gratuit.
Nu e neapărat din altruism. Persoanele și organizațiile consumă proiecte, deoarece văd un beneficiu personal sau de afaceri. Atunci când proiectul nu își îndeplinește cerințele sau așteptările, poate utiliza oportunitatea de a rezolva erorile sau de a adăuga caracteristici. Mai degrabă decât să țineți aceste îmbunătățiri înapoi în furcile private, acestea sunt obligate să contribuie aceste modificări înapoi în depozitul sursă pentru a deveni parte a liniei de bază a proiectului. Acest ciclu virtuos de îmbunătățire este motivul pentru care multe firme produc software folosind modelul open-source.
Obiective open-source
Pentru a recapitula, există trei dimensiuni pentru participarea la software-ul open-source:
- Consumatorii, care studiază sau utilizează depozitele de altele.
- Colaboratori, care sunt implicați în mod activ în îmbunătățirea depozitelor de altele.
- Producătorii, care construiesc și mențin propriile depozite care sunt deschise altora.
Pe măsură ce organizațiile gândesc mai profund la ceea ce doresc să iasă din fiecare dimensiune, este o idee bună să luați în seamă unde se află astăzi. Există cinci niveluri de proces în fiecare dimensiune.
- Ad hoc, care nu au niciun proces în loc. Succesul depinde de eforturile individuale.
- Gestionate, care au un proces parțial documentat. Succesul depinde de disciplină.
- Definite, care au un proces documentat, standardizat și integrat. Succesul depinde de automatizare.
- Măsurat, care au un proces gestionat cantitativ. Succesul depinde de măsurarea măsurătorilor în raport cu obiectivele de afaceri.
- Optimizate, care au un proces care se îmbunătățește continuu și fiabil, atât prin modificări incrementale, cât și inovatoare. Succesul depinde de reducerea riscului de modificare.
Pentru a înțelege mai bine unde se află organizația dvs., consultați evaluările self-source Open-source.
Ce ar trebui să deschideți sursa?
Multe proiecte nu sunt destinate pentru măreția open-source. Deși criteriile dvs. pot varia în funcție de obiectivele și nivelul de proces al firmei dvs., iată câteva criterii recomandate de luat în considerare înainte de a deschide un proiect:
Proiectul dvs. conține o proprietate intelectuală pe care doriți să o protejați? În acest caz, deschiderea sursei sale ar da valoarea sa. Nu deschideți aceste tipuri de proiecte dacă nu considerați că beneficiile depășesc riscurile.
Proiectul este într-o stare stabilă cu o calitate bună a codului? Proiectul nu trebuie să fie perfect, dar potențialii colaboratori ar putea pleca dacă proiectul este în formă teribilă cu care să înceapă.
Proiectul dvs. este util pentru persoanele din afara firmei? Dacă nu, atunci probabil că nu primiți nicio participare.
Sunt persoane din afara firmei dvs. care pot contribui? Aceștia au nevoie de acces la toate dependențele de proiect, la procesele de compilare și la orice altceva este necesar pentru a rula proiectul. Dacă nu poate rula, nu pot contribui.
Echipa dvs. are lățimea de bandă pentru a accepta un program open-source? Dacă nu, așteptați până când faceți acest lucru. Dacă deschideți un proiect și nu îl acceptați, este posibil să pierdeți posibilitatea de a construi o comunitate de încredere.
Aceste întrebări sunt doar câteva dintre cele mai frecvente considerații. Este posibil ca organizația dvs. să aibă alte probleme de afaceri sau de conformitate de reținut.
Proiectarea unui program open-source
Rularea unui program open-source este similară cu rularea unui program InnerSource, dar pentru un public. Prin urmare, mai sunt câteva considerații.
Setarea așteptărilor comunității
Fișiere precum README.md și CONTRIBUTING.md sunt chiar mai importante, deoarece sunt expuse persoanelor care nu au contextul dvs. organizațional. Acestea trebuie evaluate din perspectiva unei persoane din afara companiei pentru a asigura claritate.
În plus, codul dvs. de conduită este o politică importantă de exprimat. Standardul este să adăugați un CODE_OF_CONDUCT.md fișier la rădăcina depozitului și să îl utilizați pentru a explica comportamentul așteptat de la participanții din comunitatea dvs. Mai multe grupuri din organizația dvs. ar trebui să revizuiască acest document, inclusiv echipa legală. Din fericire, există multe coduri standard de conduită disponibile de la care să începeți. Multe proiecte utilizează aceste coduri as-is fără modificări. Aflați mai multe în Ghid pentru codurile de conduită open-source.
Pregătirea angajaților pentru menținerea unui depozit
Este posibil ca angajații să nu aibă experiență în lucrul cu comunitatea open-source. Pentru a-i ajuta să se pregătească, recomandăm ca firma să ofere un set de ghiduri care să acopere lucrurile cheie pe care toți ar trebui să le știe înainte de a începe. Aceste ghiduri ar trebui postate într-un depozit intern sau un portal care este întreținut periodic și accesibil numai angajaților firmei. Următoarele ghiduri sunt câteva dintre cele mai importante:
Un ghid "Ar trebui să deschidem acest proiect?" care oferă un cadru pentru a decide dacă un proiect candidat ar trebui sau nu să fie deschis. Acest ghid ar putea fi structurat ca o schemă logică, un set de întrebări sau o listă de considerații.
O listă de verificare a instalării care include toate elementele de lucru de care are nevoie o echipă pentru a se finaliza înainte și după lansarea unui proiect open-sourced. Această listă ar trebui să includă obținerea aprobării pentru proiectul open-source, recenzii de cod pentru a vă asigura că datele sensibile sunt eliminate înainte ca proiectul să fie în direct, o marcă comercială sau o căutare de proiect open-source pentru a vă asigura că nu există un conflict de denumire și așa mai departe.
Este necesară o listă de persoane de contact pentru persoanele cheie din organizația dvs. care poate necesita contactare în cazul în care este necesară asistența directă de la întreținetori. Această listă ar trebui să includă persoane din securitatea software-ului, securitatea site-ului, relațiile legale, publice și așa mai departe.
Un link la un depozit starter care poate fi clonat ca punct de plecare. Acesta ar trebui să conțină un eșantion de README, licență, cod de conduită, ghid care contribuie și orice alte fișiere suport de la fiecare proiect open-source de la firma dvs. trebuie să aibă. Nu ar trebui să conțină nimic ce nu v-ați dori împins accidental către un public public.
Ghidul întreținetorului care explică responsabilitățile pe care le are un întreținut un întreținut. Aceste responsabilități includ menținerea documentației depozitului actualizat, asigurarea problemelor și solicitărilor de tragere atrage atenția persoanelor potrivite în timp util și așa mai departe.
Un ghid de comunicații care oferă îndrumări pentru întreținetorii depozitului pentru unele dintre subiectele pe care preferați să nu le includeți în fișiere publice, cum ar fi
README.md,CONTRIBUTING.mdsauCODE_OF_CONDUCT.md. Aceste subiecte pot fi subiecte de afaceri sensibile, cum ar fi nu discută despre concurenți; sau subiecte mai generale de conduită, cum ar fi cum să recunoască în mod corespunzător colaboratori de top.Întrebări frecvente interne care oferă răspunsuri aprobate la întrebările comune. Această listă este utilă mai ales dacă există subtilități legale la subiectele pe care firma dvs. le-ar putea discuta în cursul menținerii unui program open-source.
O politică de licență care listează licențele care au fost aprobate sau respinse de departamentul juridic pentru consumarea sau contribuția open-source.