Atviras kodas įsibėgėja: nuo GPL programinės įrangos iki alaus ir netgi Linux mobilaus telefono (14)
Nuo pat atviro kodo programų atsiradimo jų šalininkai turėjo sunkumų aiškinant, kas tai yra, ir kodėl jos gali nieko nekainuoti – juk joms sukurti reikalingas programuotojų ir kompiuterių specialistų darbas.
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Ir kodėl tokios kompanijos, kaip IBM ar HP remia šį judėjimą, jeigu iš to, rodos, nieko neuždirba? Vienas iš paprastų atsakymų, pasiūlytas atviro kodo programų judėjimo pradininko Ričardo Stallmano (Richard Stallman) buvo toks: galvokite atvirai. Jūs galite nemokamai imti ir naudoti atvirojo kodo programas, jas adaptuoti savo poreikiams, tobulinti, net imti pinigus už jas, tačiau tai, ką jūs sukūrėte, turi būti atvira visiems kitiems esamiems ir būsimiems tos programos vartotojams – jūs negalite pasisavinti pakeistos programos ar „užrakinti“ į ją įdėtų savo žinių. Ši koncepcija pasirodė tokia priimtina, jog atviras kodas ėmė plėstis netgi į neprogramines sritis – alaus gamybą, automobilių projektavimą, literatūrą, mobiliuosius telefonus…
Pradžių pradžia – GNU projektas
Kaip viskas prasidėjo? 1983 metais Ričardas Stallmanas pradėjo projektą GNU. GNU projektas iš pat pradžių buvo skirtas visiškai integruojamos programinės aplinkos sukūrimui ir vystymui – kitaip sakant, buvo siekiama sukurti laisvą Unix šeimos operacinę sistemą. Tai turėjo būti sisteminiai programiniai paketai (kompiliatoriai ir t. t.), taikomosios programos ir, pagaliau, pačios operacinės sistemos branduolys – ir visa tai atviros licenzijos pagrindu
Vėliau, 1985-aisiais metais tas pats Stallmanas įkūrė laisvos programinės įrangos centrą (Free Software Foundation), veikiantį kaip paramos fondas ir skirtą laisvos programinės įrangos ir ypač GNU projektui palaikyti ir vystyti. Nuo pat jo įkūrimo iki 1990-ųjų metų vidurio, fondas dažniausiai buvo naudojmas samdyti programuotojus, galinčius rašyti atviro kodo programas.
Nuo 1990-ųjų metų vidurio, laisvoji programinė įranga kuriama daugelio įmonių ir privačių asmenų, tad fondo savanoriai ir bendradarbiai iš esmės ėmė rūpintis tik organizaciniais ir juridiniais atviro kodo licenzijos klausimais.
Dabar fondas pardavinėja kompaktinius diskus su atviro kodo programų išeities tekstų įrašais, gražiai apiformina programų aprašymus bei užsiima kita panašia veikla.
Pati laisvoji licenzija (GNU General Public License arba GPL) pirmą kartą parašyta tik 1988 metais GNU projekto rėmuose ir pavadinta GPL. GPL licenzijos tikslas – suteikti visiems vartotojams teisę kopijuoti, redaguoti ir bet kaip kitaip naudoti (kas paprastai yra saugoma ir ginama autorinėmis teisėmis) visą GPL programinę įrangą. Tačiau reikia nepamiršti paminėti, jog GPL licenzija leidžia iš atviro kodo programų uždirbti pinigus visais įmanomais legaliais būdais. Taigi maksimali laisvė ir nauda tiek programuotojui, tiek ir vartotojui. Natūraliai kyla klausimas – kaip suderinama atvira licenzija su pinigais?
Viskas labai paprasta – GPL licenzija skatina pagalbinių priemonių prekybą: apmokymą, konsultacijas, komercinį GPL programų platinimą. Tai leidžia pritraukti tuos žmones, kuriems materialinė nauda yra aukščiau idėjinės veiklos. 1991 m. GPL licenzija papildyta ir atnaujinta, nes paaiškėjo, jog netinka kai kuriems programų moduliams. Dabar gi rengiama GPL 3 – trečiasis licenzijos variantas, kuriame stengiamasi griežčiau apibrėžti išeities kodo sąvoką ir bandoma užtikrinti, jog turint šį kodą tikrai neiškils sunkumų iš jo sugeneruoti veikiančią programą.
1990 metais iš esmės buvo sukurti visi pagrindiniai moduliai, reikalingi laisvos operacinės sistemos funkcionavimui. Pats GNU idėjos autorius Stallmanas sukūrė tekstinį redaktorių Emacs, kompiliatorių gcc (GNU C Compiler) ir derintoją gdb. Būdamas gabus programuotojas Stallmanas sugebėjo pats vienas sukurti tokį kokybišką kompiliatorių, jog jis lenkė įvairius komercinius produktus, suprogramuotus profesionalių programuotojų kolektyvų. Kadangi dar prieš kūrimo pradžą pagrindinis tikslas buvo daugelio sistemų palaikymas, dabar egzistuoja šio kompiliatoriaus versijos kiekvienai operacinei sistemai. Dabar trumpinys gcc išsišifruoja kaip GNU Compiler Collection.
Tuo pat metu Free Software Foundation bendradarbiai, neatsilikdami nuo įkūrėjo, kūrė daug kitų programinių paketų. Iš jų verta ypač paminėti C biblioteką ir Shell aplinką. Taigi, visų atviro kodo programuotojų dėka GNU projektas 1990 metais praktiškai buvo baigtas. Trūko vienintelio, tačiau esminio dalyko – operacinės sistemos branduolio. Tuo metu programuotojai tikėjosi, jog branduolys (jį ėmė vadinti HURD) bus realizuotas kaip serverinių procesų rinkinys, pritaikytas Mach procesoriams, kuriamiems dviejuose universitetuose. Branduolio programavimo darbus vis nukeldavo atidėliojamas Mach pasirodymas. Ir kaip tik tuo metu pasirodė suomių studento Linuso Torvaldso sukurta operacinė sistema, pavadinta Linux vardu.
Linux OS – atviras kodas „įsivažiuoja„
1991 metais suomių studentas Linusas Torvaldsas (Linus Torvalds) nusprendė pats sukurti laisvą operacinės sistemos branduolį, nes tuo metu nei vienas egzistavęs OS variantas jo netenkino. Iš idėjos kilęs projektas buvo stulbinančiai sėkmingas – jo sukurtas Linux branduolys buvo tas paskutinis stumtelėjimas svyruojančio, bet vis neįsibėgėjančio atviro kodo programų kūrimo bumo – nuo šio laiko atviro kodo sistemų populiarumas ėmė augti progresija. Kaip prisipažįsta pats Linusas savo knygoje „Just For Fun“, visa tai jis darė tik dėl asmeninio malonumo, kurį patirdavo programuodamas.
Pirmoji Linux versija su visais išeities tekstais (originaliu kodu) buvo laivai prieinama Internetu, kas pagrinde ir lėmė jo tolesnį vystymąsi ir populiarumą. Nors Internetas 1991 metais dar nebuvo toks populiarus ir juo naudojosi palyginus nedaug žmonių, tačiau vartotojai dažniausiai buvo tie, kurie gerai išmanė IT technologijas. Ir jau pačioje pradžioje Torvaldsas gavo susidomėjusių specialistų atsiliepimų. Pradžioje prie branduolio tobulinimo prisijungė šimtai, vėliau tūkstančiai, o dabar jau šimtai tūkstančių programuotojų. Sistema iš paprasto hakerių žaisliuko virto į solidžią operacinę sistemą. Papildyta krūva laisvųjų programų, parašytų GNU projekto rėmuose, Linux tapo naudinga ir kasdieniniam vartojimui. O kadangi visa sistema buvo platinama pagal GNU GPL licenziją, tai garantavo, jog išeities kodai visada liks atviri ir laisvai prieinami. Ši laisvė kopijuoti, papildyti, trinti ir daryti ką tik nori pritraukdavo naujų programuotojų ir sistemos naudotojų, ypač iš studentų tarpo.
Reikia pripažinti, jog Linux sėkmė buvo stulbinanti. BeOS, Amiga, OS/2 – visos šios sistemos patyrė fiasko, o Apple Mac OS ir skirtingos Unix versijos nebeteko didelės reikšmės. Programuotojai, nusivylę visur karaliaujančia Windows sistema ieškodavo alternatyvų ir surasdavo Linux – sistemą, kur galėjo laisvai realizuoti visas savo idėjas.
„Tai disidentinės kultūros reiškinys“, – mano Giga Information Group analitikas Rob Enderle. „Apple šį vaidmenį prarado ir teko kažkuo užpildyti atsiradusį vakuumą. Esminis Linux bruožas – atviro kodo sistema. Šiuo aspektu ji taip skiriasi nuo Windows, jog daugiau nėra kur.“ Pamažu Linux išsikovojo pagarbą ne tik programuotojų tarpe, bet ir solidžių įmonių akyse. Pirmosios į Linux gretas įsijungė tokios kompanijos kaip Red Hat, Caldera International, SuSE ir Turbolinux. Po to prisijungė tokie milžinai, kaip Oracle, ir Linux pamažu tapo tuo, kuo yra dabar.
Paskui šias kompanijas pasekė serverių gamintojai, imdami siūlyti tam tikrus sprendimus, pritaikytus būtent Linux sistemai. Galiausiai IBM nusprendė skirti 1 milijardą dolerių Linux operaciniai sistemai pritaikytų programų asignavimui. „Linux vystosi greičiau nei bet kokia kita pasaulyje esanti operacinė sistema per visą IT istoriją“, – kalba IBM Linux technologijų centro direktorius Dan Frye.
Kalbėti apie Linux sistemos vystymąsi ir nuolatinį augimą galima dar labai daug, pateikiant statistinius faktus, originalius techninius sprendimus. Tačiau reikia nepamiršti, jog GNU ir Linux išpopuliarinta GPL (atviro kodo) licenzija ima pamažu keltis iš IT srities ir į kitas technologijas. Kartais netgi visiškai neįtikėtinas. Tad toliau – neprograminio atviro kodo istorija, kurios, galbūt, dar daugelis nėra net girdėję.
Unix istorija
OpenCola – pirmasis neprograminis atviro kodo produktas
Žiūrint labai plačiai, atviro kodo koncepcija pasaulyje buvo žinoma jau nuo neatmenamų laikų. Tai visos žinios ir įgūdžiai, laisvai perduodami iš kartos į kartą, nuolat kažką patobulinant. Iš esmės, atviro kodo pagrindu vystėsi visas mūsų pasaulis, tik niekas šio proceso taip oficialiai nevadino. Visa tai atsirado pastaraisiais dešimtmečiais, kūrybiniam darbui įgaunant vis didesnę svarbą. Tačiau ir dabar yra senuoju „atviro kodo“ principu besivystančių sričių. Geriausias to pavyzdys – kulinarinių receptų knygos. Nusiperkate ir galite juos laisvai tobulinti ir platinti. Tačiau iki šiol tik atviro kodo programos turėjo centralizuotą palaikymą, kur skirtingų žmonių patobulinimai saugomi vienoje vietoje ir jums tereikia išsirinkti, kas labiausiai patinka. Nepaisant to, ši tikroji atviro kodo koncepcija pamažu pereina ir į neprogramines sritis.
Vienas iš pirmųjų „centralizuoto“ atviro kodo strategijos žygūnų buvo prisotintas angliarūgšte vanduo OpenCola Softdrink. Manote, jog žodis Soft prilipo gazuotam vandeniui kaip priminimas, jog atviras kodas iki šiol be išimties priklausė tik programinei įrangai? Visai ne – šiuo atveju jis reiškia būdvardį, apibūdinantį gėrimą kaip „švelnų“ ir „minkštą“.
Iš pradžių OpenCola tebuvo vienos Kanados kompanijos reklaminis triukas, sukurtas 1999 metais dalyvaujant Kori Doktorou – žurnalistui ir rašytojui–fantastui. Kompanija vertėsi įvairių tinklų klientinių programų rašymu ir tokiu metodu tikėjosi sulaukti didesnio dėmesio savo produkcijai. Keletą metų kompiuterinių sistemų parodose kompanijos darbuotojai apsirengę „oficiantais“ nešiodavo pasidabruotas metalines skardines, kuriose teliuskavo gazuotas gėrimas, savo skoniu labai panašus į „komercinę“ Colos versiją. Aišku, šalia gėrimo pavadinimo ant skardinės sienelės puikavosi išsamus sudedamųjų dalių sąrašas – kaip ir priklauso atviro kodo gėrimui. Virš šio sąrašiuko ne pačiu mažiausius šriftu buvo kvietimas apsilankyti firmos puslapyje, kuriame patalpintas išsamus gėrimo receptas ir patarimai, kaip jį pasigaminti namų sąlygomis. Naujas kola gėrimas žmonėms patiko – dėl GPL licenzijos, leidžiančios laisvai modifikuoti ir nemokamai platinti receptą, gana greitai ėmė dygti naujos recepto modifikacijos.
Nors tai buvo pirmieji rimti žingsniai neprograminio atviro kodo link, tačiau pačiai kompanijai tai baigėsi nekaip. Dėl šios reklamos pasaulyje ją prisimindavo kaip „gazirovkės“ gamintoją, bet ne kaip programinės įrangos kompaniją. Per kelis metus originalaus OpenCola gėrimo buvo realizuota apie 150 000 skardinių. Ir dar bala žino kiek jos savarankiškai pasigamino patys vartotojai, nemokamai persisiuntę iš svetainės gamybos receptą. Deja, 2003 metais OpenCola kompaniją nupirko Open Text Corporation ir atviro kodo kolos palaikymas buvo nutrauktas. Nutrauktas ne šiaip atviros kolos puslapio palaikymas, tačiau net su sekliu Morka naujajame firmos puslapyje nerasite jokios užuominos apie kažkada gyvavusį projektą. Visgi daugelio entuziastų, pamėgusių šį gėrimą, dėka, per google sistemą vis dar galima surasti OpenCola pėdsakų.
Atviro kodo alus
Reikia pripažinti, jog Cola – toli gražu ne pats populiariausias gėrimas „pribrendusių“ internautų aplinkoje. Konkurencinė kova su alkoholiniais gėrimais būtų pralaimėta net neprasidėjus karui. Tad nereiktų stebėtis, jog po OpenCola pasisekimo į rinką atžygiavo atviro kodo alus.
Danijos menininkų grupė, pasivadinusi „Superflex“, nutarė GPL koncepciją panaudoti kiek kitoje nei programos srityje ir sukūrė „Atviro kodo“ alų; išleista jau 3.0 šio alaus versija. Prieš tai buvo išleistos jo 1.0, 1.5 ir 2.0 versijos. Beje, pasirodė, kad lygiai kaip ir atviro kodo programų naujos versijos, taip ir „atviras“ alus tampa vis geresnis. Šis alus atviras taip, kaip ir atvirojo kodo programos – jo receptą gali pasiimti visi, kas tik nori, ir daryti kokius tik nori pakeitimus ir patobulinimus. Bet kiekvienas, kas nutaria gaminti šį alų, privalo viešai paskelbti, kokius pakeitimus padarė savo recepte. Superflex registruoja receptūros patobulinimus savo interneto tinklapyje www.freebeer.org ir kas pusmetį išleidžia ir viešai paskelbia atnaujintą „atviro alaus“ receptą – panašiai kaip kompiuterinės programos naują versiją.
Projektą koordinuoja Birthe Skands, buvusi Carlsberg gamybos technologė. Ji siūlo visiems padėti sukurti geresnį alų, o mainais gauti visų kitų alaus daryklų, prisijungusių prie šio projekto, patirtį. Alus jau susilaukė didelio pasisekimo Danijoje – pirmoji jo 2850 butelių partija buvo parduota per vieną dieną, o užsienio aludariai jau prašo šio alaus distribucijos teisių.
Gal ir Lietuvos alaus daryklos susidomėtų šia idėja? Be jokios abejonės, toks alus taptų populiarus kompiuterių mėgėjų tarpe, ypač tarp tų, kurie nelabai myli komercinės programinės įrangos gigantę „Microsoft“.
Atviras kodas mokslo ir meno padangėje
Gyvenimo išmintis byloja, jog alkoholis – dar ne viskas. Reikia ir užkandos ;). O užkanda šiais laikais – žinios. Norintys papildyti savo mokslinių žinių bagažą, gali iš karto keliauti į Open Course Ware puslapį, prižiūrimą Masačiusetso technologijų universisteto darbuotojų. Šiame puslapyje esanti mokslinių darbų kolekcija su laiku, kaip žada patys kūrėjai, bus papildyta visų be išimties kursų moksline ir mokomąja medžiaga. Tai tarsi galimybė iš bet kurio kompiuterio pažvelgti į garsiausių MIT profesorių konspektus ir užrašus. Ir visa tai leidžiama su Creative Commons licenzija.
Tiksliųjų mokslų atstovus pasekė ir mūzų gerbėjai. Vienas pirmųjų drąsuolių menininkų, pasiryžusių kartu su skaitytojais žingsniuoti nenuspėjamame kūrybos procese, buvo rašytojas Kori Doktorou. Tuo nereikia labai stebėtis – juk OpenCola irgi buvo jo idėja, tad visai nekeista, jog atviro kodo sistemą rašytojas nusprendė išbandyti ir asmeniniame kūrybos procese. Be jokių apribojimų į internetą Doktorou patalpino du savo romanus ir apsakymų rinkinį.
Tokių drąsuolių pamažu daugėjo. Vienas iš jų – Lourenc Lessing – aktyviai rinkosi savanorių bendraautorių komandą savo išgarsėjusios knygos „Code And Other Laws of Cyberspace“ antram leidimui paruošti. Kiekvienas, kas užkibo ant knygoje išsakytų minčių, galėjo palikti savo įrašus ir pasiūlymus. Kad procesas būtų maksimaliai patogus, panaudota Wiki sistema.
Truputį kitokios taktikos ėmėsi fantastas Nil Stivenson – jis pirma parašė istorinę–fantastinę knygą „Quicksilver“, greitai tapusia bestseleriu ir po to projekto Metaweb rėmuose tiek pats autorius, tiek ir knygos gerbėjai galėjo rašyti komentarus ir papildyti neaiškias istorijos vietas (tai netgi labai naudinga, nes knygoje pasakojami įvykiai iš XVII – XVIII amžių, tad istorijos patikslinimai leidžia dar labiau sudominti skaitytojus).
Link neprograminio atviro kodo flagmano – literatūros – septynmyliais žingsniais artėja šiuolaikinė muzika. Bendruomenės CC Mixter leidžiamas žurnalas Wired legaliai, atviro kodo pagrindu, publikuoja įvairių kurinių miksus, atsiųstus gerbėjų ar šiaip muzikos mėgėjų.
Atviro kodo automobilis
Prie menininkų ir alučio mėgėjų prisijungia inžinieriai. Buvęs BMW darbuotojas Markas Merzas iš Vokietijos sugalvojo panaudoti šią GPL koncepciją ir automobilio kūrimui. Savo projektą jis pavadino „Oscar“, pagal sutrumpintus žodžius „Open Source Car“.
Šį užsiėmimą M. Merzas vadina pomėgiu, bet tikisi, kad prie automobilio kūrimo prisidėję žmonės, nesuvaržyti patentų, pelno siekių ir, pagaliau, nekontroliuojami viršininkų, sugebės pasiūlyti naujų sprendimų. „Oskaro“ interneto tinklalapis yra tarsi kuriamo koncepcinio automobilio pagrindinis biuras, formuluojantis bendro darbo tikslą, pavyzdžiui, sukurti 4 m ilgio ir 2 m pločio keturių durų automobilį, varomą elektra, o jo darbuotojai yra išsibarstę visame pasaulyje.
Darbuotai dalijasi idėjomis interneto forumuose, suskirstytuose pagal tematiką, ir ieško geriausių dizaino, technologinių ir kitų sprendimų. Darbo rezultatas tampa visų nuosavybe ir nėra konfidencialus ar saugomas patentų.
Vienas iš projekto dalyvių, Lukas Neckermanas iš Miuncheno, mano, jog projekto pagrindinė varomoji jėga – išlaisvintas kūrybiškumas ir aistra automobiliams, ir tai leidžia pasiekti puikių rezultatų.
Tačiau projektas turi trūkumų – greičiausiai automobilio prototipas taip ir nebus sukurtas, kitaip negu atviro kodo programos, tačiau „Oskaro“ projektas tam ir nėra skirtas. Nors M. Merzo nuomone, nedidelės automobilių gaminimo įmonės gali susidomėti sukurtais trimačiais brėžiniais ir atliktais skaičiavimais bei imtis gaminti tokį automobilį.
Atviras kodas skinasi kelią projektuotojų gretose
Kitas ne ką mažiau intriguojantis atviro kodo projektas – grupė japonų robototechnikos specialistų pagal atviro kodo licenziją publikavo savo PINO roboto brėžinius ir konstrukcijos specifikacijas. Įdomu tai, jog tai ne šiaip mokslinis projektas, o kompanijos ZMP gaminamas serijinis gaminys. Inžinieriai tikisi, jog robotui lemtis nusišypsos ir jis pakartos Linux pergalingą žygį, tik šįkart robototechnikos srityje.
Dar vieni entuziastai bando plėtoti ateities miesto transporto kūrimą atviro kodo pagalba. Projekto Open Source Velomobile Development Project rėmuose entuziastai bando sukurti naują ir originalų dviratį. Nors patarlė byloja, jog dviračio antrą kartą neišrasi, tačiau ji netrukdys sukurti egzotines transporto priemones, labiau panašias į Formulę 1, nei į standartinį dviratuką.
Atviro kodo telefonas – naujas žingsnis GSM pasaulyje
Peršasi mintys, jog atviras kodas pamažu įsivažiuoja. Šias mintis tik patvirtina augantis atviro kodo sprendimų skaičius. Štai dabar planuojama išleisti pirmąjį pasaulyje mobilųjį telefoną, veikiantį atviros programinės įrangos pagrindu. Neo1973 taps pirmuoju telefonu, pritaikytu OpenMoko aplinkai (veikiančiai Linux pagrindu). Telefonas, suderinamas su GSM tinklu, gaminamas kompanijos FIC, kuri ir pradėjo OpenMoko projektą.
Pagal dabartines prognozes, tai gali tapti iki šiol garsiausia neprograminio atviro kodo sistema. Telefone įdiegta atviro kodo sistema leis visiškai laisvai atlikti bet kokius jums norimus veiksmus – instaliuoti visą įmanomą programinę įrangą, redaguoti išeities kodus ir netgi ardyti patį telefoną. Iš išorės telefonas praktiškai nesiskiria nuo konkurentų gaminių ir netgi juos lenkia. Jis turi 2,8 colių prisilietimams jautrų VGA displėjų (480x640 pikselių), 128 MB SDRAM, 64 MB NAND Flash atminties ir išplėtimo lizdas MicroSD kortelėms. Taip pat yra USB1.1, integruota AGPS, Bluetooth 2.0 ir krūva kitų malonių smulkmenų – kam įdomu, pasiskaitykite gamintojo puslapyje.
Kita labai įdomi detalė – telefoną galima pirkti dviem variantais. Tiesiog telefoną (Neo Base) ir Neo Advanced – juodą hakerio lagaminėlį su krūva „smagumynų“ – be pačio telefono surasite visus reikalingus komunikacijų kabelius, atminties korteles, derinimo plokštę Debug Board v2 (su JTAG ir nuoseklia komunikacijų jungtimi) ir netgi įrankius korpuso išardymui. Tai tiesiog šimtaprocentinis atviro kodo variantas. Iš tikro kažkas nuostabaus – verta laukti pačių įvairiausių neatskleistų telefonų savybių, kurias šimtai hakerių išnagrinės po dalelę.
Neo Advanced rinkinukas
Rinkoje telefonas žada pasirodyti šių metų gale, tačiau užsakymai internetu priimami jau dabar. Skirtingų variantų kainos yra tokios:
- Neo Base : $300 USD
- Neo Advanced : $450 USD
Epilogas
Ką galima pasakyti vietoj epilogo? Turbūt tai, jog atviras kodas – iki nesuvokiamų ribų efektyvi priemonė technologijoms vystyti. Tereikia šiam pamažu riedančiam akmeniui vis labiau įsibėgėti ir galbūt po kelerių metų mes turėsim realizuotus tokius sprendimus, kokie dabar net neįsivaizduojami. Ir tai tik pati atviro kodo vystymosi pradžia – juk nėra srities, kur nebūtų galima jo pritaikyti ir pasiekti žymiai geresnių ir novatoriškesnių rezultatų.