Friday, December 9, 2011

13. ülesanne: Veeb ja sotsiaalne tarkvara 5-10 aasta pärast

Veeb muutub üha enam interaktiivseks keskkonnaks, mis loob kasutajaga suhte, mis ei põhine ainult infovajaduse rahuldamisel. Veeb oma algupäevil oli lihtsalt veel üks kanal, kust infot hankida. Usun, et tänapäeval ei saa seda enam keegi väita. Rakendused, sotsiaalsed kogukonnad ja võrgustikud kaasavad kasutaja sedavõrd, et elame justkui kahes maailmas: materiaalses ja virtuaalses maailmas. Usun, et see tendents jätkub ja 5-10 aasta pärast kasutatakse veebi veel rohkem kui tänapäeval.

Üha enam põimuvad erinevad keskkonnad ja info, mis elab andmebaasides, võib ühe inimese kohta olla sedavõrd suur, et isegi tema lähedased ei tea temast nii palju. Tulevikus teavad rakendused kõike sinu eelistusi, toodete pakkumised, personaliseeritud reklaam tehakse põhjaliku andmekaeve põhjal ja kasutaja ei pea info otsimiseks suurt vaeva nägema. See on ühtaega tohutult kasulik ja aegasäästev ning teisalt väga suureks ohuks. Teada on fakt, et mida võimalusterohkem on keskkond, seda rohkem turvaauke selles on. Täielikult turvalist keskkonda ei eksisteeri.

Facebook on sotsiaalse võrgustiku lipulaevaks ja usun, et seda keskkonda järgneva 5-10 aasta jooksul välja ei vahetata, kui selle arendus- ja juhtimistiim vähegi mõistlikke otsuseid teeb. Kasutajaskond on paisunud niivõrd suureks, et raske on näha esile tõusmas arvestatavat konkurenti. Kindlasti tekib alternatiivseid keskkondi, mis on suunatud veidi väiksemale seltskonnale, aga puhtalt sotsiaalse kogukonna näol vastast ei leidu.

Loodan, et jätkub kogukondliku tarkvaraarenduse võidukäik ja vaba tarkvara levik. Usun, et võimuvahekord vaba tarkvara arenduse ja kommertstarkvara vahel jääb laias laastus samaks või pigem kaldub see vaba tarkvara poole.

Kokkuvõttes loodan, et areng jätkub, kuid tähelepanu tuleb pöörata võimalikele riskidele, mis arenguga kaasnevad. Kui suudetatakse ära hoida või minimiseerida ohud, siis julgen oodata sotsiaalse tarkvara ja veebi võimsat edasiminekut.

12. ülesanne: 3 juhtumit manipulatsioonide ja pettuste vallast

Juhtum 1
Kahjuks ei mäleta, kus ma selle juhtumi kohta kuulsin ja võin eksida mõnes juhtumi detailis, kuid skeem ja saadud raha olid väga märkimisväärsed. Parkimisplatsi kõrval oli müntidega töötav parkimisautomaat. Parkimisplatsi kasutajad olid sellega harjunud ja kasutasid seda parkimise eest tasumiseks.

Ühel päeval juhtus intsident, mille käigus parkimisplatsi omanikud pärisid riigiametilt (sest nad arvasid, et see on sealt pärit) selle aparaadi kohta. Riigiamet vastas, et nemad ei ole seda parkimisautomaati sinna pannud. Siis selguski, et mingi kaval tegelane oli selle sinna ise üles pannud ja viie aasta jooksul ligi 8 miljonit dollarit selle abil teeninud. Väga hea näide tänapäeva bürokraatia ja asjaajamise ebaeffektiivsuse kohta.

Juhtum 2
Teine juhtum puudutab minu isiklikku kogemust. Kunagi trennis käies oli mul üks trennikaaslane, kes ühel hetkel hakkas nii mulle kui ka minu sõpradele pakkuma imelist investeerimisvõimalust - a la et annad talle 10 000 krooni ja kuu aja pärast saad 15 000 tagasi. Esialgu oli huvilisi vähe, kuid kui üks sõpradest otsustas proovida ja tõepoolest raha sellisel kujul suure protsendiga tagasi sai, siis olid ka teised sõbrad õhinas ja soovisid investeerida.

Olin algusest peale selle skeemi suhtes skeptiline ja andsin sellest ka sõpradele teada, kuid see neid ei takistanud. Mitmed sõbrad otsustasidki oma raha sellele tegelasele anda. Ühel hetkel kaduski pettur koos rahaga pildist. Ei tea täpselt, kas see oli luhtunud äri või algusest peale kavandatud skeem, aga siit moraal, et kui asi tundub liiga hea, et tõsi olla, siis tõenäoliselt seda ta ongi.

Juhtum 3
Kui nüüd IT valdkonna juurde suunduda, siis olen teadlik enamustest tänapäeva petuskeemidest ja üritan kriitiliselt suhtuda internetis info levitamisele ja erinevate rakenduste kasutamisesse. Paljud minu sõbrad, kes ei ole nii IT teadlikud on sattunud viiruste ohvriks. Õnneks on viirused seni piirdunud arvuti tuksi keeramisega ja mitte delikaatse info kasutamisega või levitamisega. Teadlikust taoliste rakenduste ja petuskeemide kohta peab kindlasti tõstma. Inimesed ei saa internetti pidada lõputu vabadusega ohtudeta keskkonnaks.

Sunday, December 4, 2011

11. ülesanne: Vabade tarkvara projektide võrdlus arenduse seisukohast

Järjekordselt kasutan võrdlemisel endale tuntud CMS süsteemi Drupal ja JavaScript raamistikku jQuery. Arvan, et seda on hea võrrelda, millega juba tuttav oled. Seni olen nii Drupali kui ka jQuery puhul olnud pigem kasutaja kui arendaja rollis, kuid aktiivse kasutajana puutub tihti kokku arendusmudeliga. Toon välja mõned kategooriad, milles neid vabavaralisi projekte võrdlen.

Kogukond ja arenduse suunad
Mõlemal projektil on suur kasutaja- ja arenduskogukond. Arendajad jagunevad laias laastus kaheks: need kes arendavad projekti baasosa ja need kes arendavad laiendusi - mooduleid(Drupal)/pluginaid(jQuery). Veel on levinud arendajatüübid, kes keskenduvad nii baasosa kui ka laienduste parandamisele või lihtsamate koodijupikeste loomisele ja jagamisele (näiteks blogipostitustes). Kasutajad ühinevad tihti arendusprotsessi teatades leitud vigadest või soovitades programmeerijatele arengusuundade valimist (Drupalis feature request). Kogukonnamudel ja arendamise suunad on mõlema projekti puhul väga sarnased.

Versioonihaldussüsteem
Põhiliseks versioonihaldussüsteemiks on mõlemal projektil Github. See on populaarne süsteem, mida kasutavad paljud tuntumad arenduskogukonnad. Järeldub, et ka selles vallas on valitud projektid sarnased.

Põhiline veaparanduste süsteem
jQuery kasutab veaparandusteks nn pileteid (tickets). Drupalis on kasutusel issue postitused, mis sarnanevad foorumi taolisele arutlusele. Issue postitaja saab määrata kriitilisuse taseme, suunata selle kindlale arendajale, määrata staatuse jne. Väga sarnaselt on see teostatud ka jQuery veaparanduste süsteemis.

Järeldub, et vähemalt valitud kategooriate alusel on projektid väga sarnased, kui mitte öelda identsed. Arvestades mõlema projekti edukust võib järeldada et see süsteem toimib.

Sunday, November 27, 2011

10. ülesanne: "How To Become A Hacker" hinnang

Eric S. Raymondi poolt kirjutatud How To Become A Hacker dokumendi lugemine pakkus huvitavaid elamusi. Lugesin seda dokumenti esimest korda ja see pakkus üllatavalt palju äratundmisrõõmu - palju tekstis mainitud isikuomadusi ja tõekspidamisi käisid ka minu kohta.

Arvan, et Raymond on väga hästi suutnud kokku võtta ja kirja panna häkkerite loomuse. Dokumendi lugemisel ilmneb kiiresti, et häkkeriks olemine tähendab palju rohkemat kui lihtsalt programmeerimist. Koodi kirjutamisel on mõistagi väga suur osa, aga see, et sa oskad programmeerida, ei tähenda kaugeltki, et sa oled häkker. Sõna häkker tähistab hoopis omamoodi eluviisi. Võttes omaks dokumendis mainitud põhitõed ja elades nende järgi on tõesti võimalik pidada ennast häkkeriks. Tegelikult ei saa ise ennast häkkeriks kvalifitseerida, seda pead sa olema ka teiste silmis.

Mulle meeldis väga dokumendi jagamine loogilistesse kategooriatesse: suhtumine, põhioskused, staatus häkkerikultuuris. Häkkeriks olemine nõuab vastavat suhtumist, kindlaid oskusi ja staatusel häkkerikultuuris on väga suur roll. Ka nn "Stiilipunktide" osas mainitud lisandväärtused olid minu silmis väga tähtsal kohal. Nende abil on võimalik tekitada vastav meelestatus, mille abil suunduda põhitõdede juurde. Kui häkkeriks pürgijal on kahtlusi, kas ta saab end häkkerina kvalifitseerida, siis KKK abil leiab ta sellele küsimusele kiire vastuse.

Kokkuvõttes arvan, et seda dokumenti saab pidada teatavat sorti häkkeri standardiks, mida järgides on võimalik saavutada soovitud staatus.

Sunday, November 20, 2011

9. ülesanne: Vaba litsentsi kirjeldus

Selle nädala ülesandeks oli kirjeldada ühte vaba litsentsi lähemalt. Valisin GPL litsentsi, sest olen enda lõputöö käigus valminud programmijupile sama litsentsi lisanud.

GNU General Public License on copyleft litsents, mis on mõeldud tarkvarale ja ka teist sorti loomingule. Kui teised tarkvara litsentsid on loodud levitamise ja muutmise õiguste piiramiseks, siis GNU GPL eesmärgiks on eelnevale vastupidiselt tagada vabadus programmi levitamisel ja muutmisel. Programmi loomisel ja GPL litsentsi all avaldamisel on loojal kohustus austada litsentsiga teistele tagatud vabadust (allikas http://www.gnu.org/licenses/gpl.html).

GNU GPL, loodud Richard Stallman'i poolt, on vaba tarkvara liikumise nurgakiviks. Suurem osa vabast- ja avatud lähtekoodiga tarkvarast kasutab seda litsentsi ja seda peetakse Free Software kogukonna filosoofiliseks alustalaks (allikas http://www.free-soft.org/gpl_history/).

Arvan, et GNU GPL suurimaks eripäraks on õiguste jagamine näiteks tarkvara kasutamisel. Tüüpiliselt on litsentsid piirava iseloomuga. Vaba tarkvara liikumine toetub antud litsentsile, sest selle tingimused väljendavad hästi kogukonna filosoofiat.Olen tänulik, et GNU GPL on nii laialt levinud ja hästi vastu võetud inimeste poolt, sest tänu sellele areneb IT järjest jõudsamalt ja kogukondlik arendusmudel muutub üha tähtsamaks.

Sunday, November 13, 2011

8. ülesanne: Autorikaitse ja intellektuaalomandi hetkeseis

Autorikaitse ja intellektuaalomandi temaatika on eksisteerinud inimeste eksistentsi jooksul. Põhiliseks vormiks  on olnud vaidlused näiteks teemal: keegi tuli heale mõttele ja keegi teine varastas selle mõtte ning pani enda kasuks tööle. Kahjuks ei ole tänapäevani suudetud välja töödata süsteemi, mis kaitseks mõtte loojat selle varguse eest. Peale selle leidub inimesi, kelle ideed ei oma mittemingisugust hüvangut teistele inimestele ja kes kasutavad ära hetkeolukorda tulu teenimiseks. Tänapäeva süsteemil on mitmeid puuduseid:
  • Pea igal uuel seadusel leitakse nõrgad kohad, mida saab mitut moodi tõlgendada ja seega ära kasutada enda huvides. Nii võibki idee tegelik omanik kaotada mõtte õigused isikule, kes ise tunneb või kes kasutab inimesi kes tunnevad hästi seaduseid ja nende nõrku kohti.
  • Loodud seadused pannakse enda kasuks tööle. See on eelmise vastandolukord: inimene kasutab ära seaduse sätteid enda väärtusetute mõtetega tulu teenimiseks. Näiteks juhtumid, kus inimene on pildistanud mingit objekti, millele omanik on seadusest tulenevalt pannud peale piirangud, mis keelavad selle fotografeerimist ja pahaaimamatu juhuslik pildistaja võibki saada suure trahvi osaliseks.
  • Intellektuaalomandi mõiste on muutunud väga ähmaseks. Kui mõelda sõnale ise, siis selle esimene pool viitab intelligentsile. Kahjuks pole paljude tänapäeva patendeeritud esemete ja ideede kaitsmisel mõeldud absoluutselt intelligentselt. Kaitstakse täiesti absurdseid asju, millest ei ole kellelegi midagi kasu. Iseeneset ei ole see väga kahjulik, aga kui mõelda sellele, et keegi on need patendid vastu võtnud ja sellele palju aega kulutanud, siis tuleb tõdeda, et see aeg oleks võinud kuuluda millegi kasulikuma kaitsmisele.
Seadused on formuleeritud sõnadest ja paratamatult on neid võimalik mitmeti tõlgendada. Arvan, et kõiki eelnevaid puudusi saaks elimineerida kasutades loogilist mõtlemist. Peaksime lähtuma rohkem sellest, mis on õige ja aus ning mitte sellest, mis on seaduslikult korrektne.

    Sunday, November 6, 2011

    7. ülesanne: Vaba tarkvara

    Tegelen vahelduva eduga veebiarendusega ja seetõttu puutun vaba tarkvaraga kokku väga tihti. Arvan, et ilma vaba tarkvarata ma veebiarendusega ei tegelekski. Kirjeldaksin oma kasutuskogemusi kui arendajana ja mitte tavakasutajana.

    Mozilla Firefox + laiendused - usun, et suurem osa veebiarendajatest kasutab oma töös Firefoxi koos tema asendamatute laiendustega. Firebug on laiendus, mis võimaldab vaadata ja reaalajas muuta veebilehe struktuuri ja kujundust määravaid reegleid (CSS). Kasutan seda laiendust iga veebiprojekti puhul. Firebugile endale on loodud veel laiendusi, näiteks Firequery, mis võimaldab jQuery koodi assisteerimist Firebugile. Ka seda nn laienduse laiendust kasutan väga tihti. Oluline on ka fakt, et FF on kõige levinum brauser ja seetõttu peab arendaja vähem mõtlema rakenduse ühildumisprobleemide peale.

    Drupal CMS - see on sisuhaldussüsteem, mida kasutan enamuste veebiprojektide puhul. Väga suure kasutajaskonnaga vaba tarkvara, mida laiendavad tuhanded arendajad iga päev. Kõik levinumad moodulid on valmis kirjutatud ja lehe ehitaja ülesandeks on nende liitmine baasplatvormile. Mõnede veebilehtede puhul ei pea valmislahenduse loomiseks koodi kirjutamagi. Drupali uuemate versioonide väljastamine ja nende kiire parandamine/täiustamine kogukonna poolt on väga hea näide kogukondliku arendusmudeli võimsusest.

    Aptana Studio 3 - laialt kasutatav vaba tarkvara koodiredaktor, mis toetab kõiki põhilisi veebiprogrammeerimis keeli. Kasutan seda väga tihti koodi loomiseks. Kasulikud funktsioonid teevad tööprotsessi oluliselt kiiremaks.

    Apache veebiserver - suurima levikuga veebiserver. Kasutan seda iga projekti puhul arendades kohalikult (omas arvutis) või remote serveril. Lehti ei saaks arendada, kui puudub platvorm kus nad töötaks.

    Eelnevast loetelust võib järeldada, et kui ei eksisteeriks vaba tarkvara, siis oleks veebilehtede arendamine minu puhul väga keeruline või täitsa võimatu. Seetõttu avaldan suurt tänu kõigile vaba tarkvara arendajatele!