Tapkite atviros programinės įrangos programuotoju

Autorius: Morris Wright
Kūrybos Data: 24 Balandis 2021
Atnaujinimo Data: 1 Liepos Mėn 2024
Anonim
How I became a self taught full-time Open Source developer
Video.: How I became a self taught full-time Open Source developer

Turinys

Atviros programinės įrangos rašymas ir naudojimas nėra tik programavimo forma (programuotojų pasaulyje dar vadinama „įsilaužimu“), tai yra tam tikra filosofija. Nors jums reikia žinoti tik programavimo kalbą, kad galėtumėte koduoti, šis straipsnis yra apie tai, kaip prisijungti prie bendruomenės, susirasti draugų, bendradarbiauti įgyvendinant puikius projektus ir tapti gerbiamu specialistu, turinčiu profilį, kurio negalite gauti kitur. Atviros programinės įrangos pasaulyje jums gana lengvai gali būti paskirtos užduotys, kurias įmonėje leidžiama atlikti tik elitui, aukščiausio lygio programuotojams. Pagalvokite, kiek patirties tai gali jums suteikti. Tačiau nusprendę tapti atviros programinės įrangos programuotoju, turite būti pasirengę investuoti laiko į šį tikslą. Tai taip pat taikoma, jei jau esate IT studentas. Atminkite, kad šis straipsnis nėra apie tai, kaip tapti įsilaužėliu ar įsilaužėliu.

Žengti

  1. Atsisiųskite gerą „Unix“ platinimą. GNU / Linux yra vienas populiariausių programuojant, tačiau taip pat dažnai naudojamos GNU Hurd, BSD, Solaris ir (tam tikra prasme) Mac OS X.
  2. Sužinokite, kaip naudoti komandinę eilutę. Galite naudoti daug daugiau su „Unix“ tipo operacinėmis sistemomis, jei naudojate komandinę eilutę.
  3. Išmokite keletą populiarių programavimo kalbų, kol pasieksite daugiau ar mažiau patenkinamą lygį. Priešingu atveju jūs negalite pridėti kodo (svarbiausios bet kurio programinės įrangos projekto dalies) į atvirą programinės įrangos bendruomenę. Kai kurie šaltiniai siūlo pradėti nuo dviejų kalbų vienu metu: viena sistemos kalba (C, Java ar panaši) ir scenarijų kalba (Python, Ruby, Perl ar pan.).
  4. Norėdami būti produktyvesni, jums reikia „NetBeans“ ar panašios integruotos kūrimo aplinkos.
  5. Išmokite naudoti pažangų redaktorių, pvz., „Vi“ ar „Emacs“. Jie turi aukštesnę mokymosi kreivę, bet su jais galite padaryti daug daugiau.
  6. Sužinokite apie versijų valdymą. Versijų valdymas yra bene svarbiausias bendradarbiavimo įrankis kuriant bendrą programinę įrangą. Suprasti, kaip sukurti ir pritaikyti pleistrus. Didžioji dalis atviros programinės įrangos kūrimo bendruomenėje vykdoma kuriant, diskutuojant ir pritaikant įvairius pleistrus.
  7. Raskite tinkamą, mažą atviros programinės įrangos projektą, kuriame galėtumėte lengvai dalyvauti, kad įgytumėte patirties. Daugumą tokių projektų šiais laikais galite rasti „SourceForge.net“. Tinkamas projektas turėtų apimti:
    1. Naudokite jums žinomą programavimo kalbą.
    2. Būkite aktyvūs su naujausiais leidimais.
    3. Jau susideda iš trijų iki penkių kūrėjų.
    4. Norėdami naudoti versijų valdymą.
    5. Turėkite dalį, kurią galėsite pradėti iškart, per daug nekeisdami esamo kodo.
    6. Be kodo, geras projektas taip pat turi aktyvius diskusijų sąrašus, pranešimus apie klaidas, gauna ir įgyvendina tobulinimo užklausas bei panašią veiklą.
  8. Susisiekite su pasirinkto projekto administratoriumi. Mažame projekte, kuriame yra keli kūrėjai, jūsų pagalba paprastai bus priimta nedelsiant.
  9. Atidžiai perskaitykite projekto taisykles ir daugiau ar mažiau jų laikykitės. Iš pradžių gali atrodyti juokingos programavimo stiliaus taisyklės arba būtinybė dokumentuoti pakeitimus atskirame tekstiniame faile. Tačiau šių taisyklių tikslas yra sudaryti sąlygas bendriems darbams - ir dauguma projektų dirba su jais.
  10. Dirbkite su šiuo projektu keletą mėnesių. Atidžiai klausykite, ką sako administratorius ir kiti projekto nariai. Be programavimo, jūs turite išmokti daug dalykų. Bet jei kažkas jums tikrai nepatinka, tiesiog sustokite ir pereikite prie kito projekto.
  11. Negalima per ilgai užstrigti požeminiame projekte. Kai pastebėsite, kad galite sėkmingai dirbti toje komandoje, laikas pradėti ieškoti kažko rimtesnio.
  12. Ieškokite rimto, aukšto lygio atviros programinės įrangos ar atvirojo kodo projekto. Dauguma tokių projektų priklauso GNU ar „Apache“ organizacijoms.
  13. Kadangi mes čia darome rimtą šuolį, turite atsižvelgti į daug mažiau šiltą priėmimą. Greičiausiai jūsų bus paprašyta paleisti pirmą kartą neturint tiesioginės prieigos prie kodo saugyklos. Tačiau ankstesnis pogrindinis projektas turėjo jus daug ko išmokyti - todėl po kelių mėnesių produktyvaus indėlio galite reikalauti teisių, kurių, jūsų manymu, turėtumėte.
  14. Imkitės rimtos užduoties ir ją išspręskite. Jau laikas. Nebijok. Tęskite, net jei pastebite, kad užduotis yra daug sunkesnė, nei iš pradžių manėte - šiame žingsnyje svarbu nepasiduoti.
  15. Jei galite, kreipkitės į „Google“ „Summer of Code“, kad įdėtumėte šiek tiek pinigų šiam nuotykiui. Tačiau nesijaudinkite, jei paraiška nebus priimta, nes jie turi daug mažiau finansuojamų vietų, nei yra tikrai gerų programuotojų.
  16. Suraskite netoliese vykstančią tinkamą konferenciją („Linux dienos“ ar panašiai) ir pabandykite ten pristatyti savo projektą (viso projektoir ne tik jūsų programuojamą dalį). Paminėjus, kad atstovaujate rimtam nemokamo / atviro kodo projektui, organizatoriai dažnai atlygins jums konferencijos mokestį (jei ne, konferencija vis tiek greičiausiai bus netinkama). Pasiimkite „Linux“ nešiojamąjį kompiuterį (jei turite) ir paleiskite keletą demonstracinių versijų. Paklauskite projekto vadovo apie medžiagą, kurią galite naudoti rengdami pristatymą ar plakatą.
  17. Ieškokite internete pranešimų apie netoliese vykstantį diegimo įvykį ir pirmiausia pabandykite dalyvauti kaip vartotojas (atkreipkite dėmesį į visas iškylančias problemas ir kaip įsilaužėliai jas išsprendžia) ir pasiūlykite kitą kartą įdiegti programas.
  18. Atlikite užduotį, patikrinkite savo darbą atlikdami automatinius testus ir prisidėkite prie projekto. Su tavimi baigta! Norėdami būti tikri, pabandykite asmeniškai susitikti su kai kuriais projekto programuotojais ir kartu ant rezultato pakelkite bokalą alaus.
  19. Norėdami geriau suprasti, pažvelkite į tikrą atviros programinės įrangos projekto kūrimo istorijos pavyzdį (žr. Aukščiau). Kiekviena kylanti kreivė reiškia vieno kūrėjo indėlį (kodo eilutes). Kūrėjai su amžiumi dažniausiai tampa mažiau aktyvūs, tačiau projektas dažnai paspartėja, net prisijungus naujiems žmonėms. Taigi, jei atvyksite naudodamiesi naudingais įgūdžiais kišenėje, nėra priežasčių, kodėl komanda neturėtų jūsų pakviesti.

Patarimai

  • Prieš užduodami klausimą apie praktinius projekto reikalavimus, atsakymo ieškokite projekto dokumentacijoje ir adresų sąrašų archyvuose.
  • Visada bandykite užbaigti visus pradėtus programavimo darbus. Negalima pastatyti, negalima paleisti, sistema sugenda? Ten būti visko priežastys, o jei turite šaltinio kodą, tai paprastai reiškia, kad turite sistemą gerai gali priversti jus daryti viską, ko norite, ypač pasitelkiant kai kuriuos internetinius tyrimus. Ši taisyklė, žinoma, turi ribas, tačiau iš tiesų svarbu niekada nepasiduoti per lengvai.
  • Vadink save programuotoju (arba įsilaužėliu) tik tada, kai tave pripažins kai kurie tikri įsilaužėlių bendruomenės nariai.
  • Pradžioje pasirinkite klasę, modulį ar kitą padalinį, kuriame šiuo metu niekas nedirba labai aktyviai. Dirbant kartu toje pačioje klasėje ar net užimant pareigas reikia daugiau įgūdžių ir rūpestingumo iš visų pusių.
  • Kai kurių įsilaužėlių / programuotojų darbdaviai atrodo pakankamai motyvuoti leisti įmokas darbo valandomis (dažniausiai todėl, kad įstaiga naudoja programuotojo kuriamą nemokamo / atvirojo kodo programą). Pagalvokite, galbūt tokiu būdu galite gauti bent dalį reikalingo laiko.
  • Jei vis tiek nepasitikite savimi, pradėkite nuo kažkokios kodo dalies, kurios, jūsų manymu, trūksta ir kurią galite parašyti nuo nulio. Daug labiau kritikuojami esamo kodo pakeitimai.

Įspėjimai

  • Jūsų įsilaužėlio statusas bendruomenės projekte labiau atspindi jūsų dabartį, o ne praeitį.Jei norite gauti projekto vadovo rekomendacijos ar pan., Paklauskite, ar vis dar aktyviai prisidedate.
  • Nesileiskite į mažų kodų optimizavimą, papildomus komentarus, kodavimo stiliaus patobulinimus ir kitus panašius „mažo masto“ dalykus. Tai gali sulaukti kur kas daugiau kritikos nei rimto indėlio. Vietoj to, galite įtraukti šiuos pakeitimus į vieną „valymo“ pleistrą.
  • Jei ketinate asmeniškai susitikti su atvirais programinės įrangos įsilaužėliais, palikite „Windows“ nešiojamąjį kompiuterį namuose. „Mac OS“ yra šiek tiek labiau toleruojama, tačiau ji taip pat nėra sveikintina. Jei atsinešate nešiojamąjį kompiuterį, jame turi veikti „Linux“ ar kita operacinė sistema, kurią jie laiko „atvira programine įranga“.
  • Jei jūsų el. Pašto klientas palaiko HTML pranešimus, turėtumėte išjungti šią funkciją. Niekada nepridėkite dokumentų, kuriuos tinkamai atidaryti gali tik komercinė programinė įranga (pvz., „Microsoft Word“). Piratai tai laiko įžeidžiančia.
  • Negalima dalyvauti savanoriaujant įmonės, kurios kodas nėra patvirtintas atvirojo kodo licencija, projektuose. Tokiais atvejais tikrai svarbios projekto dalys greičiausiai liks už uždarų savininko durų, neleisdamos sužinoti nieko naudingo.
  • Venkite klausimų apie programavimo pagrindus ar programavimo įrankius. Brangus yra atviros programinės įrangos programuotojo laikas. Verčiau aptarkite programavimo pagrindus mėgėjų ar pradedančiųjų programuotojų grupėse.
  • Įkurtuose ir labai sėkminguose projektuose gali būti parašyta ar nerašyta politika dėl to, kad niekada nekompensuosite savo darbo (neturite pinigų, neturite galimybės paaukštinti save, nėra aukštesnio statuso, neatsižvelgiant į jūsų indėlį ir pan. - žr. „Do_not_expect_reward Wikipedia“). Jei negalite su tuo sutikti, laikykitės dažnesnių projektų, kurie negali sau leisti tokio požiūrio.
  • Nepradėkite savo projekto, nebent visada norite praleisti didžiuodamiesi vienumoje. Dėl tos pačios priežasties geriau nesileisti į bandymą atgaivinti jau apleistą projektą, kurį ankstesnė jos komanda jau pralaimėjo.
  • Neoficialaus susitikimo apie projektą atveju, prie kurio niekada neprisidėjote jokio kodo, jums kils nemalonus jausmas, kai būsite visiškai ignoruojamas. Nesijaudinkite, kai kurie įsilaužėliai gali tapti gerais draugais vėliau, kai užsitarnausite jų pagarbą naudodamiesi savo kodu.
  • Dideli atviros programinės įrangos projektai, ypač aplink GNU domeną, jūsų darbo nelaiko asmeniniu verslu. Kai įsidarbinsite su programine įranga susijusioje įmonėje, jie paprašys jūsų darbdavio pasirašyti tam tikrus susitarimus [1], kuriuos įmonė pasirašys arba nepasirašys. Tai gali priversti pasirinkti projektą, kuriam keliami ne tokie griežti reikalavimai.

Būtinybės

  • „Linux“. Daugelį atviros programinės įrangos projektų sudėtingiau kurti sistemoje „Windows“ arba jie nėra sukurti tinkamai. Tai ypač pasakytina apie pažangius projektus, skirtus mobiliųjų telefonų, USB raktų ir kitų įrenginių programavimui.
  • Kompiuteris su palyginti geru interneto ryšiu. Jei norite išlaikyti dvigubą įkrovą naudodami „Windows“, antras standusis diskas arba „Linux“ skaidinys gali būti geras sprendimas.
  • Pagrindinės bent vienos programavimo kalbos žinios ir tvirtas ketinimas sužinoti daugiau. Šiuo metu populiariausios kalbos yra C ir Java.
  • Nemažai laiko, mažiausiai penkias valandas per savaitę (tipiškas „hardcore“ programuotojas prisideda milžiniškas 14 valandų).
  • Nors formalus IT mokymas leis jums daug lengviau, tai yra viskas ne privalomas reikalavimas ir jokia tikra įsilaužėlių bendruomenė niekada apie tai jūsų nepaklaus. Programuotojai / įsilaužėliai vertina vienas kitą pagal kažkieno programavimą, o ne padirbtus kriterijus, tokius kaip pažymiai, amžius, rasė ar padėtis. Atminkite, kad mažiausiai 60% atvirojo kodo įsilaužėlių, kurie vertina jūsų pleistrus, turi „teisingą“ kolegijos išsilavinimą ir neleis jums prisidėti prie projekto nesąmonių.
  • Paskutinių žingsnių (konferencijos ir „įdiegimo vakarėlio“) metu galite pasinaudoti savo nešiojamuoju kompiuteriu. Bet tai nėra gerai dirbti namuose, todėl nusipirkite tik tada, jei galite sau leisti antrą mašiną.
  • Aprašytas kelias, norint tapti atvirojo kodo programinės įrangos „įsilaužėliu“, užtrunka mažiausiai dvejus metus.