1 / 27

Laisva, nemokama ir atvirojo kodo programin ė įranga

Laisva, nemokama ir atvirojo kodo programin ė įranga. Tomas Bla žauskas KTU, 2007. Nagrin ėjamos temos. Laisvos , nemokamos ir atvirojo kodo programinės įrangos sąvokos; Atvirojo kodo licencijos ir jų skirtumai; Atvirojo kodo programų saugyklos ir atvirojo kodo programų paieška jose.

dixon
Télécharger la présentation

Laisva, nemokama ir atvirojo kodo programin ė įranga

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laisva, nemokama ir atvirojo kodo programinė įranga Tomas BlažauskasKTU, 2007

  2. Nagrinėjamos temos • Laisvos, nemokamos ir atvirojo kodo programinės įrangos sąvokos; • Atvirojo kodo licencijos ir jų skirtumai; • Atvirojo kodo programų saugyklos ir atvirojo kodo programų paieška jose.

  3. Įvadas • “Laisva”, “nemokama” ir “atvirojo kodo” programinė įranga turi vieną bendrą dalyką – ja galima naudotis nemokamai, tačiau šios sąvokos turi daug skirtumų. • Skirtumai tarp šių sąvokų neturi didelės reikšmės tol, kol vartotojui pakanka naudoti tokią programinę įrangą, kokia ji yra teikiama. Atsiradus poreikiui modifikuoti ir taikyti programinę įrangą savuose sprendimuose, skirtumai tarp atskirų licencijų tipų įgauna didesnę reikšmę. • Licencijų tipai gali plačiai įtakoti programinės įrangos pasirinkimą.

  4. Laisva programinė įranga (1) • Laisva programinė įranga pasaulyje suprantama dvejopai: laisva nuo apmokestinimo (ši samprata plačiai paplitusi tarp programinės įrangos vartotojų) ir suteikianti naudojimo laisvę programinė įranga. • Kalbant apie naudojimo laisvę suteikiančią programinę įrangą, bus naudojamas terminas „laisva programinė įranga“, o laisva nuo apmokestinimo programinė įranga bus įvardinama kaip „nemokama programinė įranga“. Pav. 1: Naršyklės „Opera“ pagrindinis langas

  5. Laisva programinė įranga (2) • Laisva programinė įranga, kaip ją apibrėžia FSF (Free Software Founation) organizacija, yra programinė įranga, kurią galima kopijuoti, tyrinėti, modifikuoti ir platinti be apribojimų. • Laisva programinė įranga turi tenkinti tokius keturis principus (arba užtikrinti tokias keturias „laisves“): • Laisvė naudotis programa (vykdyti programą) bet kuriuo tikslu (laisvė 0); • Laisvė tyrinėti ir modifikuoti programą pritaikant ją savo reikmėms (laisvė 1); • kopijuoti ir platinti programą (laisvė 2); • Laisvė tobulinti programą ir išleisti šiuos patobulinimus į viešumą (laisvė 3).

  6. Laisva programinė įranga (3) Programinės įrangos licencijos pasižymi tokiomis apibendrintomis savybėmis:

  7. Laisva programinė įranga (4) • Išskiriami trys pagrindiniai laisvos programinės įrangos tipai: • Programinė įranga, kuriai taikomos Copyleft nuostatos (tarp kurių žinomiausia licencija yra GNU GPL). • Programinė įranga teikiama su BSD tipo licencijomis. • Viešos nuosavybės programinė įranga.

  8. Nemokama programinė įranga • Nemokama programinė įranga (freeware) yra nuosavybės teisėmis apsaugota programinė įranga, kuria nemokamai leidžiama naudotis neribotą laikotarpį. • Nemokamos programinės įrangos kūrėjai kartu su programine įranga neteikia programos išeitinių tekstų. • Tuo siekiama išlikti vieninteliais programinės įrangos autoriais, bei išlaikyti savo rankose tolesnę programinės įrangos kūrimo kryptį. • Nustojus kurti nemokamą programinę įrangą, jos tobulinimas dažnai perleidžiamas kitiems programuotojams nemokamos programinės įrangos teisėmis arba pateikiami išeitinius tekstus atvirojo kodo bendruomenei (tai yra, tampa laisva programine įranga).

  9. Atvirojo kodo principai (1) Remiantis atvirojo kodo apibrėžimu (Open Source Definition, OSD), atvirasis kodas reiškia ne tik prieigą prie išeitinio kodo. Atvirojo kodo programinės įrangos platinimo sąlygos turi atitikti šiuos kriterijus: • Laisvas platinimas Licencija neturi uždrausti kam nors parduoti ar perduoti programinės įrangos kaip po programinės įrangos paketo dalies, kurią sudaro programos iš kelių skirtingų šaltinių. Licencija neturi reikalauti honoraro ar kokio kito mokesčio už tokį pardavimą. • Išeitinis kodas Programa privalo turėti išeitinį kodą bei turi leisti platinimą išeitiniu kodu, o taip pat sukompiliuota forma. Pav. 1: Naršyklės „Opera“ pagrindinis langas

  10. Atvirojo kodo principai (2) • Išvestiniai darbai Licencija turi leisti atlikti modifikacijas bei kurti išvestinius darbus, o taip pat turi leisti tuos darbus platinti su tokia pat licencija kaip ir išeitinis kodas. • Autoriaus išeitinio kodo neliečiamumas Licencija gali uždrausti platinti modifikuotą išeinamajį kodą, tiktai tuo atveju, jei ji leidžia platinti originalų kodą kartu su pataisymų failais (patches), kurie leistų modifikuoti galutinį produktą kompiliacijos metu. Licencija gali reikalauti, kad modifikuoti produktai turėtų kitokį pavadinimą ar versijos numerį, nei autoriaus originalus produktas. • Jokios diskriminacijos prieš asmenis ar grupes Licencija neturi diskriminuoti jokio asmens ar asmenų grupės.

  11. Atvirojo kodo principai (3) • 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. • Licencijos platinimas Teisės ir pareigos apibrėžtos licencijoje, turi liesti visus, kuriems yra išplatinama programinė įranga ar jos išeitinis kodas. Licencija neturi būti platinama su kokia nors kita papildoma licencija, kurią būtų privaloma vykdyti arba su ja sutikti. Pav. 1: Naršyklės „Opera“ pagrindinis langas

  12. Atvirojo kodo principai (4) • Licencija neturi būti specifinėproduktui Teisės priskirtos programai neturi priklausyti nuo to ar ji yra programinio paketo (distribucijos) dalis. Visos šalys, kurioms programa yra išplatinta turi gauti tokias pačias teises, kaip ir tie, kurie gauna programą kartu su visu programiniu paketu. • Licencija neturi riboti kitos programinės įrangos Licencija neturi riboti programinės įrangos platinamos kartus su licencijuojamomis programomis. Pavyzdžiui, licencija neturi reikalauti, kad visa programinė įranga platinama toje pačioje laikmenoje privalėtų būti atvirojo kodo. • Licencija turi būti neutrali technologijų atžvilgiu Nei viena licencijos sąlyga neturi priklausyti nuo individualios technologijos ar naudojamos sąsajos tipo.

  13. GNU bendroji viešoji licencija (GPL) • GNU Bendra Viešoji Licencija (angl. GNU General Public License arba GPL) yra laisvosios programinės įrangos licencija, kuri buvo sukurta GNU projektui, šiuo metu tai viena populiariausių atvirojo kodo licencijų. • GNU projektas buvo inicijuotas 1984m., kurio tikslas buvo sukurti laisvą Unix šeimos operacinę sistemą. Dabar GNU programinė įranga labai paplitusi ir dažnai naudojama: Unix bei Linux operacinės sistemos, įvairios taikomosios programos - The Gimp (piešimo programa), OpenOffice.org (biuro programų paketas) ir daugelis kitų.

  14. GPL licencijos aspektai • Pagrindiniai GPL licencijos aspektai: • Kiekvienas gali platinti originalius išeities kodus. Kiekvienoje kopijoje būtina įtraukti atitinkamus garantijos nebuvimo ir autorinių teisių įspėjimus. Galima imti pinigus už fizinį kopijos perdavimą bei garantinį aptarnavimą. • Kiekvienas gali taisyti pagal savo poreikius išeities kodus ir lygiai taip pat platinti savo pakeistą versiją (nurodant keistuose failuose autorių atlikusį keitimus ir keitimų datas): • Kiekvienas gali platinti programą išeities tekstų ir vykdomųjų programų forma, įsipareigodamas paprašius pateikti išeities kodus (siūlymas apie išeities tekstus pateikimą esant reikalui turi būti įtrauktas į platinamą paketą). Pav. 1: Naršyklės „Opera“ pagrindinis langas

  15. GPL licencijos aspektai • Pagrindiniai GPL licencijos aspektai (tęsinys): • Draudžiama kopijuoti, modifikuoti, licencijuoti ar platinti kitaip, nei numatyta licencijoje. • Programos modifikavimo metu licencija negali būti pakeista. • Licencija nesuteikia jokios garantijos - visą riziką dėl programos naudojimo prisiima kiekvienas naudotojas asmeniškai. • Jei norima įtraukti programos dalis į kitą laisvą programinę įrangą platinamą pagal kitą licenciją, siūloma kreiptis į įtraukiamų dalių autorius prašant jų sutikimo.

  16. GNU laisvoji viešoji licencija (LGPL) • LGPL yra laisvos programinės įrangos licencija publikuota FSF. Ji buvo sukurta ieškant kompromiso tarp griežtų Copyleft tipo licencijų (kaip GNU GPL) ir paprastesnių BSD tipo licencijų leidžiančių laisvesnį laisvos programinės įrangos panaudojimą. • LGPL licencija buvo sukurta turint omenyje programinių bibliotekų laisvesnį naudojimą, kadangi GPL licenciją turinčios bibliotekos negali būti panaudotos uždaro kodo komerciniuose projektuose. • Pagrindinis skirtumas tarp GPL ir LGPL licencijų yra tas, kad pastaroji gali būti naudojama programų teikiamų ne (L)GPL licencijų pagrindu. Pav. 1: Naršyklės „Opera“ pagrindinis langas

  17. LGPL licencijos pagrindiniai aspektai • LGPL licencijos pagrindiniai aspektai: • LGPL licenziją turinčią biblioteką galima naudoti uždaro kodo projektuose tol, kol šie projektai naudoja nepakeistą bibliotekos versiją. LGPL licenzijoje nurodyta, jog bet kuris asmuo bet kada savo kopijos licenziją gali pakeisti į GPL. • LGPL licenzija vis dar reikalauja, jog su ją naudojančiu uždaru kodu prireikus būtų galima sujungti naujesnę suderinamą šios bibliotekos versiją. • LGPL taip pat reikalauja palikti vartotojui teisę pačiam aiškintis sukompiliuotos uždaro kodo programos veikimą, atlikti atvirštinę inžineriją ir savo darbo vietoje naudoti pakeistas tokios programos versijas. • Kaip kraštutinė priemonė kai kuriais atvejais gali būti naudojama sujungimo (linking exception) išimtis. Sujungimo išimtis anksčiau minėtų reikalavimų nekelia.

  18. BSD licencijų šeima • BSD licencija - viena iš licencijų skirtų atviro kodo programinei įrangai. Pradžioje ji buvo naudojama Berklio Programinės įrangos Unix tipo operacinės sistemos pakete. Iš to ir kilo licencijos pavadinimas. • BSD licencija yra liberalesnė už GPL – ji nedraudžia naudoti programinio kodo uždaruose komerciniuose projektuose. BSD licencija reikalauja tik naujos programinės įrangos licencijoje išsaugoti originalios programos autorius ir neskelbti jų vardo naujo gaminio reklamoje be autorių sutikimo. • Šiuo metu egzistuoja kelios plačiai paplitę originalios BSD licencijos modifikacijos - NetBSD, FreeBSD, OpenBSD, Xiph.Org Foundation licencijos.

  19. Atvirojo kodo programų saugyklos • Egzistuoja specializuoti portalai skirti atvirojo kodo programų saugojimui, platinimui ir kūrimui bendradarbiaujant (toliau šie portalai bus vadinami saugyklomis). • Šie portalai, be įrankių skirtų atvirojo kodo programų kūrimui bendradarbiaujant, kaupia įvairią statistiką apie projektus, registruoja aktyvumą. Pagal teikiamus rodiklius galima susidaryti nuomonę apie atvirojo kodo kokybę, brandą bei tinkamumą konkrečiam projektui.

  20. Atvirojo kodo programų saugyklos • Populiariausios yra šios atvirojo kodo programų saugyklos: • SourceForge. Didžiausia ir plačiausiai žinoma atvirojo kodo projektų saugykla, prižiūrima VA Software kompanijos. Turi apie pusantro milijono registruotų vartotojų ir talpina daugiau nei 140 tūkstančių projektų. Be programų kūrimo palaikymo priemonių teikia projekto aktyvumo, srauto statistiką. • GNU Savannah.FSF projektas skirtas išskirtinai laisvos programinės įrangos kūrimui ir palaikymui. Naudojama ta pati programinė įranga, kuri taikoma SourceForge saugykloje. Taikoma griežtesnė projektų kontrolė, projektų teikėjai turi nurodyti kuri laisvos programinės įrangos licencija taikoma jų projektui. • BerliOS. Įkurtas FOKUS (Atvirų komunikacijų Fraunhoferio institutas). Pagrinde skirtas atvirojo kodo programinės įrangos kūrimui. Be programų kūrimo palaikymo priemonių teikia projekto aktyvumo, srauto statistiką.

  21. Atvirojo kodo programų saugyklos • Populiariausios yra šios atvirojo kodo programų saugyklos (tęsinys): • GForge. Kaip ir GNU Savannah, GForge projektas atsirado VA Software uždarant išeitinius tekstus (GForge pagrindas – paskutinė atvira VA Linux (tuometinė VA Software) sistemos versija). Be programų kūrimo palaikymo priemonių teikia projekto aktyvumo, srauto statistiką. • Freepository. Išleista kaip atvirojo kodo programinė įranga. Neuždeda jokių licencinių apribojimų projektams. Talpina daugiau nei 12 tūkstančių projektų. Be minėtų saugyklų naudojamos ir kitos paplitusios atvirąjį ir uždarąjį kodą talpinančios saugyklos. Tai – gna.org, Novell Forge, Sarovar, Tigris.org ir neseniai atsiradusi (2006m.) google sistema (Google Code).

  22. SourceForge naudojimas atvirojo kodo paieškai Greitoji paieška Išsamioji paieška

  23. SourceForge naudojimas atvirojo kodo paieškai Paieškos rezultatų lentelė

  24. Projektų rango skaičiavimas SourceForge sistemoje Į rango skaičiavimo formulę įtraukiami tokie statistiniai komponentai: srautas, komunikavimo ir kūrimo aktyvumas. Rangas matuojamas įtraukiant paskutinių septynių dienų duomenis. • Matuojant srautą, vertinama į srautą orientuota statistika: • Kiek kartų vartotojai parsisiuntė programinę įrangą; • Kiek kartų vartotojai atvėrė pagrindinį projekto puslapį; • Kiek kartų vartotojai atvėrė įvairius projekto puslapius. • Matuojant komunikavimą, vertinama į komunikavimą orientuota statistika: • Kaip buvo naudojamas projekto veiklos (Tracker) įrankis; • Kiek pateikta pranešimų projekto diskusijų sistemoje ; • Kiek pateikta pranešimų projekto susirašinėjimo sistemoje. • Matuojant kūrimo aktyvumą, vertinama į programinės įrangos kūrimą orientuota statistika: • Kiek padedama programinės įrangos failų į projekto saugyklą; • Kada buvo išleistas paskutinis failas (naudojant failų publikavimo sistemą); • Kada paskutinį kartą prie sistemos jungėsi projekto administratoriai .

  25. SourceForge statistinių duomenų pateikimas Projekto kaupiamų statistinių duomenų pateikimas grafikais. Paspaudus grafiką, galima gauti išsamesnę informaciją.

  26. Sėkmės! Sėkmės darbe!

More Related