Koje su različite vrste izvornog koda?

Svaki programski i označni jezik ima svoj poseban oblik izvornog koda, koji se ponekad naziva jednostavno “izvorni”. Ovaj kod se sastoji od opisa zadataka koje računalo treba izvršiti, a napisan je i pohranjen u tekstualnom formatu koji čovjek može lako pročitati. Neki kod se kompilira prije upotrebe, proces koji pretvara izvor u skup uputa u strojnom jeziku. Tekst u označnom jeziku kao što je HTML tehnički nije izvorni kod u čistom smislu pojma, ali se često naziva takvim. Također postoje različite pravne kategorije izvornog koda, a najvažnija je podjela između otvorenog i zatvorenog koda.

Svaki programski jezik koristi drugačiju sintaksu za predstavljanje temeljnog algoritma. Ove razlike znače da se izvorni kod razlikuje od jezika do jezika. Neki jezici, kao što su C i C++, povezani su i dijele određene elemente stila i sintakse.

Neke konvencije stila programiranja javljaju se u većini jezika. Na primjer, gotovo svaki jezik uključuje neki sustav za označavanje komentara ili dijelova koda koji su namijenjeni ljudskim gledateljima, a ne za obradu od strane prevoditelja. Ovo je toliko uobičajena značajka izvornog koda da se nekoliko stilova zapisa komentara pojavljuje u više od jednog programskog jezika.

Sav pravi izvorni kod mora se pokrenuti kroz kompajler i pretvoriti u strojni jezik prije nego što ga računalo može izvršiti. U nekim slučajevima, kao što je Python u interaktivnom načinu rada, ovaj se zadatak izvodi dinamički. U drugim slučajevima, prevodilac proizvodi izvršnu datoteku koja pohranjuje upute u strojnom jeziku za kasniju upotrebu.

Označeni tekst koji čini veliki dio sadržaja weba nije tehnički izvorni kod. Međutim, postoji određena sličnost budući da HTML i drugi srodni jezici za označavanje prenose značenje i opisuju zadatke koje treba izvršiti računalo, posebno načine na koje se tekst i druge informacije trebaju formatirati i prikazati. Stoga se tekst koji je označen u HTML-u često naziva izvornim kodom.

Pravno gledano, postoje dva modela za izvorno vlasništvo i distribuciju. Softver otvorenog koda je softver čiji je kod isporučen, ponekad bez priloženih stringova, a ponekad pod licencnim ugovorom otvorenog koda koji čuva neka osnovna prava za autora. Neki takvi sporazumi ograničavaju vrste izmjena koje se mogu izvesti na izvornom kodu, ali neki jednostavno određuju da se priznanje mora pripisati izvornom autoru.

Zatvoreni izvor je druga velika legalna raznolikost izvornog koda. U ovom modelu, nositelju licence se daje samo izvršna datoteka. Korisnicima je zabranjeno pokušavati dekompilirati izvršne datoteke kako bi otkrili temeljni kod. Ovaj pravni model dominira poljem komercijalnog softvera, iako su se neki poslovni modeli otvorenog koda također pokazali održivima.