Deveniți programator de software deschis

Autor: Morris Wright
Data Creației: 24 Aprilie 2021
Data Actualizării: 1 Iulie 2024
Anonim
Cum am devenit Programator? Draw my life
Video: Cum am devenit Programator? Draw my life

Conţinut

Scrierea și utilizarea software-ului deschis nu este doar o formă de programare (numită și „hacking” în lumea programatorilor), este un fel de filozofie. Deși trebuie să cunoașteți doar un limbaj de programare pentru a putea codifica, acest articol este despre cum să vă alăturați comunității, să vă faceți prieteni, să colaborați la proiecte extraordinare și să deveniți un specialist respectat, cu un profil pe care nu îl puteți obține în altă parte. În lumea software-ului deschis, vi se pot atribui destul de ușor sarcini pe care numai programatorii de elită, de nivel superior, le sunt permise să o facă într-o companie. Gândiți-vă cât de multă experiență vă poate aduce acest lucru. Cu toate acestea, odată ce ați decis să deveniți un programator de software deschis, trebuie să fiți dispus să investiți timp în acest scop. Acest lucru se aplică și dacă sunteți deja student IT. Atenție, acest articol nu se referă la modul de a deveni hacker sau cracker.

A calca

  1. Descărcați o distribuție bună Unix. GNU / Linux este unul dintre cele mai populare pentru programare, dar GNU Hurd, BSD, Solaris și (într-o anumită măsură) Mac OS X sunt de asemenea utilizate în mod obișnuit.
  2. Aflați cum să utilizați linia de comandă. Puteți face mult mai multe cu sistemele de operare similare Unix dacă utilizați linia de comandă.
  3. Aflați câteva limbaje de programare populare până ajungeți la un nivel mai mult sau mai puțin satisfăcător. În caz contrar, nu puteți contribui cu codul (cea mai importantă parte a oricărui proiect software) comunității software deschise. Unele surse sugerează să începeți cu două limbaje simultan: un limbaj de sistem (C, Java sau similar) și un limbaj de scriptare (Python, Ruby, Perl sau similar).
  4. Pentru a fi mai productiv, aveți nevoie de NetBeans sau de un mediu de dezvoltare integrat similar.
  5. Învață să folosești un editor avansat, cum ar fi vi sau Emacs. Au o curbă de învățare superioară, dar puteți face mult mai mult cu ei.
  6. Aflați despre controlul versiunilor. Controlul versiunilor este probabil cel mai important instrument de colaborare pentru dezvoltarea software-ului partajat. Înțelegeți cum să creați și să aplicați patch-uri. Cea mai mare parte a dezvoltării de software deschis în comunitate se realizează prin crearea, discuția și aplicarea diferitelor patch-uri.
  7. Găsiți un proiect software potrivit, mic, deschis la care puteți participa cu ușurință pentru a câștiga experiență. Cele mai multe astfel de proiecte pot fi găsite pe SourceForge.net în aceste zile. Un proiect adecvat ar trebui să includă:
    1. Folosiți limbajul de programare pe care îl cunoașteți.
    2. Fii activ, cu lansările recente.
    3. Deja format din trei până la cinci dezvoltatori.
    4. Pentru a utiliza controlul versiunii.
    5. Aveți o parte pe care o puteți începe imediat, fără a fi nevoie să modificați prea mult codul existent.
    6. În plus față de cod, un proiect bun are și liste active de discuții, rapoarte de erori, primește și implementează cereri de îmbunătățire și activități similare.
  8. Contactați administratorul proiectului selectat. Într-un proiect mic cu puțini dezvoltatori, ajutorul dvs. va fi de obicei acceptat imediat.
  9. Citiți cu atenție regulile proiectului și urmați-le mai mult sau mai puțin. Regulile stilului de programare sau necesitatea de a vă documenta modificările într-un fișier text separat pot părea ridicole la început. Cu toate acestea, scopul acestor reguli este de a permite munca partajată - și majoritatea proiectelor lucrează cu ele.
  10. Lucrați la acest proiect timp de câteva luni. Ascultați cu atenție ce au de spus administratorul și ceilalți membri ai proiectului. În afară de programare, aveți multe lucruri de învățat. Dar dacă într-adevăr nu vă place ceva, opriți-vă și treceți la un alt proiect.
  11. Nu te bloca prea mult timp în proiectul subteran. Odată ce te găsești capabil să lucrezi cu succes în echipa respectivă, este timpul să începi să cauți ceva mai serios.
  12. Căutați un software deschis sau un program open source serios. Majoritatea acestor proiecte sunt deținute de organizațiile GNU sau Apache.
  13. Deoarece facem un salt serios aici, trebuie să țineți cont de o primire mult mai puțin caldă. Cel mai probabil vi se va cere să rulați fără acces direct de scriere la depozitul de coduri pentru prima dată. Cu toate acestea, proiectul anterior subteran ar fi trebuit să te învețe foarte mult - așa că, după câteva luni de a contribui productiv, poți revendica drepturile pe care crezi că ar trebui să le ai.
  14. Asumați-vă o sarcină serioasă și rezolvați-o. Este timpul. Nu-ți fie frică. Continuați chiar dacă descoperiți că sarcina este mult mai dificilă decât ați crezut inițial - în acest pas este important să nu renunțați.
  15. Dacă puteți, aplicați la „Vara codului” Google pentru a pune bani în această aventură. Dar nu vă faceți griji dacă aplicația nu este acceptată, deoarece acestea au mult mai puține poziții finanțate decât există programatori foarte buni.
  16. Găsiți o conferință adecvată care se întâmplă în apropiere („Linux days” sau similar) și încercați să vă prezentați proiectul acolo (întregul proiect, și nu doar partea pe care o programați). După ce menționați că reprezentați un proiect serios gratuit / open source, organizatorii vă vor despăgubi adesea de la taxa conferinței (dacă nu, conferința va fi probabil oricum nepotrivită). Aduceți laptopul Linux (dacă aveți unul) și rulați câteva demonstrații. Întrebați managerul de proiect despre materialele pe care le puteți folosi pentru a pregăti prezentarea sau posterul.
  17. Căutați pe Internet anunțuri despre un eveniment de instalare din apropiere și încercați să participați mai întâi ca utilizator (rețineți toate problemele care apar și cum le remediază hackerii) și oferiți-vă să instalați programe data viitoare.
  18. Finalizează sarcina, verifică-ți activitatea cu teste automate și contribuie la proiect. Esti gata! Pentru a fi sigur, încercați să vă întâlniți personal cu unii dintre programatorii din proiect și să ridicați împreună un pahar de bere pe rezultat.
  19. Pentru o mai bună înțelegere, priviți un exemplu real al istoriei dezvoltării unui proiect software deschis (a se vedea mai sus). Fiecare curbă ascendentă reprezintă o contribuție (linii de cod) de la un singur dezvoltator. Dezvoltatorii tind să devină mai puțin activi odată cu înaintarea în vârstă, dar proiectul se accelerează adesea chiar și pe măsură ce se alătură oameni noi. Deci, dacă ajungeți cu niște abilități utile în buzunar, nu există motive pentru care echipa nu ar trebui să vă invite.

sfaturi

  • Înainte de a pune o întrebare despre cerințele practice din cadrul proiectului, căutați răspunsul în documentația proiectului și în arhivele listei de corespondență.
  • Încercați întotdeauna să terminați orice lucru de programare pe care l-ați început. Nu se poate construi, nu se poate rula, sistemul se blochează? Acolo a fi motive pentru toate, iar dacă aveți codul sursă, înseamnă de obicei că aveți sistemul bine vă poate forța să faceți orice doriți, mai ales cu ajutorul unor cercetări online. Această regulă are limite, desigur, dar este într-adevăr important să nu renunți niciodată prea ușor.
  • Numiți-vă programator (sau hacker) numai după ce ați fost recunoscut ca atare de o parte din comunitatea reală a hackerilor.
  • La început, alegeți o clasă, modul sau altă unitate în care nimeni nu lucrează foarte activ în acest moment. Pentru a lucra împreună în aceeași clasă sau chiar într-o poziție este nevoie de mai multe abilități și grijă din toate părțile.
  • Angajatorii unor hackeri / programatori par suficient de motivați pentru a permite contribuții în timpul orelor de lucru (de obicei, deoarece instituția folosește programul open / open source pe care programatorul îl dezvoltă). Gândiți-vă, poate puteți obține cel puțin o parte din timpul necesar în acest fel.
  • Dacă încă nu aveți suficientă încredere în voi, începeți de la o parte a codului care credeți că lipsește și poate fi scris de la zero. Modificările aduse codului existent sunt mult mai susceptibile de a fi criticate.

Avertizări

  • Statutul tău de hacker în cadrul proiectului comunitar este mai mult o reflectare a prezentului tău decât trecutul tău.Dacă doriți o recomandare sau ceva similar de la liderul de proiect, vă rugăm să întrebați dacă mai contribuiți în mod activ.
  • Nu intrați în optimizări de coduri mici, comentarii suplimentare, îmbunătățiri ale stilului de codare și alte lucruri similare „la scară mică”. Acest lucru poate întâlni mult mai multe critici decât o contribuție serioasă. În schimb, puteți include aceste modificări într-un singur patch de „curățare”.
  • Dacă intenționați să întâlniți personal hackerii de software deschis, lăsați laptopul Windows acasă. Mac OS este puțin mai tolerat, dar nici nu este binevenit. Dacă vă aduceți laptopul, acesta trebuie să ruleze Linux sau alt sistem de operare pe care îl consideră „software deschis”.
  • Dacă clientul dvs. de e-mail acceptă mesaje HTML, atunci ar trebui să dezactivați această caracteristică. Nu atașați niciodată documente pe care numai software-ul comercial (cum ar fi Microsoft Word) le pot deschide corect. Hackerii consideră că aceasta este jignitoare.
  • Nu vă oferiți voluntari în proiecte ale unei companii al cărei cod nu este acoperit de o licență open source aprobată. În astfel de cazuri, părțile cu adevărat importante ale proiectului vor rămâne probabil în spatele ușilor închise de la proprietar, împiedicându-vă să aflați ceva util.
  • Evitați orice întrebare despre elementele fundamentale ale programării sau instrumentelor de programare. Timpul unui programator de software deschis este prețios. În schimb, discutați noțiunile de bază ale programării în grupuri de amatori sau începători de programatori.
  • Proiectele înființate și de mare succes ar putea avea politici scrise sau nescrise cu privire la rambursarea muncii dvs. (fără bani, fără abilitatea de a vă promova, fără un statut ridicat indiferent de contribuția dvs. etc. - consultați: Do_not_expect_reward Wikipedia). Dacă nu puteți fi de acord cu acest lucru, rămâneți la proiecte mai frecvente care nu își pot permite o astfel de atitudine.
  • Nu vă începeți propriul proiect decât dacă doriți întotdeauna să petreceți în mândrie singurătate. Din același motiv, este mai bine să nu te apuci de o încercare de a reînvia un proiect deja abandonat, pe care echipa sa anterioară l-a pierdut deja.
  • În cazul unei întâlniri informale despre proiect la care nu ați contribuit niciodată cu vreun cod, veți avea sentimentul neplăcut de a fi complet ignorat. Nu vă faceți griji, unii hackeri pot deveni prieteni buni mai târziu după ce vă câștigați respectul cu propriul cod.
  • Proiectele mari de software deschis, în special cele din jurul domeniului GNU, nu vă tratează munca ca pe o afacere personală. După ce obțineți locul de muncă într-o companie legată de software, acesta îi solicită angajatorului să semneze anumite acorduri [1], pe care compania le va semna sau nu. Acest lucru vă poate forța să selectați un proiect cu cerințe mai puțin stricte.

Necesități

  • Linux. Multe proiecte de software deschis sunt mai complicate de construit pe Windows sau nu sunt construite deloc corect. Acest lucru este valabil mai ales pentru proiectele avansate dedicate programării telefoanelor mobile, cheilor USB și a altor dispozitive.
  • Un computer cu o conexiune la internet relativ bună. Dacă doriți să păstrați boot dual cu Windows, atunci un al doilea hard disk sau partiție pentru Linux ar putea fi o soluție bună.
  • Cunoștințe de bază despre cel puțin un limbaj de programare și o intenție puternică de a afla mai multe. Cele mai populare limbi par să fie în prezent C și Java.
  • O cantitate semnificativă de timp, cel puțin cinci ore pe săptămână (un programator tipic hardcore contribuie cu 14 ore).
  • În timp ce educația informatică formală vă va face drumul mult mai ușor, acesta este nu o cerință obligatorie și nici o comunitate reală de hackeri nu vă va întreba vreodată despre aceasta. Programatorii / hackerii se judecă reciproc după programarea cuiva, nu prin criterii false, cum ar fi calificările, vârsta, rasa sau poziția. Atenție, cel puțin 60% dintre hackerii open source care vă evaluează patch-urile au diploma „corectă” și nu vă vor permite să contribuiți la prostii la proiect.
  • În ultimii pași (conferință și „petrecere de instalare”) puteți beneficia de propriul laptop. Dar nu este în regulă să lucrezi la el acasă, deci cumpără unul doar dacă îți permiți a doua mașină.
  • Calea descrisă pentru a deveni un „hacker” software open source durează cel puțin doi ani.