Deveniți un hacker de software liber

Scrierea și utilizarea software-ului liber nu este doar o modalitate de programare, este un fel de filozofie. În timp ce aveți nevoie doar de un limbaj de programare pentru a programa, acest articol vizează aderarea la comunitate, crearea de contacte, lucrul deosebit cu ceilalți și devenirea unui specialist respectat, cu un profil pe care nu îl veți găsi în altă parte. În lumea software-ului liber, puteți obține cu ușurință sarcini pe care numai un programator de top-level le poate face într-o companie.

Gândește-te cât de multă experiență te poate aduce. Cu toate acestea, odată ce v-ați decis să deveniți un hacker de software liber, trebuie să fiți dispus să vă petreceți puțin timp acolo. Acest lucru rămâne adevărat, chiar dacă sunteți deja un student informatic. De asemenea, acest articol nu se referă la modul de a deveni un cracker.

metodă

Imagine intitulată Deveniți un program hacker pentru software liber Pasul 1
1
Obțineți o bună distribuție Unix. GNU / Linux este unul dintre cele mai populare pentru hacking, dar GNU Hurd, BSD, Solaris și (într-o oarecare măsură) Mac OS X sunt adesea folosite.
  • Imagine intitulată Deveniți un pasager hacker de software liber 2
    2
    Aflați cum să utilizați linia de comandă. Puteți realiza mult mai mult cu sistemele de operare asemănătoare Unix dacă utilizați linia de comandă.
  • Imagine intitulată Deveniți un program hacker de software liber Pasul 3
    3
    Aflați un limbaj de programare popular până când ajungeți la un nivel mai mult sau mai puțin satisfăcător. Fără aceasta, nu puteți contribui cu niciun cod (cea mai importantă parte a unui proiect software) comunității de software liber. Unele surse sugerează să începeți cu două limbi simultan: un limbaj de sistem (C, Java sau similar) și o limbă de scripting (Python, Ruby, Perl sau similar).
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 4
    4
    Familiarizați-vă cu NetBeans sau un alt instrument similar de dezvoltare integrat pentru a deveni mai productiv.
  • Imagine intitulată Deveniți un program hacker pentru software-ul gratuit
    5
    Familiarizați-vă cu un editor avansat, cum ar fi vi sau emacs. Ei au o curbă mai înaltă de învățare, dar puteți face mult mai mult cu ei.
  • Imagine intitulată Deveniți un pasager hacker pentru software-ul gratuit
    6
    Aflați controlul versiunii. Acesta este probabil cel mai important instrument de cooperare pentru dezvoltarea software-ului comun. Înțelegeți cum să faceți și să aplicați patch-uri. Cea mai mare parte a dezvoltării software-ului liber în comunitate se realizează prin crearea, dezbaterea și aplicarea de diverse patch-uri.
  • Imagine intitulată Deveniți un pasager hacker pentru software-ul gratuit
    7
    Găsiți un proiect de software liber adecvat, pe care îl puteți alătura cu ușurință pentru a câștiga experiență. Cele mai multe dintre aceste proiecte pot fi găsite pe SourceForge.net. Proiectul potrivit trebuie:
  • Utilizați limba de programare pe care o cunoașteți
  • Fii activ și scoate în evidență noi versiuni
  • Aveți deja trei până la cinci dezvoltatori
  • Utilizați controlul versiunii
  • Faceți parte din ceea ce credeți că puteți face imediat cu implementarea, fără a schimba prea mult codul existent
  • În plus față de cod, un proiect bun are, de asemenea, liste de discuții active, rapoarte de erori, primește și implementează cereri de îmbunătățire și afișează alte activități similare.
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 8
    8
    Contactați administratorul proiectului selectat. Într-un mic proiect cu puțini dezvoltatori, ajutorul dvs. este de obicei acceptat imediat.
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 9
    9
    Citiți cu atenție regulile proiectului și le lipiți mai mult sau mai puțin. Regulile stilului de programare sau necesitatea documentării modificărilor într-un fișier text separat vă pot părea la început ridicol. Scopul acestor reguli este totuși să le permită să colaboreze la proiect - și majoritatea proiectelor le au.
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 10
    10
    Lucrați pe acest proiect de câteva luni. Ascultați cu atenție ceea ce spun administratorul și alți membri ai proiectului. În plus față de programare, aveți multe lucruri de învățat. Dar dacă într-adevăr nu-ți place ceva, du-te la un alt proiect.
  • Imagine intitulată Deveniți un pasager hacker de software liber 11


    11
    Nu rămâne prea mult timp cu proiectul de intrare. De îndată ce lucrați cu succes în această echipă, este timpul să căutați unul serios.
  • Imagine intitulată Deveniți un pas hacker pentru software-ul gratuit 12
    12
    Găsiți un software grave, de înaltă calitate, gratuit sau un proiect open source. Cele mai multe dintre aceste proiecte aparțin organizațiilor GNU sau Apache.
  • Imagine intitulată Deveniți un pasager hacker de software liber 13
    13
    Așa cum facem un pas serios acum, fii pregătit pentru o acceptare mult mai rece. Probabil vi se va cere să lucrați pentru o perioadă de timp fără acces direct la scrierea codului. Proiectul inițial anterior ar fi trebuit să vă fi învățat foarte mult, astfel încât, după câteva luni de contribuție productivă, puteți încerca să câștigați drepturile pe care le credeți că ar trebui să le aveți.
  • Imaginea intitulată Deveniți un pasager hacker de software liber 14
    14
    Luați o sarcină serioasă și o îndepliniți. Nu fii timid. Continuați, chiar dacă descoperiți că sarcina este mult mai dificilă decât credeți inițial. În acest pas, este important să nu renunțăm.
  • Imagine intitulată Deveniți un pasager hacker de software liber Pasul 15
    15
    Dacă puteți, aplicați-vă sarcinii serioase pe "Summer of Code" de la Google pentru a câștiga bani din această aventură. Dar nu vă faceți griji dacă cererea nu este acceptată deoarece au poziții mult mai puțin plătite decât hackeri foarte buni.
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 16
    16
    Căutați o conferință potrivită în apropiere ("Zilele Linux" sau ceva similar) și încercați să vă prezentați proiectul acolo (întregul proiect, nu doar partea pe care o programați). Dacă spui că reprezentați un proiect cu o reputație liberă / open source, organizatorii deduc deseori costul conferinței (dacă nu, conferința este, probabil, inadecvată oricum). Aduceți laptopul dvs. Linux (dacă aveți unul) și afișați demonstrații. Adresați-vă administratorului proiectului pentru materialul pe care aveți dreptul să îl utilizați la pregătirea prelegerii sau posterului.
  • Imagine intitulată Deveniți un pasager hacker de software liber 17
    17
    Caută pe internet pentru anunțuri despre o petrecere a instala aproape de tine și să ia prima dată când este posibil, ca parte utilizator (să acorde o atenție la toate problemele și modul în care hackerii le rezolva) și data viitoare ca instalator.
  • Imagine intitulată Deveniți un pasager hacker de software liber 18
    18
    Finalizați sarcina, testați-o și contribuiți la proiect. Ai terminat! Dacă este posibil, întâlniți personal câțiva hackeri ai proiectului pentru o bere.
  • Imagine intitulată Deveniți un program hacker pentru software liber Pasul 19
    19
    Pentru o înțelegere mai bună, uitați-vă la un adevărat exemplu al istoriei evoluției unui proiect de software liber. Fiecare număr de versiune incrementală reprezintă o sumă (linii de cod) a unui singur dezvoltator. Dezvoltatorii au tendința să fie mai puțin activi de-a lungul anilor, însă proiectul merge adesea mai rapid atunci când se alătură noi oameni. Deci, dacă aveți deja abilități utile, nu există niciun motiv pentru care echipa nu ar trebui să vă invite.
  • Sfaturi

    • Înainte de a pune întrebări cu privire la regulile de lucru ale proiectului, căutați răspunsul în documentația de proiect și arhivele listelor de discuții, dacă este posibil.
    • Continuați dezvoltarea pe care ați început-o. Construcția nu funcționează, nu funcționează programul, nu se prăbușește? ea sunt Motive pentru tot, și dacă aveți cod sursă, înseamnă de obicei că forțați sistemul putea, să faceți ceea ce doriți, mai ales cu ajutorul unei căutări pe Internet. Această regulă are limitările sale, dar nu renunță niciodată ușor.
    • Spuneți doar că sunteți un hacker după ce o adevărată comunitate de hackeri vă recunoaște ca atare.
    • Pentru început, selectați o clasă, un modul sau o altă unitate în care nimeni nu lucrează foarte activ în acest moment. Lucrul împreună în aceeași clasă sau chiar aceeași funcție necesită mai multe abilități și multă atenție din toate părțile.
    • Unii angajatori ai hackerilor par a fi suficient de motivați pentru a permite contribuții în timpul orelor lor de lucru (de obicei, deoarece instituția utilizează programul gratuit sau open source pe care îl dezvoltă hackerul). Poate că vă va oferi cel puțin o parte din timpul de care aveți nevoie.
    • Dacă încă nu aveți suficientă încredere în dvs., începeți cu o bucată de cod pe care credeți că o lipsește și poate fi scrisă de la zero. Modificările din codul existent sunt mult mai susceptibile de a fi criticate.

    avertismente

    • În timp ce cuvântul „hacker“ în majoritatea mediilor academice emană o anumită privință, se poate asocia unele persoane neinformate cu pătrunderea în sistemele de securitate și de alte infracțiuni legate de calculatoare ale unui alt grup social ( „Cracker“ numit). Dacă nu sunteți gata să vă explicați, acordați atenție celor cărora le spuneți acel cuvânt. Hackerii reali, așa cum spunem în acest articol, se închid niciodată Activități de programare care par ilegale pentru ei. În primul rând, sunt mândri de Moral de hacker să urmeze. În al doilea rând, încălcările legii nu sunt neapărat mai bine plătite.
    • Du-te din același motiv niciodată Să presupunem că un hacker mai vechi vă va oferi o descriere detaliată a sarcinii dvs. sau vă va ghida cumva. În timp ce proiectele open source pot avea o mulțime de reguli stricte, acestea lucrează de obicei de-a lungul a ceea ce ați numi limba de programare programarea extremă știe.
    • Starea dvs. de hacker în comunitatea proiectului reflectă mai degrabă prezentul dvs. decât trecutul dvs. În special, dacă doriți să primiți o recomandare din partea liderului de proiect, atunci ar trebui să întrebați cât timp contribuieți în mod activ.
    • În lumea de cooperare, software-ul gratuit care vă programați, și chiar întregul proiect de grup sunt neașteptat înlocuite cu un alt post în cazuri rare. Exemple de suprascriere la scară largă ar putea fi uitate astăzi armonie fie. Hackerii experimentați spun că le place să "facă" și să profite de noul cod care devine disponibil - pur și simplu nu există nicio modalitate mai bună de a reacționa. Cu toate acestea, acest lucru nu este natural și trebuie învățat. Acesta este un exemplu o astfel de situație.
    • Nu începeți cu mici îmbunătățiri ale codului, comentarii suplimentare, îmbunătățiri ale stilului de programare și alte lucruri de acest tip "la scară mică", care pot conduce la critici mult mai mult decât la o contribuție serioasă. În schimb, colectați-le într-un singur patch de "curățare".
    • Dacă doriți să întâlniți personal hackeri de software liber, lăsați întotdeauna laptop-ul Windows acasă. Mac OS este mai tolerat, dar nu este binevenit nici. Dacă vă aduceți laptopul cu dvs., el trebuie să fie rulat sub Linux sau într-un alt sistem de operare, pe care îl considerați "Free Software".
    • Dacă clientul dvs. de e-mail acceptă mesaje HTML, dezactivați această caracteristică. Nu atârnați niciodată documentele pe care numai software-ul proprietar (cum ar fi Microsoft Word) se poate deschide corect. Hackerii văd acest lucru ca pe o insultă.
    • Nu lucrați în mod voluntar pe proiectele companiei care nu fac parte din cod sub unul recunoscut Aduceți licența open source. În astfel de cazuri, părțile cu adevărat importante ale proiectului vor rămâne probabil în spatele ușilor închise ale proprietarului și vă vor împiedica să învățați ceva util.
    • În măsura în care este posibil, nu puneți întrebări despre elementele de bază ale instrumentelor de programare sau de programare. Timpul unui dezvoltator independent este valoros. În schimb, discutați despre elementele de bază ale programării în comunități pentru amatori sau programatori începători.
    • Proiectele foarte reușite pot avea reguli scrise sau nescrise care stipulează că niciodată nu veți primi nimic în schimbul muncii dvs. (nu aveți bani, nici o oportunitate de a vă promova, nici o stare mai bună, indiferent de ce ați contribuit etc.) Wikipedia). Dacă nu puteți accepta acest lucru, rămâneți la proiectele de nivel mediu care nu vă pot permite o astfel de atitudine.
    • Nu începeți cu propriul proiect, decât dacă vreți să fiți un mândru singur pentru totdeauna. Din același motiv, nu începeți prin încercarea de a revigora proiectul abandonat care și-a pierdut deja echipa anterioară.
    • La întâlnirea informală despre o bere pe un proiect căruia nu i-ați adus niciodată o singură linie de cod, veți avea disconfortul de a fi ignorat în mod clar. Nu vă faceți griji, unii hackeri vor deveni mai târziu prieteni buni după ce ați câștigat respectul cu codul.
    • Proiectele mari de software liber, în special în Domeniul GNU, nu îți văd munca ca lucru personal. După obținerea sau schimbarea locurilor de muncă într-o companie care are legătură cu software-ul, ei solicită angajatorului dvs. să facă anumite aranjamente [1] să semneze, poate să semneze, poate nu. Acest lucru vă poate forța să alegeți proiectul cu cerințele mai slabe.

    Ce ai nevoie

    • Linux. Pentru multe proiecte de software liber, construirea pe Windows este fie mai complicată, fie mai puțin posibilă. Acest lucru este valabil în special pentru proiectele mai avansate implicate în programare telefoane, USB stick-uri și alte dispozitive excelente sunt dedicate.
    • Un computer cu o conexiune relativ bună la internet. Dacă doriți să păstrați dual boot cu Windows, un al doilea hard disk sau a unei partiții cu Linux ar fi o soluție bună.
    • Cunoștințe de bază despre cel puțin un limbaj de programare și o motivație puternică pentru a afla mai multe. Cele mai populare limbi apar în prezent C și să fie Java.
    • Timp semnificativ, cel puțin cinci ore pe săptămână (un hacker tipic hardcore contribuie până la 14 ore).
    • În timp ce educația formală în domeniu poate face lucrurile mult mai ușor pentru tine, asta este nu condiție obligatorie și nici o comunitate reală de hacking nu vă va întreba vreodată. Hackerii se răsfrâng reciproc pe baza muncii lor, nu pe criterii aparente, cum ar fi gradele, vârsta, rasa sau poziția. Cu toate acestea, cel puțin 60% dintre hackerii care văd patch-urile dvs. au diploma universitară "corectă" și nu vă vor permite să fiți răi în legătură cu proiectul.
    • În timpul ultimului pas (petrecere de conferință și instalare), veți beneficia de propriul laptop. Cu toate acestea, el nu este bun pentru munca la domiciliu, așa că cumpărați doar unul dacă vă puteți permite un al doilea calculator.
    • Este nevoie de cel puțin doi ani pentru ca calea descrisă aici să devină un hacker.
    Distribuiți pe rețelele sociale:

    înrudit