Ovaj wikiHow vas uči kako započeti i održavati uspješan projekat otvorenog koda. Osim napornog rada i fokusiranja na krajnji cilj, ključ za stvaranje uspješnog projekta otvorenog koda često leži u definiranju vaših ciljeva na početku procesa i prihvaćanju pomoći od zajednice.
Koraci
1. dio od 3: Priprema za početak
Korak 1. Znajte odakle početi
U osnovi, vaš projekt otvorenog koda trebao bi pružiti rješenje problema, posebno ako se vjerovatno pojavi problem u budućnosti. Prvi korak u njegovanju uspješnog projekta otvorenog koda leži u pronalaženju problema za rješavanje, utvrđivanju da li je problem dovoljno važan za rješavanje ili definiranju vaših ciljeva.
Ako već imate pokrenuti projekt, svakako zapišite problem koji rješava prije nego nastavite
Korak 2. Uvjerite se da je vaš projekat neophodan
Potražnja je jedna od primarnih komponenti uspješnih projekata otvorenog koda. Ako nema potrebe ili potrebe za vašom početnom idejom projekta-ili ako trenutni zahtjev ispunjava drugi projekt-razmislite o pridruživanju drugom tekućem projektu ili odabiru drugog problema na koji ćete se fokusirati.
Mnogi tekući projekti otvorenog koda prihvaćaju rigorozan doprinos zajednice, stoga se nemojte bojati tražiti i pridružiti se postojećoj verziji svog projekta
Korak 3. Izbjegavajte preuzimanje velikih ili nejasnih problema
Ne samo da će ti problemi obično postići službenija rješenja na vrijeme, pokušaj fokusiranja na veliki problem umanjuje vaš fokus i otežava zadovoljavanje svih potreba vaše publike bez ulaganja nerazumnog vremena u projekt.
Umjesto toga, usredotočite se na mali problem koji pogađa veliki broj ljudi (na primjer, greška u distribuciji Linuxa)
Korak 4. Definišite uspjeh vašeg projekta
Budući da se projekti otvorenog koda bave različitim kategorijama pitanja, "uspjeh" vašeg projekta će varirati. Bilježenje onoga što pokušavate postići i kako ćete znati da ste to postigli pomoći će vam da se fokusirate na jedan glavni cilj za vrijeme trajanja projekta.
Na primjer, možete smatrati da je vaš projekt otvorenog koda uspješan ako se pokrene, dok drugi mogu smatrati projekt uspješnim samo kada dosegne određeni broj preuzimanja
Korak 5. Odaberite postojeću i odobrenu licencu otvorenog koda za svoj projekat
Većina programera zna šta znače "GPL", "LGPL", "BSD" (Berkeley Software Distribution) i "Apache", što znači da znaju i šta mogu učiniti sa takvim kodom, a šta ne smiju raditi. To će vam pomoći da izbjegnete bilo kakva pravna ili intelektualna pitanja usput.
Pisanje vlastite licence može oduzeti puno vremena i najvjerojatnije ćete morati angažirati odvjetnika koji će potvrditi da dokument provjerava sve kutije
Korak 6. Napišite README datoteku za svoj projekt
Ovo može zvučati kao radnja koja je najbolje sačuvana za posljednju, a ne za prvu, ali pisanje README -a najbolje što možete bez stvarnog projekta koji je pred vama prisilit će vas da definirate tri ključne stvari: za koga je vaš projekt (publika), za šta project se koristi za (korištenje) i gdje možete pronaći dodatne resurse (pomoć).
Naravno, nećete moći navesti tehnička uputstva za vaš projekt u datoteci README
2. dio 3: Pokretanje projekta
Korak 1. Unaprijed pronađite saradnike
Iako možda imate bilo što, od početnog kostura vašeg projekta do radne beta verzije, zapošljavanje nekoliko bliskih suradnika koji će vam pomoći u projektu prije objavljivanja projekta bilo gdje pomoći će u uspostavljanju tima; na sličan način, imat ćete direktan pristup povratnim informacijama nekoliko bliskih ljudi kada počnete, umjesto da morate pregledavati razbacane povratne informacije zajednice.
- Neuspeh u pronalaženju saradnika pre nego što pokrenete svoj projekat može dovesti do toga da se saradnici neće osećati kao da su aktivno deo procesa.
- Mnogi vođe projekata otvorenog koda svojim prvim saradnicima nude lekcije o kodiranju ili drugu nematerijalnu naknadu.
Korak 2. Nabavite hosting
Relativno je lako prijaviti se za besplatni hosting za projekat otvorenog koda; uobičajene opcije uključuju SourceForge i GitHub. Ne samo da ovo štedi novac, već i stavlja vaš projekt na mjesto gdje će ljudi vjerovatno tražiti nadolazeće projekte otvorenog koda.
Korak 3. Navedite da je vaš projekat otvorenog koda
Iako se ovo čini kao vrlo jednostavna stvar, to je jedan od aspekata otvorenog koda koji se najviše zanemaruje. Upamtite, ljudi će samo nekoliko sekundi gledati vaš projekt prije nego što odluče hoće li ga preuzeti ili ne; saznanje da je vaš projekat otvorenog koda (i, prema tome, rad u toku) može im pomoći da steknu drugačije mišljenje.
Korak 4. Uspostavite transparentnost
"Otvoreni" dio otvorenog koda znači da ljudi moraju biti u mogućnosti vidjeti što radite s kodom. Neki jednostavni načini kako biste osigurali da svi imaju jednak pristup vašim resursima uključuju sljedeće:
- Pohranite svoj kôd na mreži kako bi mu svi mogli pristupiti.
- Postavite licencu, README i raspored izdanja na lako dostupnu lokaciju.
- Iznesite svoje ciljeve za projekat.
- Snimite i objavite sve "privatne" informacije o sastancima (npr. Audio zapise ili transkripte).
Korak 5. Otpustite iteracije svog projekta
Posebno ako imate stalne saradnike ili sponzore, htjet ćete se što točnije pridržavati rasporeda objavljivanja. To će omogućiti zajednici da stekne predodžbu o tome kako se vaš projekt osjeća prije nego što njegovo potpuno objavljivanje postane javno dostupno, a vi ćete moći primiti veliku količinu povratnih informacija koje možete koristiti za podešavanje budućih izdanja.
Važno je zapamtiti da, iako ne morate koristiti sve povratne informacije zajednice, oni će htjeti vidjeti da primjenjujete neke uobičajene prijedloge
Korak 6. Dozvolite uređivanje koda u zajednici
Iako ćete morati otkazati vandalizam i izmjene koje nemaju smisla u smislu samog koda, objavljivanje koda pomoći će vam da pronađete nove suradnike. Takođe će se uklopiti u kulturu transparentnosti koju možete pronaći kod mnogih projekata otvorenog koda, što bi moglo uticati na buduće sponzore.
Uvijek možete zaštititi strukturalni kod i zabraniti suradnicima koji spamiraju ili vandaliziraju vaš projekt ako je potrebno
Dio 3 od 3: Održavanje projekta
Korak 1. Interakcija sa zajednicom
Bez obzira na to koliko je projekat niskog ili visokog profila, vaš rad otvorenog koda će na kraju privući neki oblik interesa i/ili kritike zajednice. Umjesto da ih odbijate ili ignorirate, najbolje je razgovarati sa zainteresiranim članovima zajednice kako biste povećali šanse da postanu suradnici.
Korak 2. Nemojte sami raditi sav posao
Kao što je gore spomenuto, mnogi članovi zajednice mogu vam se obratiti sa prijedlozima ili idejama o tome kako poboljšati vaš projekt. Lako je ovo shvatiti kao poziv da sami napravite promjene; umjesto toga, razmislite o tome da zamolite zainteresiranog člana zajednice da izvrši promjene.
Na ovaj način se stvara osjećaj timskog rada s uključenim članovima zajednice i oslobađa vam neko vrijeme da se usredotočite na druga pitanja
Korak 3. Izbjegavajte privatnu komunikaciju
"Otvoreni" dio projekata otvorenog koda nije pogodan za privatne sastanke ili implementaciju informacija bez potpune transparentnosti.
Ako ipak završite privatni sastanak o nekoj funkciji ili ideji, svakako snimite sastanak i prenesite ga na stranicu svog projekta
Korak 4. Implementirajte zahtjeve za povlačenje
Zahtjevi povlačenja su načini na koje članovi zajednice mogu doprinijeti vašem projektu. Iako ćete ih htjeti pregledati u kasnijim fazama vašeg projekta, dopuštanje članovima zajednice da poprave vaš kôd kako se projekt odvija, osigurat će da bude što bolje zaokruženo.
Korak 5. Tržište svog projekta
Baš kao što biste plasirali plaćeni proizvod, svoj projekt otvorenog koda morate promovirati putem stranica na društvenim mrežama i općenitog angažmana.
Postoji gotovo bezbroj načina za promoviranje vašeg projekta, ali korištenje Reddit programa za programiranje subreddit omogućit će vam da postavljate pitanja, odgovarate na komentare i na drugi način sarađujete sa svojom ciljnom publikom
Korak 6. Neka neko vodi projekat
Uvijek će uspjeh vašeg projekta rezultirati time da mu je potrebno znatno manje pažnje nego što ste mu do sada poklanjali. Ako je moguće, odredite voditelja projekta koji će preuzeti dobrobit projekta sve dok ne postane nevažno ili mu ne bude potrebno ažuriranje; ovo će vam omogućiti da se fokusirate na druge projekte (ili napravite toliko potrebnu pauzu).
Savjeti
- Ako ste zainteresirani za ronjenje u otvorenom kodu, ali još niste spremni ugostiti svoj vlastiti projekt, razmislite o doprinosu projektima drugih korisnika dok ne shvatite proces.
-
Saznajte šta vaša licenca otvorenog koda zaista znači:
- Apache omogućava svima da izmijene vaš kôd i koriste ga u svom softveru zatvorenog koda. Stoga je kod pod ovom licencom atraktivan za kompanije i bit će mnogo lakše postići početnu popularnost. Međutim, možda nećete dobiti mnogo povratnih informacija od ljudi koji samo šutke koriste vaš rad.
- LGPL (Mala opšta javna licenca) dozvoljava korištenje vašeg softvera u izvedenicama zatvorenog koda, ali zahtijeva od korisnika da otkrije sve promjene koje je napravio u vašem kodu. Može se očekivati više povratnih informacija.
- GPL (opća javna licenca) je agresivna licenca koja zahtijeva od korisnika da otkrije svoj kôd koji poziva vaš kôd. Nekoliko kompanija će se ovo svidjeti, ali ako žele vaš softver, kontaktirat će vas s ponudom plaćanja za davanje koda za njih pod uslovima koji im se sviđaju. Iako mnogi "hakeri besplatnog softvera" i GNU organizacije ne poštuju ovo "dvostruko licenciranje", zakonito je i prilično popularno.
- Obavezno provjerite pravopis bilo kojeg pisanog djela koje producirate. Uvijek koristite odgovarajuću gramatiku.
- Budite što profesionalniji i zreliji, čak i ako neko ne komunicira s vama.
Upozorenja
- Ako koristite neke Open Source komponente iz drugih projekata, budite sigurni da poštujete njihove licence. Nisu sve licence otvorenog koda međusobno kompatibilne.
- Obično nije dobra ideja pronaći i pokušati oživjeti postojeći napušteni projekt. Takvi projekti obično se napuštaju s dobrim razlogom.
- Nemojte previše prepoznavati ljude koji proizvode posao za vas. Ako počnete zahvaljivati svima, ili ćete na kraju propustiti nekoga tko će se osjećati zapostavljenim, ili nećete znati gdje stati. Samo se zahvalite članu zajednice koji učini nešto izvanredno; ovo podiže ljestvicu onoga što treba učiniti da biste primili svoju zahvalnost.