Staňte sa programátorom otvoreného softvéru

Autor: Morris Wright
Dátum Stvorenia: 24 Apríl 2021
Dátum Aktualizácie: 1 V Júli 2024
Anonim
Barrister Babu | बैरिस्टर बाबू | Ep. 241 To 246 | Weekly Rewind
Video: Barrister Babu | बैरिस्टर बाबू | Ep. 241 To 246 | Weekly Rewind

Obsah

Písanie a používanie otvoreného softvéru nie je len forma programovania (vo svete programátorov sa nazýva aj „hacking“), je to druh filozofie. Aj keď na to, aby ste vedeli programovať, potrebujete iba programovací jazyk, tento článok pojednáva o tom, ako sa stať členom komunity, nájsť si priateľov, spolupracovať na skvelých projektoch a stať sa rešpektovaným špecialistom s profilom, ktorý inde nenájdete. Vo svete otvoreného softvéru vám možno celkom ľahko priradiť úlohy, ktoré môžu vo firme vykonávať iba elitní programátori na najvyššej úrovni. Popremýšľajte, koľko skúseností vám to môže priniesť. Len čo sa však rozhodnete stať sa otvoreným softvérovým programátorom, musíte byť ochotní investovať čas do tohto cieľa. To platí aj v prípade, že ste už študentom IT. Nezabudnite, že tento článok nie je o tom, ako sa stať hackerom alebo crackerom.

Na krok

  1. Stiahnite si dobrú distribúciu Unixu. GNU / Linux je jedným z najpopulárnejších na programovanie, ale bežne sa používajú aj GNU Hurd, BSD, Solaris a (do istej miery) Mac OS X.
  2. Naučte sa, ako používať príkazový riadok. Ak používate príkazový riadok, v operačných systémoch podobných systému Unix môžete urobiť oveľa viac.
  3. Naučte sa niektoré populárne programovacie jazyky, kým nedosiahnete viac alebo menej uspokojivú úroveň. V opačnom prípade nemôžete prispieť kódom (najdôležitejšou súčasťou každého softvérového projektu) do otvorenej softvérovej komunity. Niektoré zdroje odporúčajú začať s dvoma jazykmi naraz: jedným systémovým jazykom (C, Java alebo podobným) a skriptovacím jazykom (Python, Ruby, Perl alebo podobným).
  4. Aby ste boli produktívnejší, potrebujete NetBeans alebo podobné integrované vývojové prostredie.
  5. Naučte sa používať pokročilý editor, napríklad vi alebo Emacs. Majú vyššiu krivku učenia, ale môžete s nimi urobiť oveľa viac.
  6. Získajte viac informácií o ovládaní verzií. Správa verzií je pravdepodobne najdôležitejším nástrojom spolupráce pri vývoji zdieľaného softvéru. Pochopte, ako vytvárať a aplikovať opravy. Väčšina otvoreného vývoja softvéru v komunite sa uskutočňuje prostredníctvom vytvárania, diskusií a aplikácií rôznych opráv.
  7. Nájdite vhodný malý otvorený softvérový projekt, ktorého sa môžete ľahko zúčastniť, aby ste získali skúsenosti. Väčšinu takýchto projektov nájdete v súčasnosti na SourceForge.net. Vhodný projekt by mal obsahovať:
    1. Použite programovací jazyk, ktorý poznáte.
    2. Buďte aktívni pri posledných vydaniach.
    3. Skladá sa už z troch až piatich vývojárov.
    4. Ak chcete použiť kontrolu verzie.
    5. Pripravte si súčasť, s ktorou môžete ihneď začať, bez toho, aby ste museli príliš meniť existujúci kód.
    6. Okrem kódu má dobrý projekt aj aktívne diskusné zoznamy, správy o chybách, získava a implementuje požiadavky na vylepšenie a podobné aktivity.
  8. Kontaktujte správcu vybratého projektu. V malom projekte s niekoľkými vývojármi bude vaša pomoc zvyčajne okamžite prijatá.
  9. Pozorne si prečítajte pravidlá projektu a viac-menej sa nimi riaďte. Pravidlá programovacieho štýlu alebo potreba zdokumentovať svoje zmeny v samostatnom textovom súbore sa spočiatku môžu zdať smiešne. Účelom týchto pravidiel je však umožniť zdieľanú prácu - a väčšina projektov s nimi pracuje.
  10. Na tomto projekte pracujte niekoľko mesiacov. Pozorne si vypočujte, čo hovorí správca a ostatní členovia projektu. Okrem programovania sa musíte naučiť ešte veľa vecí. Ak sa vám však niečo naozaj nepáči, jednoducho sa zastavte a prepnite na iný projekt.
  11. Nezdržujte sa príliš dlho v podzemnom projekte. Akonáhle zistíte, že ste v tomto tíme schopní úspešne pracovať, je čas začať hľadať niečo vážnejšie.
  12. Hľadajte seriózny otvorený softvér na vysokej úrovni alebo projekt otvoreného zdroja. Väčšinu takýchto projektov vlastnia organizácie GNU alebo Apache.
  13. Pretože tu robíme vážny skok, musíte brať do úvahy oveľa horší príjem. S najväčšou pravdepodobnosťou budete prvýkrát požiadaní o spustenie bez priameho prístupu na zápis do úložiska kódov. Predchádzajúci projekt podzemia vás však mal naučiť veľa - takže po niekoľkých mesiacoch produktívneho prispievania sa môžete domáhať práv, o ktorých si myslíte, že by ste ich mali mať.
  14. Zoberte si vážnu úlohu a vypracujte ju. Je čas. Neboj sa. Pokračujte, aj keď zistíte, že úloha je oveľa ťažšia, ako ste si pôvodne mysleli - v tomto kroku je dôležité sa nevzdávať.
  15. Ak môžete, prihláste sa do programu „Summer of Code“ spoločnosti Google a vložte nejaké peniaze do tohto dobrodružstva. Ale nebojte sa, ak nebude aplikácia prijatá, pretože majú oveľa menej financovaných pozícií, ako je skutočne dobrých programátorov.
  16. Vyhľadajte vhodnú konferenciu, ktorá sa koná v okolí („Dni systému Linux“ alebo podobné), a pokúste sa tam predstaviť svoj projekt (celý projekt, a nielen časť, ktorú programujete). Keď sa zmienite o tom, že zastupujete závažný projekt typu free / open source, organizátori vás často odškodnia za poplatok za konferenciu (ak nie, konferencia bude pravdepodobne aj tak nevhodná). Vezmite si so sebou laptop so systémom Linux (ak ho máte) a spustite ukážky. Požiadajte projektového manažéra o materiály, ktoré môžete použiť na prípravu svojej prezentácie alebo plagátu.
  17. Vyhľadajte na internete oznámenia o inštalačnej udalosti v okolí a skúste sa najskôr zapojiť ako používateľ (všimnite si všetky problémy, ktoré sa vyskytnú, a ako ich hackeri opravia) a ponúknite inštaláciu programov nabudúce.
  18. Dokončite úlohu, skontrolujte svoju prácu automatickými testami a prispejte do projektu. Skončil si! Skúste sa pre istotu osobne stretnúť s niektorými programátormi projektu a spoločne si dať výsledný pohár piva.
  19. Pre lepšie pochopenie si pozrite skutočný príklad histórie vývoja otvoreného softvérového projektu (pozri vyššie). Každá stúpajúca krivka predstavuje príspevok (riadky kódu) od jedného vývojára. Vývojári majú tendenciu byť s pribúdajúcim vekom menej aktívni, ale projekt sa často zrýchľuje, aj keď sa pridajú noví ľudia. Takže ak prídete s nejakými užitočnými zručnosťami vo vrecku, nie sú dôvody, prečo by vás tím nemal pozývať.

Tipy

  • Pred položením otázky o praktických požiadavkách v rámci projektu vyhľadajte odpoveď v projektovej dokumentácii a archívoch e-mailových adries.
  • Vždy sa snažte dokončiť všetky programovacie práce, ktoré ste začali. Nedá sa postaviť, nedá sa spustiť, zlyhanie systému? Tam byť dôvody pre všetko, a ak máte zdrojový kód, zvyčajne to znamená, že máte systém dobre vás môže prinútiť robiť, čo chcete, najmä pomocou niektorých online výskumov. Toto pravidlo má samozrejme svoje limity, ale je skutočne dôležité nikdy sa nevzdávať príliš ľahko.
  • Sám seba nazývajte programátorom (alebo hackerom) až potom, čo vás ako také uzná skutočná komunita hackerov.
  • Na začiatku si vyberte triedu, modul alebo inú jednotku, v ktorej momentálne nikto veľmi aktívne nepracuje. Spolupráca v jednej triede alebo dokonca na pozícii vyžaduje viac zručností a starostlivosti zo všetkých strán.
  • Zdá sa, že zamestnávatelia niektorých hackerov / programátorov sú dostatočne motivovaní na to, aby umožnili príspevky počas pracovnej doby (zvyčajne preto, že inštitúcia používa bezplatný / otvorený program, ktorý programátor vyvíja). Pomysli, možno takto získaš aspoň časť času potrebného.
  • Ak stále nemáte dostatok dôvery v seba, začnite od časti kódu, ktorá podľa vás chýba a dá sa na ňu písať od nuly. Oveľa pravdepodobnejšie budú zmeny súčasného kódu kritizované.

Varovania

  • Váš status hackera v rámci komunitného projektu je skôr odrazom vašej súčasnosti ako vašej minulosti.Ak by ste chceli odporúčanie alebo podobné od vedúceho projektu, opýtajte sa, či stále aktívne prispievate.
  • Nepúšťajte sa do malých optimalizácií kódu, ďalších komentárov, vylepšení štýlov kódovania a ďalších podobných vecí „malého rozsahu“. To sa môže stretnúť s oveľa väčšou kritikou ako s vážnym prispením. Namiesto toho môžete tieto zmeny zahrnúť do jednej opravnej opravy.
  • Ak sa plánujete osobne stretnúť s otvorenými softvérovými hackermi, nechajte notebook so systémom Windows doma. Mac OS je o niečo tolerovanejší, ale tiež to nie je skutočne vítané. Ak si prinesiete prenosný počítač, musí to byť operačný systém Linux alebo iný operačný systém, ktorý považujú za „otvorený softvér“.
  • Ak váš e-mailový klient podporuje správy HTML, mali by ste túto funkciu deaktivovať. Nikdy neprikladajte dokumenty, ktoré dokáže správne otvoriť iba komerčný softvér (napríklad Microsoft Word). Hackeri to považujú za urážlivé.
  • Nepodávajte dobrovoľníctvo na projektoch spoločnosti, ktorej kód nie je krytý schválenou licenciou open source. V takýchto prípadoch skutočne dôležité časti projektu pravdepodobne zostanú za zatvorenými dverami majiteľa, čo vám zabráni dozvedieť sa niečo užitočné.
  • Vyvarujte sa akýchkoľvek otázok o základoch programovania alebo programovacích nástrojov. Čas otvoreného softvérového programátora je drahý. Namiesto toho diskutujte o základoch programovania v amatérskych alebo začínajúcich programátorských skupinách.
  • Zavedené a veľmi úspešné projekty mohli mať písomnú alebo nepísanú formu o tom, že vám nikdy nebude vrátená suma za prácu (žiadne peniaze, žiadna schopnosť propagácie, žiadny zvýšený stav bez ohľadu na váš príspevok atď. - pozri: Do_not_expect_reward Wikipedia). Ak s tým nemôžete súhlasiť, držte sa bežných projektov, ktoré si takýto prístup nemôžu dovoliť.
  • Nezačínajte svoj vlastný projekt, pokiaľ nechcete vždy tráviť hrdú samotu. Z rovnakého dôvodu je lepšie nepokúšať sa o oživenie už opusteného projektu, o ktorý už predchádzajúci tím prišiel.
  • V prípade neformálneho stretnutia o projekte, na ktoré ste nikdy neprispeli žiadnym kódom, budete mať nepríjemný pocit úplného ignorovania. Nebojte sa, z niektorých hackerov sa môžu neskôr stať dobrí priatelia, až keď si získate rešpekt pomocou vlastného kódu.
  • Veľké otvorené softvérové ​​projekty, najmä tie, ktoré sa týkajú domény GNU, nezaobchádzajú s vašou prácou ako s vašou osobnou záležitosťou. Keď získate prácu v softvérovej spoločnosti, požiada vášho zamestnávateľa o podpísanie určitých dohôd [1], ktoré spoločnosť podpíše alebo nepodpíše. To vás môže prinútiť vybrať projekt s menej prísnymi požiadavkami.

Nevyhnutnosť

  • Linux. Mnoho otvorených softvérových projektov je komplikovanejšie postaviť na Windows, alebo sa stavajú vôbec nesprávne. To platí najmä pre pokročilé projekty zamerané na programovanie mobilných telefónov, USB kľúčov a iných zariadení.
  • Počítač s relatívne dobrým pripojením na internet. Ak chcete v systéme Windows zachovať duálne bootovanie, dobrým riešením by mohol byť druhý pevný disk alebo oddiel pre systém Linux.
  • Základné znalosti aspoň jedného programovacieho jazyka a silný úmysel dozvedieť sa viac. Najobľúbenejšími jazykmi sú v súčasnosti jazyky C a Java.
  • Významné množstvo času, najmenej päť hodín týždenne (typický hardcore programátor prispieva ohromných 14 hodín).
  • Aj keď vám formálne vzdelávanie v oblasti IT cestu uľahčí, je to ono nie povinná požiadavka a žiadna skutočná komunita hackerov sa vás na to nikdy nebude pýtať. Programátori / hackeri sa navzájom posudzujú podľa niekoho programovania, nie podľa falošných kritérií, ako sú známky, vek, rasa alebo pozícia. Nezabudnite, že minimálne 60% hackerov otvoreného zdroja, ktorí hodnotia vaše opravy, má „správne“ vysokoškolské vzdelanie a nedovolí vám prispievať do projektu nezmyslami.
  • Počas posledných krokov (konferencia a inštalácia) môžete mať prospech z vlastného notebooku. Nie je však v poriadku pracovať na ňom doma, preto si kúpte iba jeden, ak si môžete dovoliť druhý stroj.
  • Cesta, ktorá sa popisuje ako stať sa „hackerom“ softvéru typu open source, trvá minimálne dva roky.