Naging isang programmer ng bukas na software

May -Akda: Morris Wright
Petsa Ng Paglikha: 24 Abril 2021
I -Update Ang Petsa: 1 Hulyo 2024
Anonim
Bago ka sumali sa NETWORKING, panoorin mo muna ito.
Video.: Bago ka sumali sa NETWORKING, panoorin mo muna ito.

Nilalaman

Ang pagsulat at paggamit ng bukas na software ay hindi lamang isang uri ng programa (tinatawag din na "pag-hack" sa mundo ng mga programmer), ito ay isang uri ng pilosopiya. Habang kailangan mo lamang malaman ang isang wika sa pagprograma upang makapag-code, ang artikulong ito ay tungkol sa kung paano sumali sa komunidad, makipagkaibigan, makipagtulungan sa magagaling na mga proyekto, at maging isang respetadong dalubhasa na may isang profile na hindi mo makukuha sa ibang lugar. Sa mundo ng bukas na software, madali mong maitalaga ang mga gawain na ang mga piling tao lamang, nangungunang antas ng programmer, ang pinapayagan na gawin sa isang kumpanya. Pag-isipan kung gaano karaming karanasan ang maaaring maidulot sa iyo. Gayunpaman, sa sandaling napagpasyahan mong maging isang bukas na programmer ng software, dapat kang handa na mamuhunan ng oras sa layuning ito. Nalalapat din ito kung ikaw ay isang estudyante ng IT. Bale, ang artikulong ito ay hindi tungkol sa kung paano maging isang hacker o cracker.

Upang humakbang

  1. Mag-download ng mahusay na pamamahagi ng Unix. Ang GNU / Linux ay isa sa pinakatanyag para sa pagprograma, ngunit ang GNU Hurd, BSD, Solaris at (sa isang lawak) ay karaniwang ginagamit din ang Mac OS X.
  2. Alamin kung paano gamitin ang linya ng utos. Maaari kang gumawa ng higit pa sa mga operating system na tulad ng Unix kung gagamitin mo ang linya ng utos.
  3. Alamin ang ilang mga tanyag na wika ng programa hanggang sa maabot mo ang higit pa o mas kasiya-siyang antas. Kung hindi man, hindi ka maaaring mag-ambag ng code (ang pinakamahalagang bahagi ng anumang proyekto sa software) sa bukas na komunidad ng software. Ang ilang mga mapagkukunan ay nagmumungkahi ng pagsisimula sa dalawang mga wika nang sabay-sabay: isang sistema ng wika (C, Java o katulad) at isang wika ng scripting (Python, Ruby, Perl o katulad).
  4. Upang mas maging produktibo, kailangan mo ng NetBeans o isang katulad na integrated development environment.
  5. Alamin na gumamit ng isang advanced na editor, tulad ng vi o Emacs. Mayroon silang isang mas mataas na curve sa pag-aaral, ngunit marami kang magagawa sa kanila.
  6. Alamin ang tungkol sa kontrol sa bersyon. Ang pagkontrol sa bersyon ay marahil ang pinakamahalagang tool ng pakikipagtulungan para sa ibinahaging pag-unlad ng software. Maunawaan kung paano lumikha at maglapat ng mga patch. Karamihan sa bukas na pag-unlad ng software sa pamayanan ay ginagawa sa pamamagitan ng paglikha, talakayan at aplikasyon ng iba't ibang mga patch.
  7. Humanap ng angkop, maliit na bukas na proyekto ng software na madali mong makikilahok upang makakuha ng karanasan. Karamihan sa mga nasabing proyekto ay matatagpuan sa SourceForge.net sa mga panahong ito. Ang isang angkop na proyekto ay dapat isama:
    1. Gumamit ng wikang pangprograma na alam mo.
    2. Maging aktibo, sa mga kamakailang paglabas.
    3. Na binubuo na ng tatlo hanggang limang mga developer.
    4. Upang magamit ang kontrol sa bersyon.
    5. Magkaroon ng isang bahagi na maaari kang makapagsimula kaagad, nang hindi kinakailangang baguhin nang sobra ang umiiral na code.
    6. Bilang karagdagan sa code, ang isang mahusay na proyekto ay mayroon ding mga aktibong listahan ng talakayan, mga ulat sa bug, nakakakuha at nagpapatupad ng mga kahilingan sa pagpapabuti, at mga katulad na aktibidad.
  8. Makipag-ugnay sa administrator ng napiling proyekto. Sa isang maliit na proyekto na may kaunting mga developer, karaniwang tatanggapin kaagad ang iyong tulong.
  9. Basahing mabuti ang mga patakaran ng proyekto at higit pa o masunod sundin ang mga ito. Ang mga patakaran ng istilo ng pagprograma o ang pangangailangan upang idokumento ang iyong mga pagbabago sa isang hiwalay na file ng teksto ay maaaring mukhang nakakatawa sa una. Gayunpaman, ang layunin ng mga patakarang ito ay upang paganahin ang nakabahaging trabaho - at karamihan sa mga proyekto ay gumagana sa kanila.
  10. Trabaho ang proyektong ito sa loob ng maraming buwan. Makinig ng mabuti sa sasabihin ng tagapangasiwa at iba pang mga kasapi ng proyekto. Bukod sa programa mayroon kang maraming mga bagay na matututunan. Ngunit kung talagang hindi mo nagugustuhan ang isang bagay, huminto lamang at lumipat sa ibang proyekto.
  11. Huwag masyadong makaalis sa proyekto sa ilalim ng lupa. Kapag nahanap mo ang iyong sarili na matagumpay na gumagana sa koponan na iyon, oras na upang simulang maghanap ng isang bagay na mas seryoso.
  12. Maghanap para sa isang seryoso, mataas na antas ng bukas na software o bukas na proyekto ng mapagkukunan. Karamihan sa mga nasabing proyekto ay pagmamay-ari ng mga samahan ng GNU o Apache.
  13. Sapagkat nagsasagawa kami ng isang seryosong paglukso dito, kailangan mong isaalang-alang ang isang mas kaunting mainit na pagtanggap. Malamang hilingin sa iyo na tumakbo nang walang direktang pagsulat ng pag-access sa repository ng code sa unang pagkakataon. Gayunpaman, ang dating proyekto sa ilalim ng lupa ay dapat magturo sa iyo ng maraming - kaya pagkatapos ng maraming buwan ng paggawa ng isang produktibong kontribusyon, maaari mong i-claim ang mga karapatang sa palagay mo dapat ay mayroon ka.
  14. Sumakay sa isang seryosong gawain at paganahin ito. Oras na. Huwag kang matakot. Magpatuloy kahit na nakita mo na ang gawain ay mas mahirap kaysa sa una mong naisip - sa hakbang na ito mahalaga na huwag sumuko.
  15. Kung maaari mo, mag-apply sa "Tag-init ng Code" ng Google upang maglagay ng pera sa pakikipagsapalaran na ito. Ngunit huwag mag-alala kung ang application ay hindi tatanggapin dahil mayroon silang mas kaunting pinondohan na mga posisyon kaysa sa talagang may mahusay na mga programmer.
  16. Humanap ng angkop na kumperensya na nangyayari sa malapit ("mga araw ng Linux" o katulad) at subukang ipakita ang iyong proyekto doon (ang buong proyekto, at hindi lamang ang bahagi ng iyong programa). Matapos mong banggitin na kumakatawan ka sa isang seryosong libre / bukas na mapagkukunang proyekto, madalas na mabigyan ka ng bayad ng mga tagapag-ayos mula sa bayad sa kumperensya (kung hindi, ang pagpupulong ay malamang na hindi angkop pa rin). Dalhin ang iyong laptop na Linux (kung mayroon ka) at magpatakbo ng ilang mga demo. Tanungin ang tagapamahala ng proyekto tungkol sa mga materyales na maaari mong magamit upang ihanda ang iyong pagtatanghal o poster.
  17. Maghanap sa Internet para sa mga anunsyo tungkol sa isang kalapit na kaganapan sa pag-install at subukang lumahok bilang isang gumagamit muna (tandaan ang lahat ng mga isyu na lumitaw at kung paano ito ayusin ng mga hacker) at mag-alok na mag-install ng mga programa sa susunod.
  18. Kumpletuhin ang gawain, suriin ang iyong trabaho gamit ang mga awtomatikong pagsubok at mag-ambag sa proyekto. Tapos ka na! Upang matiyak, subukang makilala ang ilan sa mga programmer sa proyekto nang personal at itaas ang isang basong serbesa sa resulta.
  19. Para sa isang mas mahusay na pag-unawa, tingnan ang isang tunay na halimbawa ng kasaysayan ng pag-unlad ng isang bukas na proyekto ng software (tingnan sa itaas). Ang bawat tumataas na curve ay kumakatawan sa isang kontribusyon (mga linya ng code) mula sa isang solong developer. Ang mga developer ay may posibilidad na maging hindi gaanong aktibo sa pagtanda, ngunit ang proyekto ay madalas na nagpapabilis kahit na sumali ang mga bagong tao. Kaya kung dumating ka na may ilang mga kapaki-pakinabang na kasanayan sa iyong bulsa, walang mga dahilan kung bakit hindi ka dapat anyayahan ng koponan.

Mga Tip

  • Bago magtanong tungkol sa mga praktikal na kinakailangan sa loob ng proyekto, hanapin ang sagot sa dokumentasyon ng proyekto at mga archive ng pag-mail.
  • Patuloy na subukang tapusin ang anumang gawain sa pag-program na sinimulan mo. Hindi maitayo, hindi makakatakbo, nag-crash ang system? Ayan maging mga dahilan para sa lahat, at kung mayroon kang source code, karaniwang nangangahulugang mayroon ka ng system well maaaring pilitin kang gawin ang nais mo, lalo na sa tulong ng ilang online na pagsasaliksik. Ang panuntunang ito ay may mga limitasyon, siyempre, ngunit talagang mahalaga na huwag masyadong susuko.
  • Tawagan ang iyong sarili na isang programmer (o hacker) pagkatapos lamang makilala ka tulad ng ilan sa totoong komunidad ng hacker.
  • Sa simula, pumili ng isang klase, module o iba pang yunit kung saan walang sinuman ang gumagana nang napakaaktibo sa ngayon. Ang pagtatrabaho nang magkasama sa parehong klase o kahit na isang posisyon ay nangangailangan ng higit na mga kasanayan at pangangalaga mula sa lahat ng panig.
  • Ang mga tagapag-empleyo ng ilang mga hacker / programmer ay tila sapat na naudyok upang payagan ang mga kontribusyon sa oras ng pagtatrabaho (kadalasan dahil ginagamit ng institusyon ang libre / bukas na mapagkukunan ng programmer na binuo ng programmer). Isipin, marahil maaari kang makakuha ng hindi bababa sa ilang oras na kinakailangan sa ganitong paraan.
  • Kung wala ka pa ring sapat na kumpiyansa sa iyong sarili, magsimula mula sa ilang bahagi ng code na sa palagay mo ay nawawala at maaaring maisulat mula sa simula. Ang mga pagbabago sa mayroon nang code ay mas malamang na mapuna.

Mga babala

  • Ang katayuan ng iyong hacker sa loob ng proyekto ng pamayanan ay higit na isang salamin ng iyong kasalukuyan kaysa sa nakaraan.Kung nais mo ng isang rekomendasyon o katulad mula sa pinuno ng proyekto, mangyaring tanungin kung aktibo ka pa ring nag-aambag.
  • Huwag sumali sa maliit na mga pag-optimize ng code, labis na mga puna, pagpapabuti ng istilo ng pag-coding, at iba pang katulad na "malakihang" mga bagay. Maaari itong matugunan ng higit na maraming pagpuna kaysa sa isang seryosong kontribusyon. Sa halip, maaari mong isama ang mga pagbabagong ito sa isang solong "paglilinis" na patch.
  • Kung plano mong matugunan nang personal ang mga bukas na hacker ng software, iwanan ang iyong Windows laptop sa bahay. Ang Mac OS ay medyo mas disimulado, ngunit hindi rin ito maligayang pagdating. Kung dalhin mo ang iyong laptop, dapat itong nagpapatakbo ng Linux o ilang iba pang operating system na isinasaalang-alang nila bilang "bukas na software."
  • Kung sinusuportahan ng iyong email client ang mga mensahe sa HTML, dapat mong hindi paganahin ang tampok na ito. Huwag kailanman maglakip ng mga dokumento na ang komersyal na software lamang (tulad ng Microsoft Word) ang maaaring mabuksan nang maayos. Itinuturing ito ng mga hacker na nakakasakit.
  • Huwag magboluntaryo sa mga proyekto ng isang kumpanya na ang code ay hindi sakop ng isang naaprubahang lisensyang bukas na mapagkukunan. Sa mga ganitong kaso, ang totoong mahahalagang bahagi ng proyekto ay malamang na manatili sa likod ng mga saradong pintuan mula sa may-ari, na pumipigil sa iyo na malaman ang anumang kapaki-pakinabang.
  • Iwasan ang anumang katanungan tungkol sa mga pangunahing kaalaman ng pagprogram o mga tool sa pag-program. Ang oras ng isang bukas na programmer ng software ay mahalaga. Sa halip, talakayin ang mga pangunahing kaalaman sa pag-program sa mga baguhan o nagsisimulang mga pangkat ng programmer.
  • Ang mga itinatag at matagumpay na proyekto ay maaaring may nakasulat o hindi nakasulat na mga patakaran tungkol sa hindi muling pagbabayad sa iyong trabaho (walang pera, walang kakayahang itaguyod ang iyong sarili, walang mataas na katayuan anuman ang iyong kontribusyon, atbp. - tingnan ang: Do_not_expect_reward Wikipedia). Kung hindi ka maaaring sumang-ayon dito, manatili sa mas maraming mga karaniwang proyekto na hindi kayang bayaran ang gayong saloobin.
  • Huwag simulan ang iyong sariling proyekto maliban kung laging nais mong gastusin sa ipinagmamalaking pag-iisa. Sa parehong kadahilanan, mas mabuti na huwag magsimula sa isang pagtatangka upang buhayin muli ang isang inabandunang proyekto na nawala na sa dating koponan.
  • Sa kaso ng isang impormal na pagpupulong tungkol sa proyekto na hindi ka nag-ambag ng anumang code, magkakaroon ka ng hindi kasiya-siyang pakiramdam na ganap na hindi ka pinansin. Huwag magalala, ang ilang mga hacker ay maaaring maging mabuting kaibigan sa paglaon pagkatapos mong makuha ang kanilang respeto sa iyong sariling code.
  • Malaking bukas na mga proyekto sa software, lalo na ang mga nasa paligid ng domain ng GNU, huwag ituring ang iyong trabaho bilang iyong personal na negosyo. Matapos mong makuha ang trabaho sa loob ng isang kumpanya na nauugnay sa software, hinihiling nila sa iyong tagapag-empleyo na mag-sign ng ilang mga kasunduan [1], na pipirmahan o hindi pipirmahan ng kumpanya. Maaari ka nitong pilitin na pumili ng isang proyekto na may hindi gaanong mahigpit na mga kinakailangan.

Mga kailangan

  • Linux. Maraming mga bukas na proyekto ng software ang mas kumplikado upang maitayo sa Windows, o hindi talaga nagtatayo ng tama. Totoo ito lalo na para sa mga advanced na proyekto na nakatuon sa pagprograma ng mga cell phone, USB key at iba pang mga aparato.
  • Isang computer na may isang mahusay na koneksyon sa internet. Kung nais mong panatilihin ang dual boot sa Windows kung gayon ang isang pangalawang hard drive o pagkahati para sa Linux ay maaaring maging isang mahusay na solusyon.
  • Pangunahing kaalaman ng hindi bababa sa isang programming language at isang matibay na hangarin na matuto nang higit pa. Ang pinakapopular na wika na kasalukuyang ay C at Java.
  • Isang makabuluhang dami ng oras, hindi bababa sa limang oras sa isang linggo (isang tipikal na hardcore programmer na nag-aambag ng napakalaki na 14 na oras).
  • Habang ang pormal na edukasyon sa IT ay gagawing mas madali ang iyong paraan, ito lang hindi isang ipinag-uutos na kinakailangan at walang tunay na komunidad ng hacker na magtanong sa iyo tungkol dito. Ang mga programmer / hacker ay hinuhusgahan ang bawat isa sa pamamagitan ng pagprograma ng isang tao, hindi pekeng pamantayan tulad ng mga marka, edad, lahi o posisyon. Bale, hindi bababa sa 60% ng mga open source hacker na tasahin ang iyong mga patch ay may "tamang" degree sa kolehiyo at hindi ka papayagan na magbigay ng kalokohan sa proyekto.
  • Sa panahon ng huling mga hakbang (pagpupulong at 'pag-install ng partido') maaari kang makinabang mula sa iyong sariling laptop. Ngunit hindi okay na paganahin ito sa bahay, kaya bumili ka lamang kung makakaya mo ang pangalawang makina.
  • Ang landas na inilarawan upang maging isang bukas na mapagkukunan ng "hacker" ay tumatagal ng hindi bababa sa dalawang taon upang makumpleto.