Atvērtā pirmkoda iniciatīva

Publicēts 2007-09-13, etiķetes: ,

Tā kā domāju diezgan daudz apskatīt tieši brīvās un atvērtā pirmkoda programmas, tad iespējams, ka šeit būtu vietā īss atvērtā pirmkoda idejas un kustības apraksts. Es šeit nepretendēju uz pilnīgu un izsmeļošu izklāstu, vēlos vienkārši dot īsu skaidrojumu un norādes uz citiem informācijas avotiem, lai lasītāji, kas ar to saskarās pirmo reizi būtu lietas kursā, par ko tad šeit īsti iet runa.

Kas ir programmas pirmkods?

Programmas pirmkods ir komandu virkne, kas rakstīta cilvēkam saprotamā programmēšanas valodā. Šīs komandas tiek izmantotas, lai ar to palīdzību liktu datoram veikt kādu noteiktu uzdevumu.

Tā kā datori izmanto valodu, ko cilvēkiem ir ārkārtīgi grūti lietot neizmainītā veidā (valodu, kas sastāv no rīkojumiem un datiem binārā formā - 1 un 0), tad praktiski visas programmas tiek rakstītas kādā programmēšanas valodā, kas tuvāka cilvēku lietotajai (parasti angļu). Pastāv vairāki programmēšanas valodu līmeņi, kas būtu atšķirami pēc tā, cik tuva tā ir cilvēku valodai, bet neatkarīgi no tā, kuru lietojam, lai programma varētu veikt iecerēto uzdevumu, tās pirmkods ir jāpārtulko no programmēšanas valodas uz valodu, ko lieto konkrētais dators (mašīnvalodu). Pastāv divi veidi, kā tas var tikt izdarīts - pārtulkojot pirmkodu (kompilējot) un tad darbinot izveidoto programmu, vai veicot programmas pirmkoda tulkošanu (interpretēšanu) izpildes laikā.

Sakompilētā programma principā ir fails, kas rakstīts cilvēkam nelasāmā un nesaprotamā formā, tādēļ no tā nav iespējams uzzināt, tieši kādā veidā programma veic kādu darbību un ko tā vispār dara.
Ja programma rakstīta programmēšanas valodā, kas izmanto interpretatoru (programmu, kas veic pirmkoda tulkošanu un izpildi), tad parasti tās pirmkods ir pieejams un izlasāms.

Atvērtā pirmkoda idejas un kustības vēsture

Vairums programmu tiek piegādātas lietotājam kompilētā veidā. Tātad programmas lietotājs patiesībā nemaz nezina, ko un kā tā programma īsti dara un nevar izlabot kādu tajā atrastu kļūdu vai pielāgot to savām vajadzībām.

Situācija bija pavisam citāda, kad vēl datori nebija tik ļoti attīstījušies un tie bija mazāk pieejami. Tad cilvēki brīvi apmainījās ar pirmkodu un varēja to uzlabot, pielāgot savām vajadzībām vai izmantot paši savās programmās. Taču tas mainījās, kad datori nonāca līdz ikdienas lietotājam un firmas sāka pārdot programmatūru. Tās bija ieinteresētas neizplatīt programmu pirmkodu, lai pircējs vienmēr nāktu pie tām un maksātu, taču tā lietotājam tiek liegta praktiski jebkāda iespēja pašam labot programmu vai pielāgot to kādiem citiem mērķiem.

Daži programmētāji to uztvēra, kā viņu brīvības ierobežošanu un juta ka tas bremzē datorzinātnes attīstību, tāpēc tie padarīja pašu rakstītās programmas un to izejas kodus brīvi pieejamus un aicināja citus darīt tā pat. 1983. gada 27. septembrī Richard Stallman paziņoja par plāniem veidot GNU operētājsistēmu, kas pilnībā sastāvētu no atvērtā pirmkoda programmatūras. Darbs pie tās tika uzzākts 1984. gada 5. janvārī, kad viņš aizgāja no darba Masačūsetsas tehnoloģoskajā institūtā, lai tas nevarētu apdraudēt izveidotās sistēmas brīvo pieejamību. Viņam pievienojās daudzi citi programmētāji, kas pārsvarā brīvajā laikā nodarbojās ar atvērtā pirmkoda programmu izstrādi. 1985. gada oktobrī R. Stallman izveidoja Brīvās Programmatūras fondu (FSF - Free Software Foundation), kas nodarbojās ar atvērtā pirmkoda projektu atbalstīšanu, gan programmējot, gan nodarbojoties ar brīvās programmatūras juridiskajiem jautājumiem. Viņi izveidoja atvērtā pirmkoda analogus praktiski visām tajā laikā izplatītajā Unix operētājsistēmā lietotajām programmām (teksta redaktoriem, kompilatoriem u.c.).

Deviņdesmito gadu sākumā bija uzrakstītas praktiski visas darbam ar datoru nepieciešamākās programmas, nebija pabeigta tikai viena - operētājsistēmas kodols. Tajā laikā Linus Torvalds uzrakstīja operētājsistēmas kodolu, kas bija ļoti tuvs Unix® sistēmai un tā kā daudzi programmētāji visā pasaulē bija palīdzējuši ar padomiem, testēšanu un labošanu, tad viņš to nolēma padarīt visiem pieejamu (arī tā pirmkodu). Šī sistēma tika nosaukta par Linux. Tas deva iespēju darbināt un izmantot datoru izmantojot tikai atvērtā pirmkoda programmatūru.

1997. gadā Eric Raymond publicēja rakstu "Katedrāle un tirgus laukums" ("The Cathedral and the Bazaar"), kurā pirmo reizi aprakstīja hakeru kultūru un attālināto programmatūras izstrādi. Tas radīja lielas pārmaiņas gan pašā hakeru sabiedrībā, gan arī ārpus tās un deva jaunu impulsu atvērtā pirmkoda idejas popularizēšanā. Tas palīdzēja Netscape® nākamā gada sākumā pieņemt lēmumu par viņu populārā interneta pārlūka izejas koda publiskošanu un izdošanu kā atvērtā pirmkoda un bezmaksas programmu, kas bija pirmais šāda veida gadījums (bet ne pēdējais). Vēlāk tika izdomāts termins "atvērtais pirmkods" (angl. opensource) un izveidota Atvērtā Pirmkoda iniciatīva (OSI - Opensource initiative), kura kalpoja kā vienota organizācija atvērtā pirmkoda programmatūras jautājumu risināšanai, kam uzticējās gan hakeri, gan biznesa un valdību pārstāvji.

Linux nav vienīgā atvērtā pirmkoda operētājsistēma mūsdienās (vēl var minēt dažādas BSD, DOS u.c.) un atvērtā pirmkoda programmas pastāv praktiski visām izplatītākajām operētājsistēmām (arī Windows).

Diemžēl Latvijas skolās lielākoties par šādām lietām nemāca, un pat augstākajās mācību iestādēs un valsts institūcijās izmanto praktiski tikai MS Windows produkciju, lai gan bieži brīvās programmatūras izmantošana tiek uzskatīta par valsts suverenitātes un brīvības izpausmi, nemaz nerunājot par iespējamo līdzekļu ietaupījumu un universitāšu studentu labāku datorlietošanas iemaņu apguvi.

Hakeris vai krakeris?

Hakeris (angl. hacker) - programmētājs, kas ir sasniedzis augstu meistarības līmeni un gūst gandarījumu veicot sarežģītus tehniskus trikus, lai risinātu programmēšanas problēmas tā parādot savas zināšanas, atjautību un spējas.

Krakeris (angl. cracker) - cilvēks, kurš izmanto savas programmēšanas un datorsistēmu zināšanas, lai veiktu ļaunprātīgas darbības, piem., ielaužoties citu cilvēku datorsistēmās un zogot informāciju vai graujot sistēmu. Daļa no šiem cilvēkiem nodarbojas vienkārši ar vandālismu.

Tātad cilvēki, kas raksta atvērtā pirmkoda programmatūru ir hakeri (rada), bet cilvēki, kas ielaužas datorsistēmās ir krakeri (lauž).

Atvērtais pirmkods un likums

Atvērtā pirmkoda programmatūru jebkurš var lietot, modificēt un izplatīt uz tādiem pašiem nosacījumiem, kā to saņēma. Lai šī brīvība neradītu dažādus pārpratumus un tās neatbilstošu izmantošanu, tad arī atvērtā pirmkoda programmatūra ir licencēta. Atšķirībā no maksas un slēgta pirmkoda programmām, par šo licenci nav jāmaksā un tā nosaka, ka kopā ar programmu ir pieejams arī tās izejas kods.

Pastāv dažāda veida atvērtā pirmkoda licences, bet par zināmākajām varētu uzskatīt GPL (General Public Licence) un LGPL (Lesser GPL).


Tālākai lasīšanai

*) Linux centrs: linux.edu.lv
*) Vikipēdija: http://lv.wikipedia.org/wiki/Atvērtais_pirmkods
*) Eric Raymond, "Katedrāle un tirgus laukums" - iesaku izlasīt :)

Reinis

edit post

2 Atbildēt uz "Atvērtā pirmkoda iniciatīva"

  • Anonīms on 2009. gada 24. janvāris 11:16

    Tu taču esi Hakeris! :D

     

    Reinis on 2009. gada 12. februāris 13:25

    Nē! Es esu Reinis :D