*Kitos reikšmės – Atvirasis kodas (reikšmės).*
**Atvirasis kodas** – programinė įranga, kurios išeitinį kodą galima laisvai studijuoti, tobulinti, kopijuoti ar platinti.

Atviro kodo apibrėžimas
-----------------------

Oficialiai pripažįstama tik versija anglų kalba 1.9  

Pasikeitimų istorija yra čia Archyvuota kopija 2003-11-15 iš Wayback Machine projekto..

### Įžanga

Atvirasis kodas reiškia ne vien galimybę matyti išeitinį kodą, bet taip pat atlikti jame pakeitimus, eksperimentuoti ir dalintis su kitais pakeistais variantais. Atvirojo kodo programinės įrangos platinimas turi sutapti su žemiau esamomis nuostatomis.

### 1. Laisvas platinimas

Licencija nedraudžia kam nors parduoti ar perduoti programinės įrangos kaip programinės įrangos distribucijos dalies, kurią sudaro programos iš kelių skirtingų šaltinių. Licencija nereikalauja honoraro ar kokio kito mokesčio už tokį pardavimą, tačiau nebūtinai privalo šitai drausti. Todėl „nemokama programa" nėra „atviro kodo" sinonimas. Ir uždaro kodo programa gali būti nemokama, jei toks jos verslo modelis (tarkim, gaunant pajamos iš programoje rodomos reklamos).

Mokami automatiniai GPL ir LGPL licencijas turinčių programų atnaujinimai yra dažna su atviru kodu susijusi komercinė veikla.

### 2. Išeitinis kodas

Programa privalo turėti išeitinį kodą bei turi leisti platinimą išeitiniu kodu, taip pat sukompiliuota forma. Jei kažkuri dalis neplatinama su išeitiniu kodu, turi būti aiškiai apibrėžtos galimybės įsigyti atvirąjį kodą apmokant ne daugiau nei motyvuotas kopijavimo išlaidas, arba labiau priimtinai – atsisiunčiant internetu nemokamai. Išeitinis kodas turi būti pateiktas forma, kuria bet koks programuotojas galėtų jį modifikuoti. Tyčinis kodo modifikavimas, kuris suklaidintų programuotoją yra draudžiamas. Tarpinės formos, tokios kaip preprocesoriaus ar transliatoriaus rezultatai yra neleidžiamos.

### 3. Išvestiniai darbai

Licencija turi leisti atlikti modifikacijas bei kurti išvestinius darbus, taip pat turi leisti tuos darbus platinti su tokia pat licencija kaip ir išeitinis kodas.

### 4. Autoriaus išeinamojo kodo neliečiamumas

Licencija gali uždrausti platinti modifikuotą išeinamąjį kodą *tiktai* tuo atveju, jei ji leidžia platinti originalų kodą kartu su pataisymų failais (patches), kurie leistų modifikuoti galutinį produktą kompiliacijos metu. Licencija privalo aiškiai leisti iš modifikuoto išeinamojo kodo sukompiliuotų programų platinimą. Licencija gali reikalauti, kad modifikuoti produktai turėtų kitokį pavadinimą ar versijos numerį, nei autoriaus originalus produktas. GPL, LGPL ir daugelis kitų atviro kodo licencijų modifikuoto išeinamojo kodo platinti nedraudžia, tačiau pakeitimai turi būti dokumentuoti.

### 5. Jokios diskriminacijos

Licencija neturi diskriminuoti jokio asmens ar tam tikros jų grupės.

### 6. Jokių apribojimų panaudojimo sritims

Licencija neturi uždrausti programos naudojimo tam tikroje specifinėje srityje. Pavyzdžiui, licencija negali uždrausti naudoti programos komerciniams tikslams, arba genetinių tyrimų atlikimui.

### 7. Licencijos platinimas

Teisės ir pareigos, apibrėžtos šioje licencijoje, turi liesti visus, kuriems yra platinama programinė įranga ar jos išeitinis kodas. Ši licencija neturi būti platinama su kokia nors kita papildoma licencija, kurią būtų privaloma vykdyti arba su ja sutikti.

### 8. Licencija neturi būti specifinė produktui

Teisės priskirtos programai neturi priklausyti nuo to ar ji yra programinio paketo (distribucijos) dalis. Jei programa yra atskirta nuo programinio paketo ir panaudota ar išplatinta sutinkant su programos licencijos sąlygomis, visos šalys, kurioms programa yra išplatinta turi gauti tokias pačias teises, kaip ir tie, kurie gauna programą kartu su visu programiniu paketu.

### 9. Licencija neturi riboti kitos programinės įrangos

Licencija neturi riboti programinės įrangos platinimo kartus su licencijuojamomis programomis. Pavyzdžiui, licencija neturi reikalauti, kad visa programinė įranga platinama toje pačioje laikmenoje privalėtų būti Atvirojo Kodo (Open-Source).

Kas nėra atviras kodas
----------------------

Kai kurie programinės įrangos gamintojai siekia populiarumo, pateikdami savo programas kaip atvirą kodą, nors jos tokios ir nėra. Dažniausiai pasitaiko tokie pavyzdžiai:

* Sukompiliuota programa platinama nemokamai, tačiau jos išeities kodas (arba esminės šio kodo dalys) lieka gamintojo paslaptis.
* Išeities kodas prieinamas, tačiau licencija draudžia jį bet kaip keisti bei platinti pakeistas versijas.
* Išeities kodą galima keisti tik gavus papildomą gamintojo leidimą.
* Licencija riboja teises prašyti atlygio už originalios ar pakeistos programos platinimą bei garantinį aptarnavimą.

Akivaizdu, jog tokios sąlygos neatitinka pateikto atviro kodo apibrėžimo.

Licencijos
----------

* GPL
* LGPL
* BSD

Renginiai Lietuvoje
-------------------

2002 m. kovo 4d. susitikimo su Eric Steven Raymond vaizdo įrašas (Atviras kodas/Informacija/2002 03 07) 

Susitikimo su vienu žymiausių atviro kodo programų judėjimo ideologu E. S. Raymond stenograma (Atviras kodas/Stenograma/2002 03 04) 

Daugiau žr…

Nuorodos
--------

* Atviras kodas Lietuvai Archyvuota kopija 2018-06-21 iš Wayback Machine projekto.
* Atviras.lt
* VGTU Atvirojo kodo institutas Archyvuota kopija 2014-08-21 iš Wayback Machine projekto.
* www.opensource.org

  

  


|  |  |
| --- | --- |
| **Programų licencijų grupės** |  |
| Atviras kodas  |
Uždaras kodas |
Privatus kodas |
Komercinis kodas |
Laisvoji programinė įranga  |

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| Ž • A • RInformatikos sritys |
| --- |
|  |
| Matematinė bazė | 
Būlio (logikos) algebra • Diskrečioji matematika • Grafų teorija • Informacijos teorija • Tikimybių teorija • Statistika |
|  |
| Teorinė informatika | 
Algoritminė informacijos teorija • Tiuringo mašina • Kriptografija • Algoritmų bei jų sudėtingumo tyrimai • Matematinė logika • Formalios kalbos • Tipų teorija • Rikiavimo algoritmų sudėtingumas |
|  |
| Taikomoji informatika | 
Bioinformatika • Geoinformatika • Ekonominė informatika • Neuroinformatika |
|  |
| Programinė įranga | 
Lygiagretusis programavimas • Programų specifikavimas • Programų patikrinimas • Programavimo technika • Programavimo kalbos • Operacinės sistemos • Kompiliatoriai (leksinė analizė) |
|  |
| Programų inžinerija | 
Optimizavimas • Programų metrikos • Konfigūracijų valdymas • Funkcinis programavimas • Struktūrinis programavimas • Objektinis programų kūrimas • Komponentinis programavimas • Šablonai • Atviras kodas |
|  |
| Duomenų ir informacijos sistemos | 
Duomenų struktūros • Duomenų vaizdavimas • Duomenų suspaudimas • Bylos • Bylų formatai • Informacinės sistemos • Duomenų bazės • Informacijos saugojimas |
|  |
| Skaičiavimo metodologijos | 
Dirbtinis intelektas • Kompiuterinė grafika • Vaizdų apdorojimas • Balso atpažinimas • Modeliavimas • Dokumentų ir teksto apdorojimas • Skaitmeninių signalų apdorojimas |

 |