Postanite programer odprte programske opreme

Avtor: Morris Wright
Datum Ustvarjanja: 24 April 2021
Datum Posodobitve: 1 Julij. 2024
Anonim
Top 7 IT trends for 2022 [MJC]
Video.: Top 7 IT trends for 2022 [MJC]

Vsebina

Pisanje in uporaba odprte programske opreme ni le oblika programiranja (v svetu programerjev ji pravimo tudi "vdiranje"), je nekakšna filozofija. Čeprav morate samo poznati programski jezik, da lahko kodirate, ta članek govori o tem, kako se pridružiti skupnosti, sprijazniti se s prijatelji, sodelovati pri izvrstnih projektih in postati spoštovan strokovnjak s profilom, ki ga drugje ne morete dobiti. V svetu odprte programske opreme vam lahko povsem enostavno dodelite naloge, ki jih v podjetju smejo opravljati samo vrhunski programerji na najvišji ravni. Pomislite, koliko izkušenj vam to lahko prinese. Ko pa se odločite postati odprti programer, morate biti pripravljeni vložiti čas v ta cilj. To velja tudi, če ste že študent informatike. Upoštevajte, ta članek ne govori o tem, kako postati heker ali kreker.

Stopati

  1. Prenesite dobro distribucijo Unixa. GNU / Linux je eden najbolj priljubljenih za programiranje, pogosto pa se uporabljajo tudi GNU Hurd, BSD, Solaris in (do neke mere) Mac OS X.
  2. Naučite se uporabljati ukazno vrstico. Če uporabljate ukazno vrstico, lahko z Unix podobnimi operacijskimi sistemi naredite veliko več.
  3. Naučite se nekaterih priljubljenih programskih jezikov, dokler ne dosežete bolj ali manj zadovoljive ravni. V nasprotnem primeru k skupni odprti programski opremi ne morete prispevati kode (najpomembnejšega dela katerega koli programskega projekta). Nekateri viri predlagajo, da začnete z dvema jezikoma hkrati: enim sistemskim jezikom (C, Java ali podoben) in skriptnim jezikom (Python, Ruby, Perl ali podoben).
  4. Če želite biti bolj produktivni, potrebujete NetBeans ali podobno integrirano razvojno okolje.
  5. Naučite se uporabljati napreden urejevalnik, kot sta vi ali Emacs. Imajo višjo učno krivuljo, vendar lahko z njimi naredite veliko več.
  6. Preberite več o nadzoru različic. Nadzor različic je verjetno najpomembnejše orodje sodelovanja pri skupnem razvoju programske opreme. Razumevanje, kako ustvariti in uporabiti popravke. Večina odprtega razvoja programske opreme v skupnosti poteka z ustvarjanjem, razpravljanjem in uporabo različnih popravkov.
  7. Poiščite primeren majhen projekt odprte programske opreme, v katerem lahko preprosto pridobite izkušnje. Večino takšnih projektov je danes mogoče najti na SourceForge.net. Ustrezen projekt mora vključevati:
    1. Uporabite programski jezik, ki ga poznate.
    2. Bodite aktivni z najnovejšimi izdajami.
    3. Že sestavljen iz treh do petih razvijalcev.
    4. Za uporabo nadzora različic.
    5. Imejte del, ki ga lahko začnete takoj, ne da bi morali preveč spreminjati obstoječo kodo.
    6. Dober projekt ima poleg kode tudi aktivne sezname razprav, poročila o napakah, pridobivanje in izvajanje zahtev za izboljšave in podobne dejavnosti.
  8. Obrnite se na skrbnika izbranega projekta. V majhnem projektu z malo razvijalci bo vaša pomoč običajno sprejeta takoj.
  9. Pazljivo preberite pravila projekta in jih bolj ali manj upoštevajte. Pravila programskega sloga ali potreba po dokumentiranju sprememb v ločeni besedilni datoteki se sprva morda zdijo smešna. Namen teh pravil pa je omogočiti skupno delo - in večina projektov sodeluje z njimi.
  10. Na tem projektu delajte več mesecev. Pozorno poslušajte, kaj bodo povedali skrbnik in drugi člani projekta. Poleg programiranja se lahko naučite še veliko stvari. Če pa vam nekaj res ni všeč, se preprosto ustavite in preklopite na drug projekt.
  11. Ne zatikajte se v podzemni projekt predolgo. Ko se enkrat znaš uspešno zaposliti v tej ekipi, je čas, da začneš iskati kaj bolj resnega.
  12. Poiščite resno odprto programsko opremo ali odprtokodni projekt na visoki ravni. Večina takšnih projektov je v lasti organizacij GNU ali Apache.
  13. Ker tu resno poskočimo, morate upoštevati veliko manj topel sprejem. Najverjetneje boste prvič pozvani, da zaženete brez neposrednega dostopa do pisanja v odlagališče kod. Vendar bi vas prejšnji podzemni projekt moral naučiti marsičesa - tako da lahko po nekaj mesecih produktivnega prispevanja uveljavljate pravice, za katere menite, da bi jih morali imeti.
  14. Zavzemite se za resno nalogo in jo rešite. Čas je. Naj te ne bo strah. Nadaljujte, tudi če ugotovite, da je naloga veliko težja, kot ste sprva mislili - v tem koraku je pomembno, da ne odnehate.
  15. Če lahko, se prijavite pri Googlovem "Summer of Code" in vložite nekaj denarja v to pustolovščino. A brez skrbi, če prijave ne bomo sprejeli, saj imajo veliko manj financiranih mest, kot je res dobrih programerjev.
  16. Poiščite primerno konferenco, ki se dogaja v bližini ("Linuxovi dnevi" ali podobno), in poskusite tam predstaviti svoj projekt (celotnega projektain ne samo dela, ki ga programirate). Ko omenite, da zastopate resen brezplačni / odprtokodni projekt, vas organizatorji pogosto odštejejo od kotizacije (če ne, bo konferenca vseeno verjetno neprimerna). S seboj prinesite svoj prenosnik Linux (če ga imate) in zaženite nekaj predstavitev. Vprašajte vodjo projekta o materialih, ki jih lahko uporabite za pripravo predstavitve ali plakata.
  17. V internetu poiščite obvestila o bližnjem namestitvenem dogodku in poskusite najprej sodelovati kot uporabnik (upoštevajte vse težave, ki se pojavijo, in kako jih hekerji odpravijo) in ponudite namestitev programov naslednjič.
  18. Dokončajte nalogo, preverite svoje delo s samodejnimi testi in prispevajte k projektu. Končali ste! Prepričajte se, da poskusite osebno spoznati nekatere programerje na projektu in skupaj dvigniti kozarec piva o rezultatu.
  19. Za boljše razumevanje si oglejte resnični primer zgodovine razvoja odprtega programskega projekta (glej zgoraj). Vsaka naraščajoča krivulja predstavlja prispevek (vrstice kode) enega samega razvijalca. Razvijalci z leti postajajo manj aktivni, vendar se projekt pogosto pospeši, tudi ko se pridružijo novi ljudje. Če torej prispete z nekaj koristnimi veščinami v žepu, ni razlogov, da vas ekipa ne bi povabila.

Nasveti

  • Preden postavite vprašanje o praktičnih zahtevah v projektu, poiščite odgovor v projektni dokumentaciji in arhivu poštnih seznamov.
  • Vedno poskušajte dokončati katero koli programsko delo, ki ste ga začeli. Ne more biti zgrajen, ne more teči, sistem zruši? Tam biti razloge za vse in če imate izvorno kodo, to običajno pomeni, da imate sistem no vas lahko prisili, da počnete, kar želite, zlasti s pomočjo nekaterih spletnih raziskav. To pravilo ima seveda meje, vendar je resnično pomembno, da se nikoli ne predate preveč enostavno.
  • Pokličite se programer (ali heker) šele potem, ko vas neka resnična hekerska skupnost prepozna kot takega.
  • Na začetku izberite razred, modul ali drugo enoto, kjer trenutno nihče ne deluje zelo aktivno. Skupno delo v istem razredu ali celo na položaju zahteva več spretnosti in skrbi z vseh strani.
  • Delodajalci nekaterih hekerjev / programerjev se zdijo dovolj motivirani, da omogočajo prispevke med delovnim časom (običajno zato, ker institucija uporablja brezplačni / odprtokodni program, ki ga programer razvija). Pomislite, morda boste na ta način dobili vsaj nekaj časa, ki ga potrebujete.
  • Če še vedno nimate dovolj zaupanja vase, začnite pri nekem delu kode, za katerega menite, da manjka in ga lahko napišete iz nič. Spremembe obstoječe kode bodo verjetno bolj kritizirane.

Opozorila

  • Vaš status hekerja v projektu skupnosti je bolj odraz vaše sedanjosti kot preteklosti.Če želite priporočilo ali podobno od vodje projekta, vprašajte, ali še vedno aktivno prispevate.
  • Ne ukvarjajte se z majhnimi optimizacijami kode, dodatnimi komentarji, izboljšavami sloga kodiranja in drugimi podobnimi "majhnimi" stvarmi. To lahko naleti na veliko več kritik kot resen prispevek. Namesto tega lahko te spremembe vključite v en sam »čistilni« popravek.
  • Če se nameravate osebno srečati z odprtimi hekerji, pustite prenosnik Windows doma. Mac OS nekoliko bolj tolerirajo, vendar tudi v resnici ni dobrodošel. Če s seboj prinesete svoj prenosnik, mora v njem delovati Linux ali kak drug operacijski sistem, za katerega menijo, da je "odprt program".
  • Če vaš e-poštni odjemalec podpira sporočila HTML, morate to funkcijo onemogočiti. Nikoli ne prilagajte dokumentov, ki jih lahko pravilno odpre samo komercialna programska oprema (na primer Microsoft Word). Hekerji menijo, da je to žaljivo.
  • Ne prostovoljno sodelujte pri projektih podjetja, katerega koda ni zajeta v odobreni odprtokodni licenci. V takih primerih bodo resnično pomembni deli projekta verjetno ostali za lastnikom zaprtih vrat in vam bodo preprečili, da bi se naučili kaj koristnega.
  • Izogibajte se kakršnim koli vprašanjem o osnovah programiranja ali programskih orodij. Čas odprtega programerja je dragocen. Namesto tega razpravljajte o osnovah programiranja v amaterskih ali začetniških programerjih.
  • Uveljavljeni in zelo uspešni projekti so morda imeli napisane ali nenapisane pravilnike o tem, da vam nikoli ne bodo povrnili stroškov dela (brez denarja, zmožnosti za promocijo, brez povišanega statusa ne glede na vaš prispevek itd. - glej: Wikipedia Do_not_expect_reward) Če se s tem ne morete strinjati, se držite pogostejših projektov, ki si takšnega odnosa ne morejo privoščiti.
  • Ne začenjajte lastnega projekta, razen če vedno želite preživeti v ponosni samoti. Iz istega razloga je bolje, da se ne lotevamo poskusov oživitve že zapuščenega projekta, ki ga je prejšnja ekipa že izgubila.
  • V primeru neformalnega sestanka o projektu, za katerega niste nikoli prispevali nobene kode, boste imeli neprijeten občutek, da ste popolnoma prezrti. Ne skrbite, nekateri hekerji lahko pozneje postanejo dobri prijatelji, potem ko si z njihovo kodo prislužite njihovo spoštovanje.
  • Veliki odprti programi programske opreme, zlasti tisti okoli domene GNU, vašega dela ne obravnavajo kot vaše osebno podjetje. Ko se zaposlite v podjetju, povezanem s programsko opremo, od vašega delodajalca zahtevajo, da podpiše določene sporazume [1], ki jih podjetje ne bo podpisalo ali ne. To vas lahko prisili, da izberete projekt z manj strogimi zahtevami.

Nujnosti

  • Linux. Veliko odprtih programov je bolj zapleteno graditi v sistemu Windows ali pa sploh ne gradijo pravilno. To še posebej velja za napredne projekte, namenjene programiranju mobilnih telefonov, USB ključev in drugih naprav.
  • Računalnik z razmeroma dobro internetno povezavo. Če želite obdržati dvojni zagon z operacijskim sistemom Windows, je lahko dobra rešitev drugi trdi disk ali particija za Linux.
  • Osnovno znanje vsaj enega programskega jezika in močan namen, da se naučimo več. Zdi se, da sta trenutno najbolj priljubljena jezika C in Java.
  • Precej časa, vsaj pet ur na teden (tipični hardcore programer prispeva ogromnih 14 ur).
  • Čeprav vam bo formalno izobraževanje na področju IT precej olajšalo, je to to ne obvezna zahteva in nobena resnična hekerska skupnost vas o tem nikoli ne bo vprašala. Programerji / hekerji se med seboj ocenjujejo po programiranju nekoga, ne pa po ponarejenih merilih, kot so ocene, starost, rasa ali položaj. Upoštevajte, vsaj 60% odprtokodnih hekerjev, ki ocenijo vaše popravke, ima "pravilno" univerzitetno izobrazbo in vam ne bo dovolilo, da k projektu prispevate neumnosti.
  • V zadnjih korakih (konferenca in „namestitev stranke“) lahko izkoristite svoj prenosnik. Ampak doma ni v redu, zato ga kupite le, če si lahko privoščite drugi stroj.
  • Pot, ki je opisana, da postane "heker" odprtokodne programske opreme, traja vsaj dve leti.