Die skryf en gebruik van oop sagteware is nie net `n vorm van programmering (ook bekend as `hacking` in die programmeerders se wêreld nie), dit is `n soort filosofie. Alhoewel jy net `n programmeertaal hoef te ken om te kan programmeer, gaan hierdie artikel alles oor hoe jy by die gemeenskap kan aansluit, vriende kan maak, saamwerk aan wonderlike projekte en `n gerespekteerde spesialis word met `n profiel wat jy nie elders kan kry nie. In die wêreld van oop sagteware kan jy redelik maklik take opgedra word wat slegs die elite, topvlak-programmeerders in `n maatskappy mag doen. Dink net hoeveel ervaring dit vir jou kan oplewer. Sodra jy egter besluit het om `n oop sagtewareprogrammeerder te word, moet jy bereid wees om tyd in hierdie doelwit te belê. Dit geld ook as jy reeds `n IT-student is. Let wel, hierdie artikel gaan nie oor hoe om `n hacker of kraker te word nie.
Trappe
1. Laai `n goeie Unix-verspreiding af. GNU/Linux is een van die gewildste vir programmering, maar GNU Hurd, BSD, Solaris en (tot `n mate) Mac OS X word ook algemeen gebruik.
2. Leer hoe om die opdragreël te gebruik. Jy kan baie meer doen met Unix-agtige bedryfstelsels wanneer jy die opdragreël gebruik.
3. Leer `n paar gewilde programmeertale totdat jy `n min of meer bevredigende vlak bereik. Andersins kan jy nie kode (die belangrikste deel van enige sagtewareprojek) tot die oop sagteware-gemeenskap bydra nie. Sommige bronne stel voor om met twee tale gelyktydig te begin: een stelseltaal (C, Java of soortgelyk) en `n skriftaal (Python, Ruby, Perl of soortgelyk).
4. Om meer produktief te wees, benodig jy NetBeans of `n soortgelyke geïntegreerde ontwikkelingsomgewing.
5. Leer hoe om `n gevorderde redigeerder, soos vi of Emacs, te gebruik. Hulle het `n hoër leerkurwe, maar jy kan baie meer met hulle doen.
6. Kom meer te wete oor weergawebeheer. Weergawebeheer is waarskynlik die belangrikste instrument van gedeelde sagteware-ontwikkelingsamewerking. Verstaan pleisterskepping en toepassing. Die meeste oop sagteware-ontwikkeling in die gemeenskap word gedoen deur verskeie pleisters te skep, te bespreek en toe te pas.
7. Vind `n geskikte klein oop sagtewareprojek waarby jy maklik kan aansluit om ervaring op te doen. Die meeste sulke projekte kan deesdae op SourceForge gevind word.net. `n Geskikte projek moet:
Gebruik die programmeertaal wat jy ken.Wees aktief, met onlangse vrystellings.Reeds uit drie tot vyf ontwikkelaars te bestaan.weergawebeheer te gebruik.Het `n deel waaraan jy dadelik kan begin werk, sonder om die bestaande kode te veel te verander.Benewens die kode, het `n goeie projek ook aktiewe besprekingslyste, foutverslae, kry en implementeer verbeteringsversoeke en soortgelyke aktiwiteite.8. Kontak die administrateur van die geselekteerde projek. In `n klein projek met min ontwikkelaars, sal jou hulp gewoonlik onmiddellik aanvaar word.
9. Lees die reëls van die projek noukeurig deur en volg dit min of meer. Jy kan die reëls van programmeringstyl of die behoefte om jou veranderinge in `n aparte tekslêer te dokumenteer aanvanklik belaglik vind. Die doel van hierdie reëls is egter om gedeelde werk moontlik te maak -- en die meeste projekte werk daarmee.
10. Werk vir `n paar maande aan hierdie projek. Luister mooi na wat die administrateur en ander projeklede te sê het. Behalwe programmering het jy baie dinge om te leer. Maar as jy regtig nie van iets hou nie, stop net en gaan aan na `n ander projek.
11. Moenie te lank in die ondergrondse projek vertoef nie. Sodra jy agterkom dat jy suksesvol in daardie span kan werk, is dit tyd om na iets ernstiger te soek.
12. Vind `n ernstige hoëvlak oop sagteware of oopbronprojek. Die meeste sulke projekte word deur GNU- of Apache-organisasies besit.
13. Omdat ons hier `n ernstige sprong maak, moet jy `n baie minder warm ontvangs in ag neem. U sal waarskynlik vir die eerste keer gevra word om sonder direkte skryftoegang tot die kodebewaarplek te hardloop. Die vorige ondergrondse projek moes jou egter baie geleer het -- so na `n paar maande van produktief wees, kan jy aanspraak maak op die regte wat jy dink jy behoort te hê.
14. Neem `n ernstige taak aan en werk dit uit. Dis tyd. Moenie bang wees nie. Gaan voort selfs al vind jy die taak is baie moeiliker as wat jy aanvanklik gedink het - in hierdie stap is dit belangrik om nie moed op te gee nie.
15. As jy kan, doen aansoek by Google "Somer van Kode" om geld op hierdie avontuur te spaar. Maar moenie bekommerd wees as die aansoek nie aanvaar word nie, want hulle het baie minder befondsde posisies as wat daar werklik goeie programmeerders is.
16. Soek `n geskikte konferensie wat naby plaasvind ("Linux dae" of iets soortgelyks) en probeer om jou projek daar aan te bied (die hele projek, en nie net die deel wat jy programmeer nie). Nadat jy vir hulle gesê het jy verteenwoordig `n ernstige gratis/oopbron-projek, sal die organiseerders jou dikwels van die konferensiegeld vrystel (indien nie, sal die konferensie waarskynlik in elk geval ongeskik wees). Bring jou Linux-skootrekenaar (as jy een het) en wys `n paar demonstrasies. Vra die projekbestuurder oor die materiaal wat jy kan gebruik om jou aanbieding of plakkaat voor te berei.
17. Soek op die internet vir aankondigings oor `n nabygeleë installasiegeleentheid en probeer eers as gebruiker deelneem (let op al die probleme wat opduik en hoe kuberkrakers dit oplos) en bied volgende keer aan om programme te installeer.
18. Voltooi die taak, kontroleer jou werk met outomatiese toetse en dra by tot die projek. Jy is klaar! Net om seker te maak, probeer om `n paar van die programmeerders op die projek persoonlik te ontmoet en saam `n bier tot die resultaat te bring.
19. Vir `n beter begrip, kyk na `n werklike voorbeeld van die ontwikkelingsgeskiedenis van `n oop sagtewareprojek (hierbo). Elke stygende kurwe verteenwoordig `n bydrae (kodereëls) van `n enkele ontwikkelaar. Ontwikkelaars is geneig om minder aktief te word met ouderdom, maar die projek versnel dikwels selfs as nuwe mense aansluit. As jy dus met `n paar nuttige vaardighede in jou sak aankom, is daar geen rede waarom die span jou nie moet nooi nie.
Wenke
Voordat u `n vraag oor die praktiese aspekte van die projek vra, moet u die antwoord in die projekdokumentasie en poslysargiewe soek.Hou altyd aan om te probeer om die programmering wat jy begin het, klaar te maak. Kan nie bou nie, kan nie hardloop nie, stelsel stort ineen? er is redes vir alles, en as jy die bronkode het, beteken dit gewoonlik dat jy die stelsel het wel dwing jou om te doen wat jy wil, veral met behulp van aanlynnavorsing. Hierdie reël het natuurlik perke, maar dit is inderdaad belangrik om nooit te maklik tou op te gooi nie.Noem jouself net `n programmeerder (of hacker) nadat jy as sodanig deur sommige van die regte kubergemeenskap erken is.Kies aan die begin `n klas, module of ander eenheid waaraan niemand tans baie aktief werk nie. Om in dieselfde klas of selfs `n posisie saam te werk, verg meer vaardigheid en sorg van alle kante.Werkgewers van sommige kuberkrakers/programmeerders lyk gemotiveerd genoeg om bydraes gedurende werksure toe te laat (gewoonlik omdat die instelling die gratis/oopbronprogram gebruik wat die programmeerder ontwikkel). Dink, miskien kan jy ten minste `n deel van die tyd wat nodig is op hierdie manier kry.As jy steeds nie selfversekerd genoeg in jouself voel nie, begin van `n deel van die kode wat jy dink ontbreek en van nuuts af geskryf kan word. Veranderinge aan bestaande kode sal baie vinniger gekritiseer word.Waarskuwings
- Jou hacker-status binne die gemeenskapsprojek weerspieël jou hede meer as jou verlede. As jy `n aanbeveling of soortgelyke van die projekleier wil hê, vra asseblief of jy nog aktief bydra.
- Moenie by klein kode-optimalisasies, ekstra opmerkings, koderingstylverbeterings en ander soortgelyke `kleinskaal` goed ingaan nie. Dit kan veel meer kritiek as `n ernstige bydrae ontmoet. In plaas daarvan kan jy hierdie veranderinge in `n enkele `skoonmaak`-pleister insluit.
- As jy van plan is om die oop sagteware-krakers persoonlik te ontmoet, los jou Windows-skootrekenaar by die huis. Mac OS word `n bietjie meer geduld, maar ook nie regtig welkom nie. As jy jou skootrekenaar bring, moet dit Linux of `n ander bedryfstelsel gebruik wat hulle as `oop sagteware` beskou.
- As jou e-poskliënt HTML-boodskappe ondersteun, moet jy hierdie kenmerk beter deaktiveer. Moet nooit dokumente aanheg wat slegs kommersiële sagteware (soos Microsoft Word) behoorlik kan oopmaak nie. Kuberkrakers beskou dit as aanstootlik.
- Moenie vrywillig wees vir enige maatskappyprojekte waarvan die kode nie deur a gedek word nie goedgekeur oopbron lisensie val. In sulke gevalle sal die werklik belangrike dele van die projek waarskynlik agter geslote deure van die eienaar bly, wat jou verhoed om iets nuttigs te leer.
- Vermy enige vrae oor programmeringsgrondbeginsels of programmeringsinstrumente. Die tyd van `n oop sagteware programmeerder is kosbaar. Bespreek eerder die basiese beginsels van programmering in groepe vir amateur- of beginprogrammeerders.
- Gevestigde en hoogs suksesvolle projekte het dalk geskrewe of ongeskrewe beleide oor om nooit vir jou werk te betaal nie (geen geld, geen vermoë om jouself te bevorder, geen verhoogde status, ongeag jou bydrae, ens. -- sien : Moenie_verwag_beloon_ nie Wikipedia). As jy nie hiermee kan saamstem nie, hou by meer hoofstroomprojekte wat nie so `n houding kan bekostig nie.
- Moenie `n projek van jou eie aanpak nie, tensy jy altyd trotse eensaamheid wil spandeer. Om dieselfde rede moet jy nie `n poging aanpak om `n reeds verlate projek wat sy vorige span reeds verloor het, te laat herleef.
- In die geval van `n informele vergadering oor die projek waar jy nog nooit enige kode bygedra het nie, sal jy die onaangename gevoel hê dat jy heeltemal geïgnoreer word. Moenie bekommerd wees nie, sommige kuberkrakers kan later goeie vriende word, nadat jy hul respek met jou eie kode verdien het.
- Groot oop sagtewareprojekte, veral dié rondom die GNU-domein, behandel nie jou werk as jou persoonlike besigheid nie. Nadat jy die werk by `n sagtewareverwante maatskappy gekry het, vra hulle jou werkgewer vir sekere ooreenkomste [1] te teken, wat die maatskappy sal of nie sal onderteken nie. Dit kan jou dwing om `n projek met minder streng vereistes te kies.
Benodigdhede
- Linux. Baie oop sagtewareprojekte is meer ingewikkeld om onder Windows te bou, of is glad nie korrek gebou nie. Dit is veral waar vir gevorderde projekte, gewy aan die programmering van selfone, USB-sleutels en ander toestelle.
- `n Rekenaar met `n relatief goeie internetverbinding. As jy dubbel selflaai met Windows wil hê, kan `n tweede hardeskyf of partisie vir Linux `n goeie oplossing wees.
- Basiese kennis van ten minste een programmeertaal en `n sterk voorneme om meer te leer. Die gewildste tale lyk tans C en Java wees.
- `n Beduidende hoeveelheid tyd, ten minste vyf uur per week (`n tipiese hardcore programmeerder dra soveel as 14 uur by).
- Alhoewel formele IT-onderrig jou pad baie makliker sal maak, is dit nie `n verpligte vereiste en geen regte hacker-gemeenskap sal jou ooit daaroor vra nie. Programmeerders/krakers beoordeel mekaar volgens iemand se programmering, nie nagemaakte kriteria soos grade, ouderdom, ras of posisie nie. Let wel, ten minste 60% van die oopbronkrakers wat jou pleisters hersien, het wel die `korrekte` kollege-graad en sal nie toelaat dat jou kak tot die projek bydra nie.
- Tydens die laaste stappe (konferensie en `installeer partytjie`) kan jy voordeel trek uit jou eie skootrekenaar. Maar dit is nie goed om tuis daaraan te werk nie, so koop net een as jy die tweede masjien kan bekostig.
- Die beskryfde pad om `n oopbronsagteware-`hacker` te word, neem minstens twee jaar om te voltooi.
Artikels oor die onderwerp "Word 'n programmeerder van oop sagteware"