Literatūras vākšana tīmeklī

Publicēts 2009-02-28, etiķetes: , ,

Viena no lietām, kas noteikti nodarbina studentus (un varbūt arī cilvēkus, kas jau kādu laiku strādā) ir dažādu materiālu vākšana internetā. Vispirms tas parādās pie referātu un pēc tam arī pie kursa darbu un diplomdarbu rakstīšanas. Vismaz man šī nodarbe izpaužas tā, ka vairumu materiālu sameklēju dažādās interneta lapās, tad vēl dažus rakstus no žurnāliem un atkarībā no nepieciešamības tiek izmantotas arī grāmatas.

Kad tie materiāli ir apzināti, tad vēl atliek tos sašķirot un izvērtēt, kas no tā ir izmantojams. Nesen uzgāju pāris programmas, kas šo procesu atvieglo, strukturējot pašu informācijas vākšanu un savāktos materiālus. Pareizāk sakot, tās nav vis programmas, bet gan papildinājumi interneta pārlūkprogrammai FirefoxFoxmarks un Zotero.

Foxmarks palīdz organizēt Firefox grāmatzīmes, ja tiek izmantoti vairāki datori. Ar tā palīdzību ir iespējams uzturēt rūpīgi veidoto un organizēto grāmatzīmju bibliotēku saskaņotu ar visiem izmantotajiem datoriem. Es to izmantoju, lai sinhronizētu grāmatzīmes starp manu portatīvo datoru un personālo datoru. Reāli tas nozīmē, ka, ja es vienā datorā esu saglabājis kādu grāmatzīmi, tad man tā automātiski kļūst pieejama arī uz otra datora. Daudzu grāmatzīmju gadījumā tas ir neatsverams palīgs. Lielākais mīnuss varētu būt tas, ka Foxmarks nav atvērtā pirmkoda programmatūra.

Zotero [zoh-TAIR-oh] savukārt iet vēl soli uz priekšu. Tas piedāvā gan saglabāt saites uz interneta lapām, gan arī kārtot tās mapēs (atbilstoši tēmām u.tml.), pievienot atslēgas vārdus vieglākai meklēšanai, bet tas ļauj arī saglabāt interneta lapu uz datora tādu, kā tā izskatās dotajā mirklī, pievienot piezīmes un pat pievienot piezīmes tieši saglabātajā lapā, kā arī eksportēt citācijas izmantošanai citās programmās. Zotero parasti pa kājām nemaisās, bet tā ikona mierīgi sēž statusa joslā. To aktivizējot, tas atver paneli aptuveni trešdaļas augstumā no pilna loga un to ir iespējams atvērt arī pa visu lapu vieglākai rediģēšanai.

Zotero panelis ir sadalīts vertikāli trīs daļās. Kreisajā pusē ir iespējams organizēt mapes (projektus), centrālajā daļā ir apskatāms iezīmētās mapes saturs (saglabātās lapas, saites uz interneta lapām un failiem uz datora, piezīmes u.t.t.), bet labajā daļā ir redzamas konkrēta objekta detaļas (piezīmes, atslēgas vārdi u.c.). Tas ir viegli apgūstams un tā mājas lapā pat ir pieejamas videopamācības.

Līdzīgi kā Foxmarks, arī Zotero nākamā versija piedāvās bibliotēkas sinhronizēšanu starp vairākiem datoriem un dažādas organizēšanas iespējas.

Zotero ir atvērtā pirmkoda projekts, kura galvenie izstrādātāji ir George Mason Universitātes Vēstures un Jauno masu saziņas līdzekļu centrs (Center for History and New Media at George Mason University), un šo darbu finansiāli atbalsta Savienoto Valstu Muzeju un Bibliotēku servisu institūts (United States Institute of Museum and Library Services), Andrew W. Mellon fonds (the Andrew W. Mellon Foundation), un Alfred P. Sloan fonds (the Alfred P. Sloan Foundation).

Zotero iespējams iegūt Firefox papildinājumu lapā nospiežot saiti "Add to Firefox" (vai arī Zotero mājas lapā). Līdzīgā veidā var iegūt arī Foxmarks.

Te vēl jāpiebilst, ka šī programmatūra ir izmantojama Windows, Linux un Macintosh vidēs, turklāt Foxmarks ir pieejams arī interneta pārlūkprogrammām IE un Safari.


edit post

Molekulu pieraksts datorā

Publicēts 2008-09-06, etiķetes: ,

Ķīmijai attīstoties un padziļinoties zināšanām par ķīmisko savienojumu struktūru, radās nepieciešamība attēlot to uz papīra. Tam tika izdomāti dažādi savienojumu pieraksta veidi. Molekulas struktūras grafiskais pieraksts jeb struktūrformulas ļāva iegūt labāku izpratni par vielu uzbūvi un to ķīmisko dabu.

Attīstoties datoriem, radās nepieciešamība pierakstīt šo informāciju datoram saprotamā veidā. Mūsdienās pastāv daudzi molekulu pieraksta formāti, kas šo uzdevumu veic mazliet atšķirīgā veidā un dod iespēju pierakstīt dažāda veida informāciju atkarībā no tam paredzētā lietošanas veida un nolūka.

Šeit es nedomāju sniegt detalizētu informāciju par visiem ķīmijas failu formātiem, bet gan dot vispārīgu pārskatu par to galvenajiem tipiem un pamatprincipiem, kas ievēroti tos veidojot, kā arī minēšu dažus biežāk sastopamos failu formātus un došu norādes tālākai lasīšanai.

Ķīmisko savienojumu pieraksts datorā parasti balstās uz dažiem galvenajiem principiem. Kā svarīgākos pieraksta tipus varētu minēt:
Pirmais pieraksta veids tieši nesniedz nekādu informāciju par molekulas telpisko uzbūvi, taču dod pietiekami, lai pateiktu, kas tā ir par molekulu un uzkonstruētu tās struktūrformulu. Šajā gadījumā parasti tiek norādīts atomu tips, to saistība un dažos gadījumos arī saistības veids. Kā piemērus ķīmijas failu formātiem, kas izmanto šo veidu, varētu minēt SMILES, OpenSMILES, Sybyl line notation un InChI.

Otrā tipa pieraksti ir visplašāk izplatītie un tiek izmantoti lielākajā daļā ķīmisko formātu. Šeit tiek pierakstīts katra atoma tips, koordinātes (iekšējās vai ārējās) un to savstarpējā saistība, kā arī vesela rinda citas informācijas atkarībā no konkrētā faila formāta un tam paredzētā lietojuma. Šeit kā piemērus varētu minēt Molfile un PDB.

Trešā tipa formāti ir balstīti uz XML un te kā piemēru varētu minēt CML (Chemical Markup Language), kas ir galvenais šāda tipa formāts ķīmijā un uzskatāms par standartu ķīmiskās informācijas (struktūru, reakciju, spektru u.c.) apmaiņai.

Dažādas ķīmijas programmas atbalsta dažādus failu formātus, tāpēc bieži nepieciešams pārvērst failus no viena formāta uz citu. Šim nolūkam var izmantot jau manis aprakstīto programmu OpenBabel. Kā standarta formātus, kurus atbalsta vairums ķīmijas programmu varētu minēt Molfile un PDB.

Turpmākajos rakstos es aprakstīšu vairāk katru no minētajām failu formātu grupām.


edit post

JabRef un citāciju organizēšana

Publicēts 2008-08-19, etiķetes: , ,

Kā jau daždien tas gadās ikdienas steigā ātri vien ierokamies darbu gūzmā. Zinātnieku un studentu gadījumā tas bieži vien ir saistīts ar lieliem literatūras kalniem, kuros ātri vien var apmaldīties un aizmirst, kas jau ir izskatīts un kuras bija vērtīgākās publikācijas konkrētai tēmai, tāpēc nepieciešama kāda sistēma, kas ļautu šo informāciju organizēt. Tāda sistēma ir atsauču organizēšana (angl. reference management).

Atsauču organizēšanas programmas ļauj izveidot literatūras (žurnālu rakstu, grāmatu, prezentāciju u.c.) sarakstu jeb datu bāzi, ko iespējams izmantot bibliogrāfijas (izmantotās literatūras) sarakstu veidošanai referātos, kursa darbos, publikācijās kā arī grāmatās. Turklāt kopā ar attiecīgo programmatūru tas nodrošina automātisku atsauču numurēšanu tekstā un atbilstošu literatūras saraksta izveidi, kas lielā mērā atvieglo publikāciju rakstīšanu, jo nav jāseko līdzi un jāmaina visi numuri ikreiz, kad tiek ielikta jauna atsauce, vai pamainīta nodaļu kārtība. Vēl viens ieguvums ir tas, ka citācijas tiek automātiski formatētas atbilstoši norādītajām veidnēm. Zinātnisko žurnālu izdevniecības reizēm pašas izplata šādas veidnes, kas ļauj formatēt rakstus atbilstoši konkrētā izdevuma prasībām. Tas ļauj izvairīties no daudzām sīkām tipogrāfiskām kļūdām, kā arī ietaupīt laiku.

Analoģiskas datu bāzes, kuras cenšas savākt visu kādā nozarē vai žurnālā publicēto rakstu atsauces, sauc par bibliogrāfijas datu bāzēm. Bibliogrāfijas datu bāzes pretēji atsauču datu bāzēm, kas paredzētas individuālai lietošanai vai lietošanai kolektīva ietvaros, ir ļoti apjomīgas un parasti tiek izvietotas speciāli tam paredzētos serveros. Kā piemēru šeit var minēt Medline datu bāzi, kur apkopoti bibliogrāfiskie dati no medicīnas, farmācijas, šūnu bioloģijas, bioķīmijas un citām nozarēm, un informāciju šajā datu bāzē iespējams meklēt izmantojot, piemēram, PubMed meklēšanas servisu. Informāciju par mazu organisko molekulu bioloģiskajām aktivitātēm var atrast izmantojot PubChem.

Atsauču organizēšanas programmas ļauj veidot katras atsauces aprakstu atbilstoši citējamās literatūras tipam un ievadīt tam raksturīgo informāciju. Tā pat iespējams pievienot atslēgas vārdus, piezīmes utt.

Viena no šādām atsauču organizēšanas programmām ir JabRef. Tā ir rakstīta programmēšanas valodā Java, kas, kā jau esmu iepriekš minējis, ļauj tai darboties jebkurā operētājsistēmā, kur ir pieejama Javas virtuālā mašīna (Windows, Linux, Macintosh u.c.). Citāciju datu bāze tiek glabāta BibTeX formātā, kas uzskatāms par vienu no standarta formātiem bibliogrāfijas datu bāzēm un ļauj tiešā veidā šīs atsauces ievietot rakstu darbos, ja tiek izmantota TeX dokumentu sagatavošanas sistēma. Arī vairāki teksta redaktori (tai skaitā OpenOffice Writer, MS Word) atbalsta BibTeX failu izmantošanu un/vai atsauču organizēšanu dažādās pakāpēs, taču līdz šim mana pieredze ir bijusi tāda, ka to iespējas vēl ir visai ierobežotas un pati lietošana - neparocīga, lai gan pie tā tiek strādāts un sagaidāms, ka situācija krietni uzlabosies.

Jabref, protams, nav vienīgā šāda veida programma. Ir pieejams vesels saraksts ar tām, kur daudzas turklāt ir atvērtā pirmkoda projekti, ar dažādu tehnisko risinājumu un operētājsistēmu atbalstu. Sīkāku aprakstu atstāšu citai reizei, kad būs vairāk laika. ;)


edit post

OpenBabel

Publicēts 2007-11-01, etiķetes: , ,

Šoreiz vēlos pastāstīt mazliet par atvērtā pirmkoda projektu OpenBabel, kas aizsākās kā ķīmijas failu formātu konvertēšanas rīks un izauga par ķīmijas informātikas algoritmu bibliotēku, ko izmantot programmās, lai katram jaunam projektam nebūtu no jauna jāizgudro ritenis.

Sākotnēji tā bija programma Babel, kas spēja pārvērst savā starpā daudzus ķīmijas failu formātus. Šī programma tika plaši un ilgi lietota, un bija labi atzīta. Vēlāk no tās izveidojās OBabel, kas tā arī netika izlaists, taču tas noveda pie OELib, kas bija atvērtā pirmkoda projekts un brīvi pieejams. OELib vēlāk kļuva par OpenBabel (C++) un JOELib (Java), bet OpenEye izveidoja paši savu komerciālo bibliotēku OEChem.

OpenBabel tiek izmantots vairākās ar ķīmiju saistītās atvērtā pirmkoda programmās, piem., GChemPaint, GNOME Chemistry Utils, Ghemical u.c., kas gan pamatā tika veidotas Linux videi, taču daļa no tām ir pieejamas arī Windows vidē. Tas joprojām galvenokārt kalpo par ķīmijas failu formātu konvertēšanas, kā arī dažādas ķīmijas informācijas uzglabāšanas un apstrādes rīku (atomi, molekulas u.c.). Ir pieejams arī OpenBabel Python modulis, kas ļauj viegli izmantot OpenBabel funkcionalitāti programmās, kas rakstītas Python programmēšanas valodā.

Kā jau minēju, šīs programmas galvenais pielietojums ir ķīmijas failu formātu savstarpējā konvertēšanā. To izmanto galvenokārt modelēšanā un vispār darbā ar atomu sistēmu 3D struktūrām. Tas ir vajadzīgs tāpēc, ka daudzas modelēšanas un mazākā mērā arī vizualizācijas programmas atpazīst un var izmantot tikai vienu vai dažus noteiktus failu formātus, kas ne vienmēr ir tas pats, ko izmanto programma, kurā, piemēram, tiek zīmētas šīs struktūras (protams, ja vien pats OpenBabel vai tam ekvivalenta biblioteka nav iekļauta šādā programmā).

OpenBabel ir pieejams Linux, Macintosh un Windows vidēm. Grafiskais lietotāju interfeiss (GUI) pieejams Macintosh (iBabel) un Windows vidēm.
Instalācija ir vienkārša - to iespējams uzinstalēt tā pat kā jebkuru citu standarta programmu atbilstošajai operētājsistēmai.


edit post
Šajā rakstā gribu pastāstīt par atvērtā pirmkoda programmu Jmol. Tā ir molekulu telpiskās struktūras vizualizācijas programma, kas rakstīta programmēšanas valodā Java. Tās iespēju klāstā ietilpst dažādu failu formātu, kvantu ķīmijas aprēķinu programmu datu lasīšana kā arī daudzstruktūru failu animēšana.

Tā kā Jmol ir rakstīts programmēšanas valodā Java, tad to iespējams darbināt uz visiem datoriem, kas atbalsta Javu un mūsdienās tas nozīmē praktiski ikvienu datoru. Programmas, kas rakstītas izmantojot Javu tiek kompilētas (pārtulkotas Java baitkodā), bet atšķīrībā no daudzām citām programmēšanas valodām, kur kompilētā programma darbojas tikai uz vienas noteiktas procesora arhitektūras, Java programmas nepārkompilējot darbojas uz visām sistēmām, jo tās baitkodu interpretē Javas Virtuālā Mašīna (JVM), kas katrā datorā lieto vienu un to pašu valodu.

Prakstiski katrs mūsdienu interneta pārlūks arī atbalsta Javu, tāpēc Jmol ir iespējams ievietot interneta lapās un lietotājs var apskatīt vizualizēto failu kā arī interaktīvi darboties ar modeli neveicot nekādu papildus programmatūras instalēšanu (Jmol programmiņa tiek lejupielādēta automātiski un darbojas, kamēr apskatāt konkrēto tīkla lapu). Šādu lapu piemērus var apskatīt Jmol demonstrācijas lapās vai, piemēram, Oksfordas Universitātes lapā "Molecule of the Month".

Tā pat Jmol iespējams izmantot citās programmās, lai vizualizētu molekulu struktūras. Kā vienu šādas programmas piemēru var minēt Bioclipse, kas tiek veidots kā ķīmijas un bioinformātikas darbagalds daudzu uzdevumu automatizēšanai. Šīs programmas 3D modeļu vizualizācijas funkcijas pilda Jmol. Līdzīgi ir iespējams veidot pašiem savas programmas.

Kā jau atvērtā pirmkoda projektā, arī Jmol ir sava izstrādātāju un lietotāju sabiedrība, kas uztur un virza tā attīstību. Tajā pastāv vairākas grupas, kas saistītas ar dažādām ķīmijas un bioķīmijas nozarēm. Lai gan Jmol spēj attēlot jebkuras molekulas telpisko struktūru, kamēr tā ir rakstīta kādā no ķīmijas failu formātiem, ko tas atbalsta (xyz, pdb, mol u.c.), tomēr savas atšķirības ikdienas lietošanā pastāv starp organisko ķīmiju, bioķīmiju, kristalogrāfiju vai kvantu ķīmijas aprēķiniem. Tā piemēram ja organiķiem svarīgāki būtu atomu attālumu un saišu leņķu mērījumi, tad bioķīmiķiem svarīgāk būtu vizualizēt proteīnu otrējo struktūru, bet kvantu ķīmiķi izmantotu Molekulāro Orbitāļu (MO) vizualizāciju. Tad arī atkarībā no šo grupu aktivitātes un pamata izstrādātāju interesēm kādas iespējas tiek vairāk attīstītas kā citas.

Pēdējos Jmol laidienos galvenokārt pateicoties sadarbībai ar MOPAC un GAMESS lietotāju kopienām papildus uzmanība ir tikusi pievērsta Jmol kvantu ķīmijas datu vizualizēšanas funkcijai. Tā pat uzlabota programmas lietojamība un skriptu rakstīšanas iespējas.

Jmol vēsture

Sākotnēji Jmol tika veidots kā programmas XMol (molekulu vizualizācijas programma, kas tika izstrādāta Minesotas Superkompjūteru centrā) aizstājējs. Lai gan XMol tika izplatīts, tā pirmkods nebija pieejams un pati programma netika uzturēta un novecoja. Tas savukārt radīja nepieciešamību pēc līdzīgas programmas. Jmol projekta aizsācējs Dan Gezelter izvēlējās to padarīt par atvērtā pirmkoda projektu, lai Jmol nepiemeklētu XMol liktenis. Lai gan Jmol vēl nav pilnībā visa XMol funkcionalitāte, tomēr dažos aspektos Jmol to ir krietni apsteidzis. Nākotnē Jmol tiks iekļautas aizvien komplicētākas un spēcīgākas funkcijas.

Jmol tika aizsākts kā OpenScience projekts, kas veltīts atvērtā pirmkoda zinātnei paredzēto programmu rakstīšanai un izdošanai.

Vēlāk projekta vadību pārņēma Bradley A. Smith, kurš paveica lielu darbu projekta un pašas programmas attīstībā. Viņa vadībā izveidojās Jmol lietotāju grupa, kas deva papildus ieguldījumu projekta attīstībā.

2002. gada beigās par projekta līderi kļuva Egon Willighagen un tika uzsākts darbs pie Jmol iekļaušanas ķīmijas programmatūras izstrādes komplektā (The Chemical Development Kit), ko Dan, Egon un Christoph Steinbeck bija plānojuši jau 2000. gada septembrī.

Tāpat 2002. gada beigās projektam pievienojās Miguel Howard, kura mērķis bija palīdzēt izveidot Jmol par pieņemamu Chime spraudņa aizvietotāju. Viņš vēlāk paveica lielu darbu Jmol attīstībā gan pārtulkojot to spāniski, gan pārrakstot tā 3D grafikas dzinēju, kas ļauj Jmol iztikt bez specializētas grafikas tehnikas (piem., spēcīgas grafiskās kartes), gan pielāgojot programmu daudz lielāku molekulu attēlošanai un uzlaboja jaunu failu formātu atbalsta pievienošanas iespējas.

Jau 2003. gada beigās tika sākts pagarināts testa periods, kura laikā daži Jmol lietotāji visā pasaulē palīdzēja programmas izstrādē testējot, skaidrojot ķīmijas un Chime skriptu principus.

Tā visa rezultātā 2004. gada decembrī tika izdots Chime spraudņa aizstājējs - Jmol versija 10.0, kam 2006. gada aprīlī sekoja uzlabota versija 10.2. 2007. gada februārī tika izdota Jmol versija 11.0, kas iekļāva ievērojamu daudzumu jaunu funkciju.

Kā redzams pēdējos gados Jmol attīstība ir bijusi visai strauja un pašlaik tas ir lietojams molekulu modeļu vizualizācijai, prezentāciju veidošanai kā arī papildus informācijas (atomu attālumu, saišu leņķu u.c.) iegūšanai. Katrā ziņā jauniem projektiem noteikti būtu iesakāms izmantot Jmol.


edit post

Ievads

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

Pēdējā laikā risinot dažādas ķīmijas problēmas diezgan daudz izmantoju datoru. Tā kā skolā un universitātē informātikas stundās esmu ticis iepazīstināts tikai ar populārākajām Windows® biroja programmām, tad nācās pašam meklēt un iepazīties ar programmām, ko izmantot tieši ķīmijā. Tāpēc vēlējos izveidot resursu latviešu valodā, kas atvieglotu šādus meklējumus.

Sāku par to interesēties, jo parādījās interese par kvantu ķīmijas aprēķiniem un tā kā uzreiz nekādas programmas nopirkt nevarēju, tad skatījos pēc pieejamajām alternatīvām - bezmaksas un atvērtā pirmkoda projektiem.

Kā izrādās šādu programmu ir diezgan daudz, taču to apgūšana bieži prasa lielāku darbu, kā komerciālā programmatūra. Neskatoties uz to ir atrodamas daudzas programmas, kas spēj ļoti labi veikt savu uzdevumu un bieži ir elastīgākas par komerciālajām programmām.

Atvērtā pirmkoda un brīvās programmas ir īpaši piemērotas zinātnisko darbu veikšanai, jo tad praktiski ikvienam, kurš lasa Jūsu publikācijas vai rezultātus ir iespēja vienkārši lejupielādēt attiecīgo programmu no interneta, nemaksājot lielas naudas summas, un atkārtot aprēķinus vai eksperimentus. Tas veicina zinātnieku savstarpējo sadarbību un zinātnes attīstību kopumā.

Šajā blogā centīšos dot ieskatu atvērtā pirmkoda programmatūras pasaulē, galveno uzsvaru liekot uz ķīmijā izmantojamo programmatūru.


edit post

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