Hakka avatud tarkvara programmeerijaks

Autor: Morris Wright
Loomise Kuupäev: 24 Aprill 2021
Värskenduse Kuupäev: 1 Juuli 2024
Anonim
Programmeerimise ja tarkvaraarenduse valikkursused - Mikk Oad, Eno Tõnisson
Videot: Programmeerimise ja tarkvaraarenduse valikkursused - Mikk Oad, Eno Tõnisson

Sisu

Avatud tarkvara kirjutamine ja kasutamine ei ole pelgalt programmeerimise vorm (seda nimetatakse programmeerijate maailmas ka "häkkimiseks"), see on omamoodi filosoofia. Kuigi kodeerimiseks peate teadma ainult programmeerimiskeelt, on see artikkel sellest, kuidas kogukonnaga liituda, sõpru leida, suurepärastes projektides koostööd teha ja saada lugupeetud spetsialistiks profiiliga, mida mujalt ei saa. Avatud tarkvara maailmas võib teile üsna hõlpsalt määrata ülesandeid, mida ettevõttes lubatakse teha ainult eliidil, tipptasemel programmeerijatel. Mõelge, kui palju kogemusi see teile tuua võib. Kui olete aga otsustanud hakata avatud tarkvaraprogrammeerijaks, peate olema valmis sellesse eesmärki aega investeerima. See kehtib ka siis, kui olete juba IT-tudeng. Pange tähele, see artikkel ei räägi sellest, kuidas saada häkkeriks või kräkkeriks.

Astuda

  1. Laadige alla hea Unixi levitamine. GNU / Linux on programmeerimise jaoks üks populaarsemaid, kuid sageli kasutatakse ka GNU Hurd, BSD, Solaris ja (teatud määral) Mac OS X-i.
  2. Siit saate teada, kuidas käsurida kasutada. Kui kasutate käsurida, saate Unixi-laadsete operatsioonisüsteemidega palju rohkem teha.
  3. Õppige mõnda populaarset programmeerimiskeelt, kuni jõuate enam-vähem rahuldavale tasemele. Vastasel juhul ei saa te koodi (mis tahes tarkvaraprojekti kõige olulisem osa) avatud tarkvarakogukonda lisada. Mõned allikad soovitavad alustada kahe keelega korraga: ühe süsteemikeelega (C, Java või muu sarnane) ja skriptikeelega (Python, Ruby, Perl või sarnased).
  4. Tootlikumaks muutmiseks vajate NetBeane või sarnast integreeritud arenduskeskkonda.
  5. Õppige kasutama täiustatud redaktorit, näiteks vi või Emacs. Neil on kõrgem õppimiskõver, kuid nendega saate teha palju rohkem.
  6. Lisateave versioonihalduse kohta. Versioonihaldus on ilmselt tarkvara jagatud arendamise kõige olulisem tööriist. Mõistke plaastrite loomist ja rakendamist. Suurem osa kogukonna avatud tarkvaraarendusest toimub erinevate plaastrite loomise, arutamise ja rakendamise kaudu.
  7. Leidke sobiv väike avatud tarkvaraprojekt, milles saate hõlpsalt osaleda kogemuste saamiseks. Enamik selliseid projekte on tänapäeval saadaval SourceForge.net-is. Sobiv projekt peaks hõlmama järgmist:
    1. Kasutage tuttavat programmeerimiskeelt.
    2. Ole aktiivne hiljutiste väljaannetega.
    3. Koosneb juba kolmest kuni viiest arendajast.
    4. Versioonihalduse kasutamiseks.
    5. Tehke osa, millega saate kohe alustada, ilma et peaksite olemasolevat koodi liiga palju muutma.
    6. Lisaks koodile on heas projektis ka aktiivsed arutelude loendid, veateated, parendusetaotluste hankimine ja juurutamine ning muud sarnased tegevused.
  8. Võtke ühendust valitud projekti administraatoriga. Väikese vähearendajaga projektis võetakse teie abi tavaliselt kohe vastu.
  9. Lugege hoolikalt projekti reegleid ja järgige neid enam-vähem. Programmeerimisstiili reeglid või vajadus dokumenteerida muudatused eraldi tekstifailis võivad esialgu tunduda naeruväärsed. Nende reeglite eesmärk on siiski võimaldada ühist tööd - ja enamik projekte töötab nendega.
  10. Töötage selle projektiga mitu kuud. Kuulake tähelepanelikult, mida administraator ja teised projekti liikmed ütlevad. Lisaks programmeerimisele on teil palju asju õppida. Aga kui sulle midagi väga ei meeldi, siis lihtsalt peatu ja mine üle teisele projektile.
  11. Ärge jääge maa-alusesse projekti liiga kauaks kinni. Kui leiate, et saate selles meeskonnas edukalt töötada, on aeg hakata otsima midagi tõsisemat.
  12. Otsige tõsist kõrgetasemelist avatud tarkvara või avatud lähtekoodiga projekti. Enamik selliseid projekte kuuluvad GNU või Apache organisatsioonidele.
  13. Kuna teeme siin tõsise hüppe, peate arvestama palju vähem sooja vastuvõtuga. Tõenäoliselt palutakse teil esimest korda käivitada ilma otsese kirjutusjuurdepääsuta koodihoidlasse. Eelmine põrandaalune projekt oleks pidanud teile aga palju õpetama - nii et pärast mitu kuud produktiivset panustamist võite nõuda õigusi, mis teie arvates peaksid olema.
  14. Võtke tõsine ülesanne ja lahendage see. On aeg. Ära karda. Jätkake ka siis, kui leiate, et ülesanne on palju raskem, kui algselt arvasite - selles etapis on oluline mitte alla anda.
  15. Kui saate, pöörduge Google'i "Code of Code'i" poole, et sellele seiklusele veidi raha panna. Kuid ärge muretsege, kui taotlust ei aktsepteerita, kuna neil on palju vähem rahastatud kohti kui on tõesti häid programmeerijaid.
  16. Leidke läheduses sobiv konverents ("Linuxi päevad" või muu sarnane) ja proovige seal oma projekti tutvustada (kogu projektija mitte ainult teie programmeeritav osa). Kui olete maininud, et esindate tõsist tasuta / avatud lähtekoodiga projekti, hüvitavad korraldajad teile sageli konverentsitasu (kui ei, siis on konverents tõenäoliselt nagunii ebasobiv). Võtke kaasa oma Linuxi sülearvuti (kui teil on) ja käivitage mõned demod. Küsige projektijuhilt materjalide kohta, mida saate oma esitluse või plakati ettevalmistamiseks kasutada.
  17. Otsige Internetist teadaandeid lähedal asuva installimissündmuse kohta ja proovige kõigepealt kasutajana osaleda (märkige kõik tekkivad probleemid ja kuidas häkkerid neid lahendavad) ning pakkuge järgmine kord programmide installimiseks.
  18. Täitke ülesanne, kontrollige oma tööd automaatsete testidega ja aidake projekti kaasa. Sa oled valmis! Et selles kindel olla, proovige kohtuda mõne projektis osaleva programmeerijaga isiklikult ja tõstke tulemuse peale koos klaas õlut.
  19. Parema mõistmise huvides vaadake avatud tarkvaraprojekti arenguloo reaalset näidet (vt eespool). Iga tõusukõver tähistab ühe arendaja panust (koodiread). Arendajad muutuvad vanusega vähem aktiivseks, kuid projekt kiireneb sageli ka uute inimeste liitumisel. Nii et kui saabute mõne kasuliku oskusega taskus, pole ühtegi põhjust, miks meeskond ei peaks teid kutsuma.

Näpunäited

  • Enne projekti praktiliste nõuete kohta küsimuse esitamist otsige vastust projekti dokumentatsioonist ja meililistide arhiividest.
  • Püüdke alati alustatud programmeerimistööd lõpule viia. Ei saa ehitada, ei saa töötada, süsteem jookseb kokku? Seal olla kõige põhjused ja kui teil on lähtekood, tähendab see tavaliselt seda, et teil on süsteem olemas hästi võib teid sundida tegema kõike, mida soovite, eriti mõne veebiuuringu abil. Sellel reeglil on muidugi piirid, kuid tõepoolest on oluline mitte kunagi liiga kergelt alla anda.
  • Nimetage ennast programmeerijaks (või häkkeriks) alles siis, kui mõni tegelik häkkerite kogukond on teid sellisena ära tundnud.
  • Alguses vali klass, moodul või mõni muu üksus, kus keegi praegu eriti aktiivselt ei tööta. Koos töötamine samas klassis või isegi ametikohal nõuab igalt poolt rohkem oskusi ja hoolt.
  • Mõnede häkkerite / programmeerijate tööandjad näivad olevat piisavalt motiveeritud lubama sissemakseid tööajal (tavaliselt seetõttu, et asutus kasutab programmeerija arendatavat vaba / avatud lähtekoodiga programmi). Mõelge, ehk saate vähemalt osa vajalikust ajast sel viisil.
  • Kui teil pole endiselt piisavalt enesekindlust enda vastu, alustage mõnest koodi osast, mis teie arvates puudu on ja mida saab kirjutada nullist. Olemasoleva koodi muudatusi kritiseeritakse palju tõenäolisemalt.

Hoiatused

  • Teie häkkeristaatus kogukonnaprojektis peegeldab pigem teie olevikku kui minevikku.Kui soovite projektijuhilt soovitust või muud sarnast, küsige, kas te ikka veel aktiivselt kaasa aitate.
  • Ärge sattuge väikeste koodide optimeerimiste, lisakommentaaride, kodeerimisstiili täiustamise ja muude sarnaste "väikesemahuliste" asjade hulka. See võib tuua palju rohkem kriitikat kui tõsine panus. Selle asemel võite need muudatused lisada ühte "puhastamise" plaastrisse.
  • Kui kavatsete avatud tarkvarahäkkeritega isiklikult kohtuda, jätke oma Windowsi sülearvuti koju. Mac OS on veidi talutavam, kuid see pole ka tegelikult teretulnud. Kui võtate kaasa sülearvuti, peab see töötama Linuxis või mõnes muus opsüsteemis, mida nad peavad "avatud tarkvaraks".
  • Kui teie e-posti klient toetab HTML-sõnumeid, peaksite selle funktsiooni keelama. Ärge kunagi lisage dokumente, mida ainult kommertstarkvara (näiteks Microsoft Word) saab korralikult avada. Häkkerid peavad seda solvavaks.
  • Ärge tehke vabatahtlikku tööd ettevõtte projektides, mille kood pole kinnitatud avatud lähtekoodiga litsentsi alla kuuluv. Sellistel juhtudel jäävad projekti tõeliselt olulised osad tõenäoliselt omaniku suletud uste taha, takistades teil midagi kasulikku õppida.
  • Vältige programmeerimise või programmeerimisvahendite põhialuste kohta küsimusi. Kallis on avatud tarkvaraprogrammeerija aeg. Selle asemel arutage amatööride või alustavate programmeerijate rühmades programmeerimise põhitõdesid.
  • Väljakujunenud ja ülimenukatel projektidel võivad olla kirjutatud või kirjutamata põhimõtted selle eest, et te ei hüvitaks kunagi oma tööd (raha pole, pole võimalust ennast reklaamida, kõrgemat staatust olenemata teie panusest jne - vt: Do_not_expect_reward Wikipedia). Kui te ei saa sellega nõustuda, pidage kinni tavalisematest projektidest, mis sellist suhtumist endale lubada ei saa.
  • Ärge alustage oma projekti, kui te ei soovi alati veeta uhkes üksinduses. Samal põhjusel on parem mitte hakata taaselustama juba mahajäetud projekti, mille tema eelmine meeskond on juba kaotanud.
  • Projekti mitteametliku kohtumise korral, kuhu te pole kunagi ühtegi koodi lisanud, on teil ebameeldiv tunne, et teid ignoreeritakse täielikult. Ärge muretsege, mõned häkkerid võivad saada headeks sõpradeks hiljem, kui olete oma koodiga nende austuse pälvinud.
  • Suured avatud tarkvaraprojektid, eriti need, mis asuvad GNU domeenis, ei käsitle teie tööd isikliku ettevõttena. Kui olete tööle asunud tarkvaraga seotud ettevõttes, paluvad nad teie tööandjal allkirjastada teatud lepingud [1], millele ettevõte alla kirjutab või ei kirjuta alla. See võib sundida teid valima vähem rangete nõuetega projekti.

Vajadused

  • Linux. Paljude avatud tarkvaraprojektide ülesehitamine Windowsis on keerulisem või pole neid üldse õigesti üles ehitatud. See kehtib eriti arenenud projektide kohta, mis on pühendatud mobiiltelefonide, USB-võtmete ja muude seadmete programmeerimisele.
  • Suhteliselt hea Interneti-ühendusega arvuti. Kui soovite Windowsiga kahesuunalist alglaadimist säilitada, võiks hea lahendus olla teine ​​Linuxi kõvaketas või partitsioon.
  • Põhiteadmised vähemalt ühest programmeerimiskeelest ja kindel kavatsus rohkem teada saada. Kõige populaarsemad keeled näivad praegu olevat C ja Java.
  • Märkimisväärne aeg, vähemalt viis tundi nädalas (tüüpiline hardcore programmeerija panustab ilmatu 14 tundi).
  • Kuigi ametlik IT-haridus muudab teie tee palju lihtsamaks, on see see mitte kohustuslik nõue ja ükski tõeline häkkerite kogukond ei küsi teilt selle kohta kunagi. Programmeerijad / häkkerid hindavad üksteist kellegi programmeerimise järgi, mitte võltskriteeriumide, näiteks hinde, vanuse, rassi või positsiooni järgi. Pange tähele, et vähemalt 60% avatud lähtekoodiga häkkeritest, kes hindavad teie plaastreid, omavad "õiget" kolledži kraadi ja ei luba teil projekti lollusi anda.
  • Viimaste sammude (konverents ja installimispidu) käigus saate kasutada oma sülearvutit. Kuid kodus töötamine pole okei, nii et ostke üks ainult siis, kui saate endale lubada teist masinat.
  • Kirjeldatud tee, et saada avatud lähtekoodiga tarkvara "häkkeriks", võtab selle läbimiseks vähemalt kaks aastat.