Monday, August 17, 2009

Monday, May 11, 2009

GPL ja BSD litsentsi võrdlus kahe vaba projekti näitel

GPLiga kaitstud projekti vast tuntumaiks näiteks on Linux. Linuxi lähtekood on endiselt avalik ning tasuta, Red Hat’i poolt kirjutatud lähtekood kuulub kõigi reeglite kohaselt samuti GPL litsentsi alla ning on vabalt kättesaadav kõigile. Red Hat saab kasumit, müües lähtekoodile juurde teatud lisaväärtusi (lisarakendused, dokumentatsioon, kasutajatugi), mis on kommertskasutajale olulised (T.Jõesaar, 2008,  Tarkvara hübriidne arendus- ja ärimudel, magistritöö). Red Hat rahastab samas ise avatud lähtekoodiga tarkvara loomist, makstes palka mitmetele Linuxi arendajatele.

BSD-d kasutatakse enim loomulikult BSDopsüsteemi arendusel (nt FreeBSD Unix opsüsteem). Mainitud opsüsteem kogub tuntust eelkõige oma lihtsuse, töökindluse ja turvalisuse poolest. Milline on nende arenduste vahe? 

FreeBSD kernel ja enamus koodi on lastud välja BSD litsentsiga, samas on osa komponente kasutusel teiste avatud litsentsidega nagu GPL, LGPL või ISC. Linuxi kernel ja enamus tarkvara on litsentseeritud GNU GPLi litsentsiga, mis on teatavasti Free Software Foundationi poolt loodud. Erinevus on ka opsüsteemide arendustes ja nimelt selles, et Linuxi puhul arendatakse erinevad osad eraldi ja liidetakse alles tootestamisel. FreeBSD puhul toimub arendus aga ühe tervikuna. FreeBSD on leidnud kasutamist webiserverina (Yahoo! Sony Japan etc), desktopil toimetab aga vääramatult Linux. Lisaks on Linux kasutusel ka webiserverina. Aga mis kõige tähtsam - BSD boodib ja reboodib kiiremini kui Linux! 

Allpool lühidalt ka sellest, millised on põhilised erinevused GPLi ja BSD vahel.

GPL tarkvara võib vabalt kopeerida, avada, muuta ja täiendada ning edasi levitada nii originaal- kui muudetud kujul. Kõige selle eest tuleb "maksta" vaid autori poolt lisatud (ja tema andmeid sisaldava) dokumendi ning GPL litsentsi (mis algab klausliga, et litsentsi võib vabalt levitada, kuid mitte muuta!) lisamisega edastatavasse tarkvarasse - nii on ka edasiantav tarkvara saanud GPL objektiks.  (http://akadeemia.kakupesa.net/arhiiv/VR1/loengud/loeng8)

GNU avalikku litsentsi (GNU Public License, GPL) peetakse kõigi avatud lähtekoodi litsentside eelkäijaks ning see on siiani arendajate seas eelistatuim (mõningatel hinnangutel kuni 85% kõigist projektidest). [Woods&Guliani, 2005]

GPL ja BSD litsentside esimene erinevus seisneb selles, et GPL on copyleft ja BSD non-copyleft. Mitte-copyleft -litsentsid võimaldavad tuletatu koodist ka ärivara teha.  Teine erinevus seisneb selles, et BSD litsentsi ei saa kitsendada, GPLi saab ning kolmandaks laieneb litsents GPLi puhul kõigile tuletistele, BDS puhul aga mitte. Oma olemuselt peetakse GPL litsentseerimist rangemaks ja keerulisemaks. BSD litsents võimaldab tarkvara probleemideta siduda teiste mitte BSD litsentsiga tarkvaraga ja sh ka kommertstoodete loomiseks. See säästab arendajate ressurssi ja raha olulisel määral. 

Samas on mõlemal litsentsil ka teatud puudused ja kumbagi neist ei saa nimetada täiuslikuks, nagu ei saa täiuslikuks nimetada vist ühtegi litsentsi.

 

 

 

 

Kahe vaba projekti võrdlus arenduse vaatenurgast

Võrdleme Linuxit ja FreeBSD-d.

FreeBSD on parem kui Linux (geekmalaya.com - 22/01/2009)

1.                                BSD litsents lubab kasutajal modida programmi lähtekoodija ei kohusta avalikustama muudatusi

2.                                BSD on nn tuumiksüsteem (ilma lisanditeta)

3.                                 BSD puhul installeeritakse kõik add-on paketid rangelt /usr/local directory

4.                                BSD on FFS failisüsteem

5.                                BSD jagab oma partitsioone sisemiselt

6.                                Kõik BSD süsteemid omavad Linux emuleerimise tuge

7.                                BSD kernelit saab seadistada mitmel erineval turvatasemel

8.                                BSD boodib ja reboodib kiiremini kui Linux

9.                                Võrreldes BSDga on enamus Linuxi tarneid ülepaisutatud

10.                             ...

Arenduse vaatenurgast on erinevus eelkõige selles, et BSD arendatakse kui tervikut aga Linuxi puhul arendatakse "juppe" eraldi ja need liidetakse alles nö tootestamisel. On ka rida väiksemaid erinevusi aga need ei ole kuigivõrd olulised arenduse kui protsessi vaatenurgast. Samas ei ole loomulikult võimalik öelda, kumb tarkvara parem on, sest kehtib ka siin reegel, et otsustavaks saab see, milleks on vaja tarkvara kasutada. 

 

Eric S. Raymond, "The Cathedral and the Bazaar"

Raymond kirjeldab sissejuhatuseks, kuidas ta avastas, et lisaks konservatiivsele ehk tema tähenduses Cathedral-arendusele on olemas kaootiline ehk Bazaar-arendus. Ja uskumatul kombel on see efektiivne ja praktikas täiesti toimiv (Raymondi jaoks). Edasi jätkab ta selle kirjeldamisega, kuidas  asudes lahendama enda jaoks praktilist probleemi avastas nii mõndagi olulist. Ja selle olulise väljendab ta siis ühelauselistest loosungites. Kohati meenutab Raymondi käsitlus Piibli jutustusi, kus läbi selgete ja praktiliste "päriselu" näidete jõutakse mõne fundamentaalse tõdemuseni a'la kui sul on õige suhtumine, siis huvitavad probleemid tulevad ise sinu juurde! 
Vahepeal sukeldub Raymond Bazaari kui arendusvormi lahkamisele ja teeb seda põhjalikult. Analüüsib erinevaid seoseid ja teeb järeldusi. 
Kokkuvõtvalt ei öelda essee jooksul midagi ülemäära originaalset vaid pigem korratakse teada-tuntud tõdesid, mis leidnud rakendamist näiteks suvalise grupitöö korral, kus grupil on vaja lahendada mingi kindel probleem. Erinevus eelkõige selles, et Bazaari tegevus toimub virtuaalses keskkonnas ja vaja on erilist intuitsiooni ning oskust nö ridade vahelt aimata kolleegi hetkemeeleolu või tuju. Kirjeldusest jääb mulje, et Raymond valdab sedalaadi inimesetundmist üsna hästi.

Eben Moglen, "Anarchism Triumphant"

This paper shows why free software, far from being a marginal participant in the commercial software market, is the vital first step in the withering away of the intellectual property system - see lause ütleb lühidalt ja täpselt ära selle, millest see artikkel räägib. 

Autor arutleb üsna põnevalt erinevatel tarkvara arendust puudutavatel teemadel, annab lühiülevaate maailma ja arusaamade muutumisest 80-datel, selgitab kuidas tema näeb muutuste põhjuseid ja püüab vastata küsimusele miks? Sekka seletab Mogelen üsna põhjalikult vaba tarkvara litsentseerimisega seotud arenguid ja kirjeldab, kuidas on maailm jõudnud GPL-ini läbi GDB ja GNU. Ehk teiste sõnadega kirjeldab Richard M. Stallman'i ristiretke 80-date algusest. 

Autoriga võib nõus olla, võib ka mitte. Põhiline on see, et ta annab tänases üdini materialiseerunud maailmas justkui elementaarsele olukorrale pisut teistsuguse lähenemisnurga ja paneb mõtlema, et kas me (täpsemini ärimehed ja juristid:) ei ole üle pingutanud omandiküsimustes ja seeläbi usinalt pidurdanud normaalset arengut?

Samas tundub, et antud küsimuses on tegemist omalaadse evolutsiooniga ja selline asjade käik oli/on mõnes mõttes paratamatu. Säilib aga lootus, et kunagi jõuame tagasi nö 70-datesse, tarkvara ei käsitleta omandina ning ühisarenduse tulemusena valmivad tõeliselt head ja veavabad tooted. Aga see eeldab esmalt seda, et tarkvara kasutajate-tarbijate teadlikkus on tõusnud sel määral, et nad oskavad eristada head halvast ja nn käivitajaks võiks siin olla avalik sektor. Üsna mitmed sajad miljonid (kui mitte miljardid!) kroonid kaovad täna litsentseeritud tarkvara ülevalpidamiseks avalikus sektoris selmet kasutada alternatiivset, töökindlamat ja tasuta tarkvara. 

Mõelgem hetkeks selle peale, härrased ministrid!

 

 

 

Hacker-HOWTO by Eric S. Raymond

Raymond defineerib häkkeri mõiste ja avardab selle tähendust. Ehk siis häkker ei ole ainult it-friik vaid võib Raymondi definitsiooni kohaselt olla kasvõi pottsepp, peaasi, et oleks omal alal tipptegija ja talle oleks omased teatud häkkereid iseloomustavad reeglid. Kindel tingimus on see, et sa oled oma valdkonnas tuntud läbi valdkonna arendamise antud panuse.  Selline kohati meelevaldne tõlgendamine võib ju tunduda atraktiivsena aga tegelikult on vähemalt täna häkkeri mõiste avalikkuses seotud arvutitega ja sellel terminil on küljes selge negatiivne tähendus. 
Raymond püüab eraldada sikud lammastest ja kirjeldab, mis eristab päris häkkereid muidu-häkkeritest ehk kräkkeritest. Nn häkkerite maailmas võib sellel ju isegi mõte sees olla, samas on päriselus sageli tegemist segatud tüüpidega ehk on kindlasti olemas häkkerid, kes on natukene ka kräkkerid ja kräkkerid, kes on pisut ka häkkerid. Mõnes mõttes on häkkeriks saamine võimalik sageli ainult läbi selle, et enne ollakse kräkker ja sealt kasvatakse välja häkkeriks ehk jõutakse selle maailma evolutsiooni kõrgeimale astmele. 
Kuigi jah, kräkkerit eristab häkkerist see, et nemad lõhuvad ja häkkerid loovad. Samas võiks täiesti vabalt kohaldada häkkerlikku suhtumist kräkkeritele. Ka nende maailm on täis imelisi lahendamistvajavaid probleeme, nendegi ajud on väärtuslikud ja ressurss piiratud, ilmselt on kräkkerid autoritaarsuse vastu ja ka (tipp)kräkkeriks saamine nõuab intelligentsust, praktikat, pühendumist ja rasket tööd. Siit tekibki küsimus, et kas selline jagamine headeks - pahadeks, loojateks- lõhkujateks on kõige mõistlikum? Ilma häkkeri põhioskusteta ei saa ka kräkker hakkama. Suurim vahe nende samaaegselt sarnaste kuid siiski erinevate kultuuride vahel seisneb vast eesmärkides. Kräkkerid on ilmselt rohkem motiveeritud teenima raha ja lõhkuma süsteeme teinekord lihtsalt lõbu pärast samas kui häkkerite eetika põhieelduseks on oma intellektuaalse potentsiaali tingimusteta jagamine teiste samasugustega. 
Raymondi järgi on stiilne häkker perfektses emakeeles (ja soovitavalt inglise keeles) kirjutav, ulmest huvituv, idamaist võitluskunsti valdav mediteeriv pilli mängiv muusikahuviline "killumees/naine". Selle definitsiooni järgi võib konstrueerida päris huvitava profiiliga häkkereid. Kuid samas on selline suhteliselt jäik nomenklatuur stiilsele häkkerile püstitatud nõuetest ahistav. Korralik keeleoskus on elementaarne aga raske nõustuda, et ulmest huvitumine oleks määravama tähtsusega kui ajaloohuvi või idamaised võitluskunstid tähtsamad kui pühendumine vastupidavusaladele. Pillimängu ja lauluoskus on sageli kinni geenides ja inimesele, kes tahab olla tubli häkker aga muusikalist kuulmist ei ole, on ainsaks väljundiks punk kui oskuste suhtes kõige tolerantsem muusikastiil. No ja mis puudutab killuoskust, siis see kas on kaasasündinud või ei ole...
Ehk siis kokkuvõtvalt võib öelda, et häkkerlust kui kultuuri iseloomustav teatav anarhistlik suhtumine on kerge kaduma kui asuda kehtestama reegleid ja norme ja seeläbi kedagi kas "klubisse" arvama või mitte. 

Sunday, May 10, 2009

Wesnoth - "roheliste" kampaania arvustus

Retsenseerimise hetkeks (10.05.09, kell 11:00 A.M) on kahjuks valmis ainult kahe tiimi mängud, "punased" ja "rohelised". "Punaste" liikmena tuleb siis kommenteerida - retsenseerida "rohelisi". "Rohelised" on oma kampaaniaga "Oravamaa seiklused" vaeva näinud. Mäng töötab st kriitilisi bugisid silma ei hakanud. Au ja kuulsus! Stoori on originaalne, tegelaste disain  enamuses õnnestunud (v.a Rein Raevukas, kes on visuaalselt käkk) ja lugu mängitav. 

Eriti ilus on mängu algus, kenad taustapildid, liigutav muusika. Kaartidega on vaeva nähtud aga võiks veel näha:). Kuna kõigis kolmes mängus on ainult üks vaenlane ja eesmärgiks vaenlane tappa, siis on mängude algus suhteliselt igav - tuleb jalutada palju mööda kaarti enne kui tegevust leiad. Sellise lahenduse korral oleks võinud kaardid väiksemad olla. Samuti võiks vaenlaseid olla  rohkem ning mängu lugu võimaldaks ka keerukamat lahendust kui ainult vaenlase tapmine. 

Mäng on tasakaalustamata ja seda "rohelised" ka kolmandal levelil ise ettenägevalt tunnistavad. Vaenlased on suhteliselt väetid ja nende alistamine ei ole just kõige keerulisem. Seda isegi raskemal tasemel.  

Lugu mängides tekkis mitmelgi puhul nö äratundmisrõõm. See tähendab seda, et kergelt on spikerdatud "punaste" kampaaniast. No alates kasvõi nimest.  "Joomasõprade seiklused" ver "Oravamaa seiklused". Oleks võinud veidi originaalsem olla ja nimetada nt "Oravamaa taplused" vms:)) Kohati kõlasid mängu tekstides tuttavad lausekonstruktsioonid. Aga need on juba sellised detailid, mis kokkuvõttes ei muuda suurt pilti.

Kõige rohkem on panustanud projekti Indrek ja Tehiskangelane. Teised kas ei ole üldse või on seda teinud nii kavalalt, et see lihtsalt ei paista välja. Mine tea, igal grupil oli vabadus ise otsustada, kes millisel etapil palju panustab.

Aga kui "rohelised" veel pisut pingutava, siis saavad ehk ka tõeliselt hea mängu valmis. Ainest ju oleks!