Įėjimas į atviro teksto programų duomenų bazę

Įvadas
1. Atvirojo teksto programinės įrangos samprata
Laisvas platinimas
Išeities tekstai
Tolimesni darbai
Autoriaus kodo integralumas
Jokios diskriminacijos prieš konkrečius asmenis ar grupes
Jokios diskriminacijos prieš panaudojimo sritį
Licencijos distribucija
Licencija negali būti priklausoma nuo konkretaus produkto
Licencija negali riboti kitų programinių produktų
2. Privalumai ir trūkumai
Programų kūrimo procesas
Vartotojas
Užsakovas
Gamintojas
3. Pagrindinės vystymosi tendencijos
Kertiniai atvirojo kodo judėjimo momentai
Pasisekę projektai bei galimos ateities vystymosi tendencijos
4. Pagrindiniai atvirojo teksto programinės įrangos šaltiniai
Informacijos šaltiniai Internete
Atvirojo teksto programinės įrangos bibliografija
Egzistuojančios atvirojo teksto programinės įrangos duomenų bazės
5. Atvirojo teksto programinės įrangos demonstraciniai pavyzdžiai

Įvadas

Nuo pat kompiuterių atsiradimo pradžios iki aštuntojo dešimtmečio programinė įranga buvo laisvo apsikeitimo objektas, nesaistomas nuosavybės santykiais. Programinės įrangos naudotojų buvo ne daug, dažniausiai – patys programų autoriai, kurie noriai dalinosi savo darbu su kolegomis. Pati programinės įrangos savikaina palyginus su kompiuteriu buvo nedidelė, nes dažniausiai tai būdavo programos pritaikytos konkretiems skaičiavimams. Programinės įrangos rinka buvo labai ribota.

Aštuntajame dešimtmetyje, atsiradus personaliniams kompiuteriams bei padidėjus programinės įrangos paklausai bei sudėtingumui, kompiuterių programinė įranga tampa intelektualios nuosavybės objektu su visais iš to išplaukiančiais apribojimais ir prieštaravimais nusistovėjusiai tradicijai. Atvirojo teksto programinės įrangos judėjimas atsirado kaip pasaulio kompiuterinės bendrijos reakcija į nuosavybinių santykių taikymą kompiuterių programinei įrangai. Nors nuosavybinė programinės įrangos koncepcija yra dominuojanti, tačiau atvirojo teksto programinės įrangos reiškinys egzistuoja jau keliolika metų ir vis stiprėja bei plečiasi. Yra įgyvendinta nemažai sėkmingų atvirojo teksto programinės įrangos projektų, visų pirma Linux, kurie ne tik nenusileidžia nuosavybinei programinei įrangai, tačiau ją lenkia pagal daugelį parametrų. Atsiranda ir sėkmingai konkuruoja nauji verslo modeliai, paremti ne teisių į programinę įrangą monopolizavimu, o kokybiškomis ir profesionaliomis paslaugomis atvirojo teksto programinės įrangos pagrindu.

1. Atvirojo teksto programinės įrangos samprata

Terminai atvirojo teksto ir nemokama programinė įranga dažnai maišomi, tačiau reiškia ne tuos pačius dalykus. Bendrai paėmus nemokama įranga yra tokia įranga, kuri platinama nemokamai, už jos naudojimą nereikia mokėti jokio mokesčio, tačiau išeities tekstas ne visada yra skelbiamas. Vartotojas gauna juodą dėžę, kuria turi pasitikėti arba ne. Atvirojo teksto programos platinamos nemokamai, tačiau kartu su išeities tekstais. Visas atvirojo teksto programinės įrangos judėjimas paremtas idėja, kad programos kuriamos neslepiant juose realizuojamų algoritmų bei metodų ir pačiame kūrimo procese gali dalyvauti visi norintys.

Taigi, terminas „atvirojo teksto“ reikštų laisvą priėjimą prie programinės įrangos išeities teksto, tačiau ne vien tai. Kaip ir kitos programinės įrangos rūšys, programos atviru tekstu yra reguliuojamos licencijų, kurios nurodo, kaip galima naudotis konkrečiu produktu. Išvardinsime, kokiomis savybėmis turi pasižymėti atvirojo teksto programinė įranga bei jos licencija:

1. Laisvas platinimas 

Atvirojo teksto programinės įrangos licencija negali apriboti programinio produkto pardavimo ar platinimo kaip komponento įeinančio į paketą, kuris surinktas iš įvairių šaltinių. Licencija negali reikalauti autorinio honoraro ar užmokesčio už tokį platinimą.

2. Išeities tekstai 

Programinės įrangos išeities tekstas turi būti laisvai prieinamas. Todėl turi būti platinamas ne tik sukompiliuotas kodas, tačiau ir patys išeities tekstai. Jei į programinės įrangos paketą neįeina išeities tekstai, tai turi būti aprašytas būdas, kaip galima įsigyti išeities tekstus. Pageidaujama, kad tai būtų nuoroda į Interneto puslapį, iš kur galima būtų atsisiųsti išeities tekstus be papildomo mokesčio. Gali būti siūlomi ir kiti būdai, tačiau mokestis už tokį platinimą negali viršyti reprodukcijos/perrašymo kaštų. Išeities tekstai turi būti pateikti tokioje formoje, kad juos galėtų modifikuoti programuotojas. Jie negali būti specialiai supainioti, taip pat negalima pateikinėti tarpinių tekstų (pavyzdžiui, preprocesoriaus ar transliatoriaus sugeneruotų tekstų), kaip išeities tekstų.

3. Tolimesni darbai  

Licencija turi leisti modifikuoti ir toliau vystyti programinę įrangą bei leisti naujai sukurtą programinę įrangą platinti su tomis pačiomis sąlygomis, kurios numatytos originalios programinės įrangos licencijoje.

4. Autoriaus kodo integralumas  

Licencija turi drausti modifikuotos programinės įrangos platinimą, gali leisti tik platinimą kartu su pataisymu failais, kurie modifikuoja išeities tekstus tik kompiliavimo bei surinkimo metu. Licencija turi drausti platinti programinę įrangą, kuri buvo sukompiliuota ir surinka naudojantis modifikuotais išeities tekstais. Jei norima platinti tolimesnius programinės įrangos patobulinimus - modifikacijas, tai joms turi būti suteiktas kitas pavadinimas arba versijos numeris.

5. Jokios diskriminacijos prieš konkrečius asmenis ar grupes 

Licencija neturi diskriminuoti konkrečių asmenų ar asmenų grupių, t.y. licenzija turi leisti visiems, be išimčių, naudotis programine įranga, nesvarbu, kokia žmogaus rasė, tautybė ar religiniai įsitikinimai.

6. Jokios diskriminacijos prieš panaudojimo sritį 

Licencija neturi uždrausti naudoti programinę įranga specifinėje taikomojoje srityje. Pavyzdžiui, negalima uždrausti naudotis programa verslo tikslais ar genetiniuose tyrimuose.

7. Licencijos distribucija 

Licencija turi galioti programinės įrangos naudotojams bei platintojams ir nereikalauti papildomų licencijų.

8. Licencija negali būti priklausoma nuo konkretaus produkto 

Programos licencija neturi priklausyti nuo to, ar programa yra kažkokios distribucijos dalis. Jei programinė įranga yra išimama iš distribucijos, tai jai turi galioti ta pati licencija bei turi būti naudojama ir platinama atsižvelgiant į ją.

9. Licencija negali riboti kitų programinių produktų 

Licencija negali riboti kitų programinių produktų, kurie platinami kartu su licencijuota programine įranga. Pavyzdžiui, licencija negali reikalauti, kad kartu su programine įranga platinami kiti produktai būtų tik atvirojo teksto.

Populiariausias licencijos tipas – Pagrindinė viešoji licencija  Patį licencijos tekstą galima rasti šiuo adresu:

http://www.gnu.org/copyleft/gpl.html.

Komerciniu požiūriu ši licencija daugiausia draudžianti. Pagal ją, kiekvienas gali modifikuoti GPL programą, tačiau darbo rezultatas taip pat turi būti reguliuojamas GPL licencijos, t.y. turi būti platinamas nemokamai ir kartu su kodu. Šios licencijos tikslas – užtikrinti, kad programa ir darbas ją kuriant visada išliktų nemokamas. Tokio tipo yra Linux operacinė sistema.

Visai priešinga yra BSD licencija, pagal kurios modelį buvo platinama Berklio universiteto sukurta Unix versija. Iš esmės licencija nieko nedraudžia. Kiekvienas gali modifikuoti programą ir vėliau ją platinti imdamas mokestį, nieko nemokėdamas pirminiam programos kūrėjui. Tad pagal šią licenciją šiek tiek modifikuotą programinę įrangą galima parduoti nors ir už milijoną, jei atsiras pirkėjas. FreeBSD operacinė sistema yra reguliuojama šios licencijos.

Šiuo metu egzistuoja apie 30 atvirojo teksto programinės įrangos licencijų tipų. Licencijų sąrašas ir jų tekstai pateikiami šiuo adresu:

http://www.opensource.org/licenses/index.html

Be abejo, visos licencijos pasižymi anksčiau išvardintomis devyniomis savybėmis, skirtumų pasitaiko tik programų modifikavimo bei platinimo reikalavimuose. Dauguma gamintojų reikalauja, kad nebūtų pamirštos įdėti nuorodos į originalius išeities tekstus, autorius ir pan.

Šiame dokumente terminai „atvirojo teksto“ ir „atvirojo kodo“ bus naudojami, kaip sinonimai.

2. Privalumai ir trūkumai

Kad geriau suprasti atvirojo teksto programų naudojimo bei kūrimo privalumus, panagrinėsime visas sąveikaujančias šalis. Kertinė dalis – specifinis programų kūrimo procesas. Proceso vykdytojas – programinės įrangos gamintojas, iniciatorius – užsakovas, o rezultatai atitenka į vartotojų rankas. Apžvelgsime privalumus bei trūkumus kiekvienos šalies atžvilgiu.

2.1. Programų kūrimo procesas

Dažniausiai atvirojo teksto programinės įrangos kūrimo procesas yra toks: kažkas inicijuoja projektą, sudaroma kertinė projekto komanda, visa informacija apie projektą patalpinama Internet svetainėje (pavyzdžiui, http://sourceforge.net). Projekto eiga matoma viešai – kiekvienas gali prisijungti ar įnešti savo indėlį. Pagrindinė proceso idėja – dažnos kolegų peržiūros[1]. Tikimasi, kad projektas pritrauks kitų profesionalų dėmesį ir jie prisidės prie projekto tiek, kiek galės – bent jau kodo peržiūromis, testavimu ar patarimais. Tokiu būdu būtų užtikrinta produkto kokybė bei proceso gerinimas.

Tačiau ne visada šis užmanymas pavyksta – ne visi projektai pritraukia visuomenės dėmesį. Geriausias tokios situacijos pavyzdys – Mozilla projektas, kurį vykdė bei vykdo Netscape Communications kompanija. 1998 pradėtas projektas praktiškai nepritraukė profesionalų dėmesio, todėl pradėjo blėsti ir neįgijo tokio vystymosi pagreičio, kaip buvo tikėtasi. Dėl šių priežasčių projekto vadovas buvo priverstas palikti savo postą.

Sėkmingi atvirojo teksto programų kūrimo procesai pasižymi dinamiškumu, aukšta produktų kokybe bei vystymosi greičiu.

2.2. Vartotojas

Matyt daugiausia privalumų iš atvirojo kodo programų gauna vartotojas ir tam yra tikrai ne viena priežastis.

Pirmiausia, produkto įsigijimo kaina. Atvirojo teksto programos nemokamos ir laisvai dalinamos. Jų nevaržo legalumo klausimai, nereikia skaičiuoti instaliacijų bei kopijų skaičiaus. Be abejo, yra ir kita medalio pusė – programinės įrangos priežiūros ir aptarnavimo kaina, kuri paprastai būna didesnė nei komercinių produktų.

Antra, kokybė ir stabilumas. Pakankamai seniai vystomi atvirojo kodo produktai yra gerai „nušlifuoti“ ir patikrinti daugelio entuziastų. Geriausias tokio produkto pavyzdys – Apache voratinklio (Web) serverio programinė įranga. Apache nieko nenusileidžia analogiškiems Microsoft bei Netscape kompanijų produktams. Tad renkantis atvirojo teksto programinę įrangą reiktų pasidomėti jos istorija, versijomis bei atsiliepimais.

Trečia, saugumas. Populiariausios atvirojo kodo programos nenusileidžia saugumo aspektu komerciniams produktams (pavyzdžiui, FreeBSD ir Microsoft Windows NT). Tokios situacijos priežastis – atviras kodas, kuriame kiekvienas gali surasti spragas. Daugeliui profesionalų tai yra savotiškas hobis, todėl spragos surandamas ypač greitai. Neturint programos kodo jas surasti yra žymiai sunkiau, todėl komercinės programos gali turėti žymiau daugiau užslėptų saugumo problemų.

Negalima būtų teikti, kad atvirojo teksto programinę įrangą sunku instaliuoti, konfigūruoti bei naudoti. Šiuo metu pasirodė Linux distribucijos, kurių instaliacija yra nesudėtingesnė už Microsoft Windows (pavyzdžiui, Red Hat Linux). Taip pat sukurta nemažai konfigūravimo įrankių bei grafinių vartotojo sąsajų (KDE, GNOME), kurios supaprastina kompiuterio bei programų valdymą.

Tiesa, nedaug yra specializuotų taikomųjų atvirojo teksto programų, tačiau paprasto vartotojo kompiuterio programinės įrangos komplektą galima būtų surinkti iš atvirojo teksto produktų:

  • operacinė sistema – Linux ar FreeBSD
  • grafinė vartotojo aplinka – XWindows su KDE arba  GNOME
  • biuro programų rinkinys – StarOffice
  • grafikos programa – Gimp
  • Interneto naršyklė – Netscape Communicator

Analogiška komercinė programinė įranga kainuotų daugiau arba beveik tiek pat, kiek ir pats kompiuteris. Tad esant ribotiems ištekliams – atvirojo teksto programinė įranga geriausias pasirinkimas, o gal net vienintelis (jei norime naudotis legalia programine įranga).

2.3. Užsakovas

Čia aptarsime tik tą situaciją, kai yra daromas specialus užsakymas, o ne renkamasi iš jau egzistuojančių produktų (šio atvejo aspektus aprašėme skyrelyje apie vartotoją).

Neskaitant atvirojo kodo programinės įrangos patikimumo bei kokybės (tai aptarėm ankstesniame skyrelyje) yra ir kitas svarbus privalumas – jūs nesate programinės įrangos gamintojo kalinys.

Kadangi programinės įrangos kodas yra prieinamas, tai jūs galite išgyventi tiekėjo netektį. Jūs nebepriklausote nuo tiekėjo strateginių planų pasikeitimų. Situacijai su tiekėju pablogėjus visada galima pasirinkti naują partnerį, kuris tęs toliau pradėtus darbus.

Jau vien dėl šių priežasčių užsakovui verta reikalauti atvirojo teksto programinės įrangos.

Užsakovas gali išlošti net ir tada, kai programinė įranga gaminama ne rinkai, o vidiniam organizacijos naudojimui (atvejis, kai užsakovas ir gamintojas sutampa).

Įsivaizduokime tokią situaciją: organizacija ruošia įvairius Internet sprendimus, organizacijos viduje yra vykdomas projektas - paskirstyto spausdinimo programinė įranga, kuris yra labai svarbus organizacijos vidinei veiklai, tačiau niekada nebus pateiktas rinkai, nes nesutampa su organizacijos verslo kryptimi. Šį projektą vykdo nedidelė grupelė žmonių. Kas bus, jei vieną dieną jie nuspręs pereiti į kitą darbą? Organizacijai gresia nemažai išlaidų, nes reiks apmokyti naujus darbuotojus, perimti pradėtus darbus. Situacija būtų visai kitokia, jei šis projektas būtų atvirojo kodo projektu. Tada tereiks surasti žmones, kurie domėjosi projektu ir iš jų tarpo pasamdyti naujus darbuotojus. Šiuo atveju nereiks išlaidų apmokymams bei pats darbų perėmimas bus sklandus.

Kitas svarbus atvirojo kodo programų privalumas – jas galima naudoti laisvai, jų nevaržo legalumo klausimai. Naudojant daugelį komercinių programų reikia sekti, ar nepažeidžiamos licencijos kopijuojant ir naudojant programinę įrangą. Kartais toks sekimas gali pareikalauti nemažai pastangų bei papildomo darbo. Tačiau nesekti, ar nepažeidžiamos licencijų sąlygos negalima, nes sąlygų pažeidimas veda link baudžiamosios atsakomybės.

2.4. Gamintojas

 

Gamintojas gaminantis vien tik nemokamą programinę įrangą tikrai ilgai neišsilaikys rinkoje – tol kol užteks vidinių resursų. Taigi, aptarsime, kada yra naudinga gaminti bei naudoti gamyboje atvirojo kodo programinę įrangą.

Be abejo, atvirojo kodo produktų panaudojimas kuriant naujus produktus naudingas gamintojui. Pirmiausia, vien dėl to, kad galima mokytis iš kitų žmonių patirties, panaudoti ją savo tikslams. Tačiau prieš naudojant atvirojo kodo programų išeities tekstų fragmentus savo tikslams, reiktų atidžiai išstudijuoti licenciją, nes ne visos licencijos leidžia taip elgtis autoriaus kodu. Pati demokratiškiausia licencija šiuo atveju yra BSD, kuri leidžia tai daryti be apribojimų. Tad net Microsoft firma kurdama Windows 2000 bei Windows XP pasinaudojo FreeBSD sistemoje naudojamu TCP/IP steko realizavimu. Pasirodė, kad Bilo Džojaus (Bill Joy) sukurta TCP/IP steko realizacija yra geresnė nei ta, kurią galėjo sukurti 20 tūkstančių Microsoft programuotojų. Taip pat šiuo metu yra nemažai atvirojo kodo bibliotekų, kurios gali būti panaudotos kuriant naujus produktus (pavyzdys, Apache projekto subprojektai).

Gaminti atvirojo teksto programinę įrangą galima reklamos arba rinkos plėtimo tikslais, kaip tai daro Netscape kompanija dalindama Netscape Communicator Internet naršyklę.

Su dalinama nemokama įranga galima reklamuoti kitus savo produktus bei paslaugas. Panašiai elgiasi Red Hat bei Caldera firmos, kurios siūlo ne vien tik nemokamas Linux distribucijas, bet ir komercines taikomąsias Linux programas. Šis modelis gana dažnas. Pasitaiko ir tokių atvejų, kai atvirojo kodo programa yra supaprastintas komercinės programos variantas. Pavyzdys, Sendmail Inc. kompanija galima atvirojo teksto programą – sendmail, tačiau siūlo ir komercinį jos variantą – Sendmail Pro.

Pavienių programuotojų dalyvavimas kuriant atvirojo kodo programinę įrangą irgi teigia jiems naudos – vardas bei pripažinimas. Tokiu būdu galima užsitikrinti reputaciją darbo biržoje. Tačiau papildomi ir neapmokami darbai atima dalį laisvalaikio ar laiko, kuris galėtų būti skirtas šeimai, draugams ar artimiesiems.

3. Pagrindinės vystymosi tendencijos

3.1. Kertiniai atvirojo kodo judėjimo momentai

1968 m. buvo įkurtas ARPANET tinklas, Interneto pirmtakas. Nors ARPANET skirtas tyrinėtojams apsikeisti informacija apie projektus ir jų kodus, jis taip pat tampa programinės įrangos atviruoju kodu galimybių demonstravimo scena.

1969 m. Bell laboratorijų tyrinėtojas Kenas Tomsonas (Ken Thomson) parašo pirmąją Unix, daugiaveiksmės, skirtos daugeliui vartotojų operacinės sistemos versiją. Unix kodas buvo laisvai platinamas 8-ajame dešimtmetyje, greitai ši operacinė sistema tampa labai populiari universitetuose ir tyrimų laboratorijose.

1971 m. atvirojo kodo judėjimo pionierius Ričardas Stalmanas (Richard Stallman) prisijungia prie MIT grupės, kūrusios išimtinai nemokamą programinę įrangą. Sukūręs pirmąjį Emacs (1974-1976) teksto redaktorių, R. Stalmanas vėliau (1984) įkuria GNU projektą (sutrumpinimas iš „GNU's Not Unix“ - GNU nėra Unix), kuris vėliau paskatino nemokamos, Linux pagrįstos operacinės sistemos sukūrimą.

1974 m. Vintonas Kerfas (Vinton Cerf) ir Bobas Kanas (Bob Kahn), dirbę DARPA agentūroje, sukuria TCP/IP protokolą, kuris vėliau tampa Interneto tinklo pamatu. Po dešimtmečio Gynybos departamentas pakrikštija Internetą ir nurodo visiems kompiuteriams, prijungtiems prie Interneto, naudoti TCP/IP protokolą.

1979 m. AT&T paskelbia planus komercializuoti Unix. Tai paskatina Berklio universitetą Kalifornijoje sukurti savo Unix versiją, pavadintą BSD Unix (Berkeley Software Distributions). BSD Unix perdirbo pirmieji Unix pardavėjai, pavyzdžiui, DEC ir Sun, Unix. Vėliau AT&T ir Sun sutaria sujungti savo Unix versijas, taip priversdami konkurentus (DEC, HP ir IBM) sukurti Atviros programinės įrangos fondą - Open Software Foundation. Berklio universiteto studentas Erikas Almanas (Eric Allman) sukuria programą, skirtą perduoti žinutes tarp kompiuterių ARPANET tinkle. E. Almanas vėliau programą išplėtoja ir pavadina „sendmail“. Šiandien daugiau nei 75% Interneto pašto serverių naudoja šią atviro teksto programą paštui siųsti.

1984 m. atsiliepdamas į komerciškumo programinės įrangos rinkoje bangą R. Stalmanas (Richard Stallman) įkuria GNU projektą ir kurdamas nemokamą operacinę sistemą, nemokamas programas bei programavimo įrankius, propaguoja nemokamos programinės įrangos modelį. Dar svarbesniu įvykiu tapo GNU projekto sukurta Pagrindinė viešoji licencija (General Public Licence), kuri tampa daugelio atvirojo kodo projektų modeliu.

1986 m. Laris Volas (Larry Wall) sukuria Perl (Practical Extraction and Report Language - faktinio ištraukimo ir pateikimo kalbą), visapusišką programinę kalbą, skirtą rašyti CGI (Common Gateway Interface) instrukcijoms (scripts), kurios dabar yra standartinė priemonė pateikti dinamiškesniam turiniui Voratinklyje.

1987 m. Andrejus Tanenbaumas (Andrew Tannenbaum) išleidžia Minix, Unix versiją asmeniniams (AK), Mac, Amiga ir Atari ST kompiuteriams. Ji platinama su visu kodu.

1989 m. siekdamas praplėsti Minix galimybes jaunas Helsinkio universiteto studentas Linusas Torvaldas (Linus Torvald) išleidžia naują Unix variantą - Linux. Po trejų metų L. Torvaldas atsisako griežtų Linux autorių teisių.

1993 m. išleidžiama FreeBSD operacinė sistema. Paremta BSD Unix, FreeBSD suderinta su tinklu, virtualia atmintimi, perėjimu tarp užduočių ir ilgais failų pavadinimais. BSD licencija nereikalauja programuotojų atsilyginti už gautą kodą.

1994 m. Markas Juvingas (Marc Ewing) įkuria Red Hat Linux kompaniją, stengdamasis išspręsti Linux naudojimo patogumo problemas. Red Hat kartu su Linux paketu platina trečiųjų šalių programas, dokumentaciją bei techninę pagalbą. Šį paketą Red Hat parduoda už maždaug 50 dolerių. Greitai Red Hat tampa pirmaujančiu Linux platintoju. Tais pačiais metais Brajanas Sparkas (Bryan Spark), padedamas buvusio Novell vadovo Rėjaus Nurdo (Ray Noord), įkuria Caldera kompaniją.

1995 m. Apache grupė sukuria naują Voratinklio tarnybinės stoties programinę įrangą, pagrįstą Nacionalinio superkompiuterių programų centro (NCSA) sukurta „HTTPd 1.3“ ir pataisų jai failais. Pavadinimas Apache kilo iš termino „a patch“, kuris išvertus reiškia pataisymą. Ši nemokama Voratinklio tarnybinės stoties programinė įranga tampa viena populiariausių HTTP tarnybinių stočių programų.

1997 m. programuotojas ir knygos „Naujasis hakerio žodynas“ autorius Erikas S. Reimondas (Eric S. Raymond) Linux kongrese pasako kalbą „Katedra ir turgus“, supriešindamas komercinio ir atviro programinės įrangos kūrimo modelius. Ši kalba paskatina Netscape kompanijai pradėti Mozilla projektą.

1998 m. Netscape paskelbia ne tik nemokamai dalysianti Communicator 5.0 paketą, bet ir paskelbsianti jo kodą. Briusas Perensas (Bruce Parens) ir E. S. Reimondas (Eric S. Raymond) įkuria Atvirojo kodo iniciatyvą (Open Source Initiative) ir kreipiasi prašydami suteikti jiems atvirojo kodo prekinį ženklą. Stambūs prekiautojai programine įranga (Computer Associates, Corel, IBM, Informix, Interbase, Oracle ir Sybase) paskelbia apie savo planus kurti programinės įrangos versijas, skirtas Linux terpei. Apdrabstyta purvais žymiojoje priešmonopolinėje byloje, Microsoft paskelbia pareiškimą, kuriame Linux operacinė sistema pateikiama kaip įrodymas, jog korporacija neturi monopolijos operacinių sistemų rinkoje. Netrukus po to Halloween dokumentai (taip praminti dėl to, kad pasirodė spalio 31 dieną) - vidiniai Microsoft dokumentai apie programinės įrangos atviruoju kodu ir Linux grėsmę - patenka į atvirojo kodo bendruomenės rankas ir paskelbiami Internete. Sun Microsystems paskelbia planus atskleisti programuotojams Java 2 kodą. Oracle kompanija paskelbė, kad pritaikys duomenų bazių programinę įrangą Linux operacinei sistemai.

1999 m. Vasario 15d. Fosterio (Foster) mieste (Kalifornija, JAV) tūkstančiai vartotojų grąžino nenaudojamą Microsoft programinę įrangą – diskus, naudojimo instrukcijas, autentiškumo sertifikatus. Atsidaro nauja Internet svetainė – Linux.com. Kompanijos Hewlett-Packard ir Silicon Graphics paskelbė, kad teiks palaikymą Linux operacinei sistemai. IBM pradeda bendradarbiavimą su Red Hat kompanija bei paskelbia apie Lotus programinės įrangos pritaikymą Linux operacinei sistemai. Apple kompanija paskelbia savo operacinės sistemos (Mac OS) branduolį, kaip atvirojo teksto programinę įrangą.

2001 m. Išleidžiamas Linux 2.4 branduolys. Niujorke (JAV) Linux World konferencijoje pirmą kartą pademonstruojamas „Revolution OS“ – filmas apie atvirojo kodo judėjimą. Tai savotiškas atsakas į Styvo Balmerio (Steve Ballmer, Microsoft) žodžius „Linux tai vėžys, kuris žlugdo intelektualinę nuosavybę...“.

3.2. Pasisekę projektai bei galimos ateities vystymosi tendencijos

Sėkmingiausi projektai:

· Operacinės sistemos: Linux (http://www.linux.org), FreeBSD (http://www.freebsd.org),

· Apache - voratinklio (Web) programinė įranga,

· Grafiniai vartotojų interfeisai: KDE (http://www.kde.org), GNOME (http://www.gnome.org),

· Duomenų bazių programinė įranga: PostgreSQL (http://www.postgresql.org), MySQL (http://www.mysql.org),

· Sendmail - elektroninio pašto serverio įranga.

Galima būtų vardinti nemažai sėkmingų projektų, tačiau juos peržiūrint peršasi išvada, kad sėkmingiausi yra bendro naudojimo produktų projektai. Manoma, kad atvirojo teksto judėjimas sėkmingai ir toliau užims šią rinkos vietą. Be abejo, kad mes, kaip vartotojai, iš to tik laimėsime – bus didesnė konkurencija, gerės siūlomų produktų kokybė bei galimybės.

Taip pat egzistuoja ir kita atvirojo teksto vystymosi tendencija. Siūloma senesnes komercines programas, kurios jau nebėra parduodamos, paskelbti atvirojo kodo programomis. Entuziastai galėtų jas patobulinti bei atnaujinti ar jų pagrindu sukurti naujus produktus. Pavyzdžiui, Džonas C. Dvorakas (John C. Dvorak; PC Magazine) siūlo IBM sukurtą operacinę sistemą OS/2 paskelbti, kaip atviro kodo programinę įrangą. Straipsnio autorius teigia, kad OS/2 branduolys yra ne prastesnis nei už Linux, nei už FreeBSD branduolį ir galėtų sėkmingai konkuruoti su Microsoft Windows XP, tačiau jį reiktų atnaujinti.

4. Pagrindiniai atvirojo teksto programinės įrangos šaltiniai

Pagrindinis atvirojo kodo programinės įrangos šaltinis – Internetas. Čia galima surasti ne tik informaciją apie patį judėjimą, idėjas, istoriją, bet ir pačią programinę įrangą, karščiausias naujienas. Trumpai apžvelgsime populiariausias Internet svetaines.

4.1. Informacijos šaltiniai Internete

Atvirojo teksto programinės įrangos judėjimas (bendra informacija)

Atvirojo kodo iniciatyva 

http://www.opensource.org

Ši organizacija įkurta 1998 metais. Čia galima surasti atviro teksto programinės įrangos apibrėžimą, reikalavimus licencijoms, užregistruotas licencijas, nuorodas į svarbius projektus bei programinės įrangos gamintojus.

O’Reilio atvirojo kodo centras 

http://opensource.oreilly.com

„O’Reilly and Associates“ specializuojasi knygų apie programinę įrangą atviruoju kodu leidyboje. Svetainėje galima surasti parduodamų knygų sąrašą, jų aprašymus, atsiliepimus bei vietoje jas užsisakyti. Dauguma knygų yra skirtos konkretiems produktams įvaldyti, pavyzdžiui, Perl, CVS, Apache. Tačiau galima surasti ir knygų, kurios yra pakankamai bendros ir aprašo patį atvirojo kodo judėjimą. Pateikiama atvirojo kodo bibliografija. Ji trumpai bus apžvelgta vėliau.

Nemokamos programinės įrangos fondas 

http://www.fsf.org

Organizacija, vykdžiusi GNU projektą, kurio metu buvo sukurta daugybė gerų atvirojo kodo įrankių. Svetainėje pateikiama informacija apie atvirojo kodo projektus, dokumentacija ir išeities tekstai.

Slashdot

http://www.slashdot.org

„Užkietėjusių kompiuterininkų“ svetainė. Kiekvieną dieną yra siūloma „dozė“ naujienų apie atvirojo kodo programinę įrangą, ypač Linux sistemai.

IT straipsniai atvirojo teksto programinės įrangos tema 

http://www.itpapers.com/cgi/SubcatIT.pl?scid=262

Pateikiama daugiau nei 200 įvairių straipsnių, kurie aprašo tiek patį atvirojo teksto programinės įrangos judėjimą, tiek konkrečius produktas ar jų pritaikymo aspektus.

The GNU Project and the Free Software Foundation (FSF)

http://www.gnu.org/

GNU projekto svetainė. Pateikiama informacija apie patį projektą bei jo metu sukurtą programinę įrangą (pavyzdžiui, GCC – GNU sukurtas C/C++ kompiliatorius). Pateikiamos instrukcijos, kaip atsisiųsti bei naudoti GNU projekto sukurtas programas.

Atvirojo teksto programinės įrangos kūrėjų tinklas 

http://www.osdn.com/

Pateikiama informacija apie konferencijas, siūlomus darbus bei naujienas.

Išeities teksto žaizdras 

http://sourceforge.net/

Informacija apie einamuosius projektus, naujienas. Svetainė pateikia projektams versijų valdymo, darbų sekimo įrankius. Taip pat čia galima surasti ir jau atliktų darbų rezultatus – pačią programinę įrangą.

„Šviežienos“ 

http://freshmeat.net/

Patys naujausi projektai, produktai bei naujienos.

Linux

Linux Online 

http://www.linux.org

Linux Online yra visapusiška informacijos ir nuorodų apie Linux saugykla. Čia galima surasti informacijos apie projektus, dokumentaciją, programas, knygas ir net naujienų pranešimus. Ši svetainė – vartai į Linux pasaulį.

Linux branduolio archyvai 

http://www.kernel.org

Tai oficiali Linux branduolio svetainė. Joje galima surasti ne tik naujausias branduolio versijas, bet ir jų istoriją. Taip pat pateikiamas nemažas kiekis nuorodų į programinę įrangą.

Linux dokumentacijos projektas 

http://metalab.unc.edu/LDP

Projektas bando užpildyti techninės pagalbos vartotojams spragas, kurdamas išsamią pagalbos duomenų bazę. Čia galima surasti Linux operacinės sistemos įdiegimo, konfigūravimo instrukcijas.

Linux alėja 

http://www.linuxmall.com

Pateikiama labai įvairių produktų susijusių su Linux operacine sistema (žaidimai, Linux distribucijos, knygos, kompiuteriai, suvenyrai), kuriuos čia pat galima įsigyti. Taip pat yra naujienų bei nuorodų skyreliai.

Linux ledkalnis 

http://www.linuxberg.com

Įvairi programinė įranga skirta Linux operacinei sistemai bei jos aprašymai. Informacija gana gerai klasifikuota, tad nesunku surasti reikiamą produktą. Kiekvienam produktui yra pateikiamas jo reitingas, išleidimo data, programos dydis, licencijos tipas bei trumpas aprašymas.

Linux priežiūra 

http://www.linuxcare.com/

Organizacija užsiimanti užsakomosios atvirojo teksto programinės įrangos gamyba Linux operacinei sistemai. Taip pat suteikia techninę pagalbą instaliuojant, konfigūruojant ir prižiūrint Linux.

FreeBSD

Oficiali FreeBSD svetainė 

http://www.freebsd.org

Svetainėje pateikiama informacija ne tik apie FreeBSD operacinę sistemą, bet ir apie įvairią programinę įrangą bei projektus, kurie susiję su šia operacine sistema. Taip pat čia galima surasti daug įvairios dokumentacijos, aprašymų ir naujienų grupių.

FreeBSD alėja 

http://www.freebsdmall.com

Pateikiama labai įvairių produktų susijusių su FreeBSD operacine sistema (žaidimai, distribucijos, knygos, kompiuteriai, suvenyrai), kuriuos čia pat galima įsigyti. Taip pat yra naujienų bei nuorodų skyreliai.

Konkretūs projektai bei produktai

Apache programinės įrangos fondas 

http://www.apache.org

Apache voratinklio (Web) serverio programinė įranga – viena iš populiariausių tarp Interneto tarnybinių stočių. Svetainėje galima surasti produkto dokumentaciją, pranešimų apie klaidas sistemą, su projektu susijusią informaciją, išeities tekstus, produkto distribucijas. Šiuo metu Apache projekte taip pat yra vystoma dar apie 20 subprojektų, kurie skirti Internet sprendimų kūrimui.

Mozilla projektas 

http://www.mozilla.org

Bendrovės Netscape atvirojo kodo projekto svetainė. Mozilla yra atsakinga už visų būsimų „Communicator“ (Interneto naršyklės) versijų kūrimą. Čia galima rasti išeities tekstus, dokumentaciją bei naujausias naršyklės versijas.

Perl institutas 

http://www.perl.org

Perl institutas pateikia visapusę informaciją apie Perl programavimo kalbą. Taip pat yra pateikiamos nuorodos į naujienų, elektroninio pašto diskusijų grupes.

4.2. Atvirojo teksto programinės įrangos bibliografija

Atvirojo teksto programinės įrangos judėjimo bibliografija galima surasti šiuo adresu:

http://opensource.oreilly.com/news/biblio_0601.html

Aprašysime tik pagrindines knygas:

 

Atvirojo teksto programinė įranga
Atvirojo teksto programinės įrangos revoliucijos balsas
Open Sources
Voices from the Open Source Revolution
Redaktoriai: Chris DiBona, Sam Ockman, Mark Stone
Pirmasis leidimas - 1999 sausis
ISBN 1-56592-582-3, 280 puslapiai

Rinkinys rašinių apie atvirojo teksto programinės įrangos judėjimą, jo pagrindinius „žaidėjus“.

 

 

 

Katedra ir turgus
The Cathedral & The Bazaar
Ericas S. Raymondas (Eric S. Raymond)
ISBN 0-596-00108-8, 256 puslapiai
2001 vasaris

Šioje knygoje aprašyti atvirojo teksto programinės įrangos judėjimo pasiekimai per paskutinius metus (1999-2000) bei kompiuterių industrijos bei informacijos verslo vystymosi tendencijos. Aprašomi atvirojo teksto programinės įrangos privalumai bei kelias į sėkmę.

4.3. Egzistuojančios atvirojo teksto programinės įrangos duomenų bazės

Šiuo metu Internete galima rasti nemažai atvirojo teksto programinės įrangos duomenų bazių, kuriose pateikiami programų aprašymai, atsiliepimai, reitingai. Mes apžvelgsime kelias didesnes bei populiaresnes svetaines.

Linux Online – programinė įranga 

http://www.linux.org/apps/index.html

Visos programos pateikiamos suskirstytos į kategorijas. Atsidarius vieną iš kategorijų, galima peržiūrėti konkrečių programų sąrašą. Peržiūros metu programų sąrašą galima surūšiuoti pagal pavadinimą, atnaujinimo datą ar autorių. Taip pat galima peržiūrėti programas suskirstytas pagal veikimo aplinką, ieškoti norimos programos pagal nurodytą paieškos eilutę.

Informacija apie programas yra struktūrizuota ir turi tokius laukus:

Lauko pavadinimas

Būtinas

Duomenų tipas

Pastabos

Programos pavadinimas

 

Taip

teksto eilutė

 

Versija  

Taip

teksto eilutė

 

Autorius  

Taip

teksto eilutė

 

Elektroninio pašto adresas 

Ne

teksto eilutė

 

Internet puslapis  

Taip

teksto eilutė

Puslapis, kuriame informaciją pateikia programos autorius.

Puslapis, iš kurio galima atsisiųsti programą 

Ne

teksto eilutė

 

Alternatyvus puslapis, iš kurio galima atsisiųsti programą 

Ne

teksto eilutė

 

Ar išeities tekstas pateiktas? 

Taip

loginis (taip/ne)

 

Licencija 

Taip

teksto eilutė

Nurodomas licencijos pavadinimas.

Kaina 

Taip

teksto eilutė

 

Trumpas aprašymas 

Taip

teksto eilutė;
iki 100 simbolių

Naudojamas rodymui sąrašuose.

Aprašymas 

Taip

tekstas

 

Raktiniai žodžiai 

Ne

teksto eilutė

Naudojami atliekant paiešką.

Kategorija 

Taip

pasirinkimas iš sąrašo

Kategorijų sąrašas bus pateiktas vėliau.

Programos vykdymo aplinka 

Taip

pasirinkimas iš sąrašo

Galimos aplinkos: konsolė, X11, KDE, GNOME.

Programos statusas 

Taip

pasirinkimas iš sąrašo

Galimi statusai: alfa, beta, stabili versija, einamoji kūrimo proceso versija.

Kategorijų sąrašas pateiktas 1 priede.

Linux programinės įrangos žemėlapis 

http://www.boutell.com/lsm/

Tai duomenų bazė, kurioje užregistruoti programinės įrangos paketai parašyti ar pritaikyti Linux operacinei sistemai. Šią duomenų bazę prižiūri Aronas Šrabas (Aaron Schrab).

Programai aprašyti naudojamas LSM (Linux Software Map) bylos formatas. Šio formato paskutinės versijos struktūros aprašymą galima rasti adresu:

ftp://ftp.execpc.com/pub/lsm/LSM.README.

Programos aprašymui naudojami tokie laukai:

Laukas

Būtinas

Aprašymas, pastabos

Pavadinimas 

Taip

Paketo pavadinimas.

Versija 

Taip

Programos versija.

Pateikimo data 

Taip

Aprašo pateikimo data. Formatas: metai, mėnuo, diena (YYYY-MM-DD).

Aprašymas 

Taip

 

Raktiniai žodžiai

 

Ne

Žodžiai, kurie apibūdina programinės įrangos paketą.

Autorius 

Ne

RFC822 dokumente numatytu formatu. Pageidaujamas formatas:

elektroninis pašto adresas (Pilnas vardas)

Prižiūri 

Ne

Programinės įrangos prižiūrėtojas. Pildomas taip pat, kaip ir autoriaus laukas.

Internet nuoroda 

Taip

Internet nuoroda į programinės įrangos paketą.

Alternatyvi nuoroda 

Ne

Alternatyvi nuoroda.

Originali nuoroda 

Ne

Šis laukas naudojamas tik tada, kai programa yra perdaroma specialiai Linux. Čia turi būti pateikiama Internet nuoroda į originalų paketą.

Programos vykdymo aplinka(-os) 

Ne

Reikalaujama programinė ir techninė įranga.

Kopijavimo susitarimai

 

Ne

Programos licencijos tipas.

Iš anksto nustatytų klasifikatorių nėra – visi laukai pildomi laisvu tekstu.

2 priede pateikiami LSM bylų pavyzdžiai.

Informacija apie naują programinę įranga pateikiama elektroniniu naudojantis LSM bylos formatu.

SourceForge: programinės įrangos žemėlapis (SourceForge: Software Map)

http://sourceforge.net/softwaremap/ 

Freshmeat – „šviežienos“

http://freshmeat.net/browse/

Abiejose svetainėse informacija pateikiama vienodu formatu. Programinės įrangos produktus, kaip projektų rezultatus galima peržiūrėti įvairiais pjūviais:

  • pagal raidos būklę,
  • pagal licencijos tipą,
  • pagal programavimo kalbą,
  • pagal kalbą, kuriai pritaikyta programa,
  • pagal veikimo aplinką,
  • pagal operacinę aplinką,
  • pagal publiką, kuriai rašoma programa,
  • pagal temas.

Šių svetainių paskirtis – informacijos apie projektą ir jo eigą kaupimas, todėl čia yra registruojami ne patys produktai, o projektai.

Pačiam produktui aprašyti yra skiriami šie laukai:

  • pavadinimas,
  • aprašymas,
  • raidos būklė,
  • licencijos tipas,
  • programavimo kalba,
  • kalba, kuriai pritaikyta programa,
  • veikimo aplinka,
  • operacinė aplinka,
  • publika, kuriai rašoma programa,
  • tema.

 5. Atvirojo teksto programinės įrangos demonstraciniai pavyzdžiai

Pateiksime atvirojo teksto programinės įrangos pavyzdžius, kurie bus įtraukti į informavimo sistemos duomenų bazę.

Voratinklio (WWW) serveris Apache HTTP Server (http://www.apache.org/)

Duomenų bazė PostgreSQL (http://www.postgresql.org)

WWW serveris išplėtimų (Servlet) serveris Tomcat (http://jakarta.apache.org/)

WWW puslapių generavimo pagal šablonus biblioteka Velocity (http://jakarta.apache.org/)

Programų surinkimo įrankis Apache Ant (http://jakarta.apache.org/)