Otvoreni kôd u učionicama

Слични документи
Транскрипт:

1 Otvoreni kôd u učionicama Ljiljana Despalatović, Borko Buković Sveučilišni odjel za stručne studije, Sveučilište u Splitu ljiljana.despalatovic@oss.unist.hr bbukovic@gmail.com Sažetak Udio softvera otvorenog kôda na osobnom računalima zanemariv je u odnosu na zastupljenost u području poslužitelja, pametnih telefona i tableta, a osobito u odnosu na zastupljenost u segmentu superračunala. To se odnosi i na softver instaliran u školama i fakultetima. U članku ćemo pokazati koje su komparativne prednosti korištenja softvera otvorenog kôda u obrazovnom sustavu, kroz tri najizraženije prednosti: dostupnost kôda aplikacija, dostupnost samih aplikacija i mogućnost sudjelovanja u razvoju softvera otvorenog kôda. Uvod Softver otvorenog kôda nikada nije bio ozbiljno razmatran kroz edukacijsku prizmu. Nikada otvoreno podržan od strane većine, uvijek marginalan kao arena za geekove, smatran previše kompliciran za prosječnog korisnika. Danas je ipak previše rasprostranjen da bi ga se ignoriralo. U ovom radu osvrnut ćemo se na nekoliko činjenica zbog kojih ga ni u obrazovanju ne bi trebali ignorirati. Štoviše, mišljenja smo da itekako može unaprijediti obrazovanje. U svijetu slobodnog softvera (engl. free software) postoji mnogo imena za relativno slične stvari. Softver otvorenog kôda (engl. open source software, OSS), slobodni softver (engl. free software), slobodni softver otvorenog kôda (engl. free open source software, FOSS), slobodni (libre) softver otvorenog kôda (engl. free/libre open source software, FLOSS) su različiti pojmovi koji označavaju softver licenciran na način da korisniku omogućava korištenje, modifikaciju i daljnju distribuciju programa koji su dostupni i u obliku izvornog kôda. Prava korisnika su zagarantirana licencama koje se često nazivaju copyleft licence, što je igra riječi kojom se naglašava različitost u odnosu na klasične copyright licence. U ovom radu takav softver ćemo adresirati kao softver otvorenog kôda ili OSS. U drugom poglavlju uvest ćemo pojmove slobodnog softvera i softvera otvorenog kôda. U trećem poglavlju osvrnut ćemo se na trenutnu situaciju u Republici Hrvatskoj po pitanju obrazovanja najmla dih. Nadalje, u četvrtom poglavlju reći ćemo što nam dostupnost kôda samog znači, a u petom poglavlju vidjet ćemo kako studenti računarstva mogu profitirati

2 od uključivanja u razvoj softvera otvorenog kôda. Finalno, u zadnjem poglavlju iznijet ćemo zaključak. Slobodni softver i vlasnički softver Pojam slobodnog softvera nastao je 1983. godine kao reakcija Richarda Stallmana sa MIT Artificial Intelligence Laba na zakon po kojem se programi mogu zaštititi copyright licencom. Kao odgovor na to Stallman je osnovao Free Software Foundation (FSF), neprofitnu organizaciju, koja je izdala GNU General Public License (GPL) korištenjem koje se mogu zaštititi prava izvo denja, kopiranja, distribucije, proučavanja, mijenjanja i unapre denja softvera [1]. Slobodan softver je pitanje slobode, ne cijene. Da bi naglasio tu razliku Stallman navodi free as in free speech, not as in free beer. Me dutim, zbog višeznačnosti riječi free u engleskom jeziku, Eric S. Raymond i Bruce Perens su predložili naziv softver otvorenog kôda (engl. open source software) koji će se odnositi na sve programe čiji je izvorni kôd dostupan [2]. Vremenom je strogost GPL licence potakla odre den broj ljudi da kreiraju manje restriktivne licence. Tako su napisane Open Source licenca, Apache licenca, BSD licenca, Creative Commons licenca i ostale, od kojih neke dozvoljavaju povezivanje kôda sa kôdom napisanim pod nekom drugom licencom ili izdavanje modificiranog kôda pod drugom licencom. Sav softver izdan pod ovim licencama naziva se softver otvorenog kôda. Štoviše, same licence se ne odnose isključivo na softver, već sve češće i na knjige, filmove, glazbu i intelektualno vlasništvo općenito. S druge strane, vlasnički softver (engl. proprietary software) je softver izdan pod copyright licencama prema kojima je vlasnik softvera proizvo dač, a koje onemogućavaju mijenjanje i distribuiranje kôda. Najčešće kôd i nije dostupan, već se vlasnički softver distribuira u obliku izvršnih datoteka. Vlasnik softvera može potpuno onemogućiti distribuiranje programa, može dozvoliti korištenje u nekom odre denom periodu nakon kojeg korisnik mora platiti naknadu da bi nastavio koristiti program (shareware) ili može dozvoliti besplatno dijeljenje programa (freeware). Me dutim, besplatno distribuiranje programa ne znači i slobodno distribuiranje kôda. Kako sijemo, tako ćemo i žeti ili prednosti univerzalno dostupnog softvera Sve naravno počinje u osnovnoj školi. Ili možda još prije? Većina djece se susretne sa računalom još u pelenama, do polaska u školu već zna preuzeti igricu sa Interneta, pronaći omiljeni crtić na Youtube stranici i snimiti kratki film na pametnom telefonu svog roditelja. Otvoreni su za sve i mogu naučiti mnogo - ako im se dozvoli.

3 Dolaskom u školu dolaze u sredinu bez računala, ukoliko nisu te sreće da poha daju školu koja je uključena u eksperimentalni program uvo denja informatike od prvog razreda. U tipičnoj hrvatskoj školi nastava informatike počinje u petom razredu. I to u sklopu izborne nastave. Od tog trenutka, pa tokom čitavog školovanja, učenici će u školi koristiti jednu te istu obitelj operacijskih sustava i jednu te istu obitelj uredskih programa. Mijenjaju se inačice, a proizvo dač ostaje isti. A taj proizvo dač ne stavlja na raspolaganje korisnicima kôd, već samo izvršne datoteke. Što je zapravo u tome loše? Za početak, recimo što računalni program jest. Program je skup nula i jedinica zapakiranih u obliku izvršne datoteke u kojoj se kriju instrukcije procesoru. Ukoliko nam proizvo dač nije dostavio izvorni kôd zajedno sa izvršnom datotekom, mi zapravo ne znamo što u unutra piše. Ostaje nam samo vjerovati da se u izvršnoj datoteci ne krije npr. neki maliciozni kôd. Takav softver ne možemo dati prijatelju da instalira na svom računalu, jer će time kršiti vlasnička prava. Takav softver je vlasnički softver ili softver zatvorenog kôda. Nadalje, ako proizvo dač propadne ili odustane od razvoja svog proizvoda, neće biti nikoga tko će održavati taj softver. Djeca će, da bi kući imala isto radno okruženje kao u školi, morati kupiti softver istog proizvo dača. I neće biti u prilici vidjeti i naučiti nešto što je drugačije. Smanjuje se sloboda izbora. Ako ne mogu kupiti softver, neće moći kući raditi na njemu. Djeca nam više nisu jednaka. Možda će čak i upasti u napast nabave ilegalne kopiju programa, što nikako ne treba podržaviti niti poticati. S druge strane, postoji ogromna količina produciranog softvera izdanog pod sasvim drugačijom licencom copyleft licencom. Ona nam daje pravo da program proučavamo, mijenjamo, koristimo u koje god svrhe želimo, pa čak i da damo prijatelju zajedno sa svim tim pravima koje i on mora zadržati. Razvijanje digitalne kompetencije ne bi trebalo ovisiti o tome koji se operacijski sustav koristi, koji uredski paket programa, koji alat za obradu fotografija ili zvuka. Svi moderni operacijski sustavi i uredski programi rade na sličan način, a prilagodljivost je osobina koju je poželjno razvijati kod djece. Linux operacijski sustav danas je najznačajnija alternativa vlasničkim operacijskim sustavima. On dolazi u ogromnom broju distribucija. Projekt GLDT (GNU/Linux Distribution Timeline) koji izra duje evolucijsko stablo Linux distribucija krajem 2012. godine naveo je 480 distribucija. Stranica www.distrowatch.com na kojoj se prikupljaju informacije o različitim Linux distribucijama broji 39 različitih distribucija čija je namjena korištenje u procesu obrazovanja. Me du njima se kriju distribucije za mla du djecu (DoudouLinux, Qimo), stariju osnovnoškolsku i srednjoškolsku djecu (Edubuntu, Skolelinux), te distribucije namjenjene studentima i znanstvenicima (UberStudent, Boston University Linux, Scientific Linux). Posebnost distribucija namijenjenih edukaciji je u tome što učenici dobiju skup programa za koje se pretpostavlja da im mogu pomoći pri savladavanju gradiva i vještina. Tu je i paket uredskih programa za pisanje, tablični kalkulator i programi za izradu prezentacija, programi za crtanje 2D i 3D grafova funkcija, učenje stranih jezika, učenje zemljopisa, istraživanje svemira,

4 analizu kemijskih elemenata, obradu i reprodukciju slike i zvuka, grafičko oblikovanje. Čak i situacijama korištenja vlasničkog operacijskog sustava OSS programi se mogu koristiti. Photoshop se može zamijeniti otvorenim GIMP-om, Matlab programom Octave, Microsoft Visual Studio Codeblocksom, a MS Word LibreOfficeom. Nadalje, tu je i cijeli spektar programa koji pomažu u savladavanju gradiva različitih predmeta [3]. Na stranicama sourceforge.net koje su centralna lokacija OSS projekata, može se naći više od 1400 projekata u kategoriji edukacija. Sve više škola u svijetu kreće sa programima uvo denja softvera otvorenog kôda. Možda je najpoznatiji primjer OLPC (One Laptop per Child) projekt. Primarna ideja OLPC projekta je bila omogućiti najsiromašnijoj djeci svijeta bolje obrazovanje tako da im distribuira jeftina, robusna prijenosna računala koja bi promijenila način na koji djeca uče [4]. Prijenosna računala su imala Linux operacijski sustav i OSS grafičko sučelje Sugar. Iako je bilo dobrih i loših kritika na račun OLPC projekta [5], ipak je oko 2,5 milijuna prijenosnih računala distribuirano u zemlje trećeg svijeta i, iako je tako nešto teško mjerljivo, doprinijelo je razvoju obrazovanja u tim zemljama [6]. S druge strane je primjer jedne od vodećih država u području informacijske tehnologije i telekomunikacija - Estonije ili kako je sve češće zovu E-stonije. Estonija je 1996. godine započela Tiger Leap Progam kako bi prilagodila obrazovanje potrebama informatičkog društva [7]. Sada, 2014. godine, provodi pilot program učenja programiranja od prvog razreda osnovne škole u kojem, izme du ostalog koriste i OSS program Scratch. Izme du ove dvije krajnosti nalazi se čitav spektar država koje djelomično ili potpuno usvajaju OSS softver. Makedonija koristi Linux u osnovnim školama, Rusija će do 2015. godine potpuno preći na Linux u školama, u Kini preko trećine računala koristi Red Flag Linux [8] [9]. 35 milijuna učenika u preko 50000 škola u Brazilu koristi Linux i OSS softver u učionicama [10]. Što se Hrvatske tiče, projekti vezani za uvo denje OSS softvera u školu su rijetki i slabo dokumentirani. Pilot projekt Slobodni i otvoreni sustavi u obrazovanju za razvoj digitalnih kompetencija učitelja i učenika osnovnih škola, s naglaskom na primarno obrazovanje koji je organizirala udruga HrOpen u suradnji sa Agencijom za odgoj i obrazovanje obuhvatio je tri zagrebačke osnovne škole [11]. Svakako je važno istaknuti rad Silvie Kolarić iz 1. osnovne škole Bjelovar koja je pripremila distribuciju Linuxa pod nazivom Menta, a koja je pripremljena za potrebe nastave u osnovnoj školi [12]. Jurčić i Horvat [13] ističu da se u nastavi u manjoj mjeri koristi softver otvorenog kôda, izuzetak su samo alati za obradu slike i zvuka. Razlog za to navode u činjenici da škole imaju kupljene licence i instalirane alate zatvorenog kôda, iako navode da nastavnici imaju pozivan stav o upotrebi otvorenog kôda. Istraživanje [14] iz 2011. godine provedeno me du 1062 učitelja i učiteljica u 832 osnovne škole pokazalo je da je 71% učiteljica i učitelja zainteresirano za OSS softver, ali da samo 6,5% njih koriste aplikacije otvorenog kôda u nastavi, a samo 1,1% koriste u potpunosti softver otvorenog kôda uključujući operacijski sustav. Razlozi za nekorištenje OSS softvera

5 su raspoloživ i plaćen komercijalni softver i njihova nesigurnost po pitanju kompatibilnosti datoteka koje razmjenjuju s drugima. Osim toga, udžbenici su prilago deni komercijalnom softveru, a učitelji i učiteljice imaju osjećaj da im je propisano korištenje vlasničkog softvera. Nadalje, 86% ispitanih smatra da nema ili ne zna da ima korisničku podršku za OSS. Dostupnost kôda kao komparativna prednost softvera otvorenog kôda Specifičnost softvera otvorenog kôda je, naravno, otvoren tj. dostupan kôd. Na prvu, možda nam se čini da to nije važno nikome osim programerima. I to je istina, direktno je važno samo programerima i onima koji žele biti programeri. Ostalima je to važno na indirektan način. Naime, za svaki komad softvera naći će se dovoljan broj programera entuzijasta koji će taj kôd proučiti, prokomentirati sa drugim programerima, popraviti i učiniti ga sigurnim i bez grešaka za ostale korisnike. Nadalje, dostupnost kôda znači i produljenje životnog vijeka programa. Naime, održavanje vlasničkog softvera ovisi o odluci vlasnika. Ukoliko vlasnik odluči prestati održavati softver, on odumire. Za razliku od toga, kako je kôd OSS programa dostupan, bilo tko može nastaviti održavati i unapre divati kôd. Dapače, i ako softver nije napušten može se preuzeti kôd i nastaviti razvijati program u drugom smjeru. Izuzetno važna dimenzija dostupnosti kôda nameće se u unutar obrazovnog procesa u informacijskim tehnologijama. Naime, pristupom kôdu sudionici obrazovnog procesa stječu uvid kako kôd radi, što je bitno jer olakšava razumijevanje procesa koji se u nekoj aplikaciji odvija. Dodatno, uvidom u sam kôd mogu vidjeti kako je neki konkretan problem riješen i time uče na koji način mogu rješavati tipične probleme sa kojim će se susretati prilikom izrade softvera u stvarnom, profesionalnom životu. Na kraju, ali nikako najmanje važno, mogućnošću da sami modificiraju kôd stječu iskustvo što i kako mogu (ili ne mogu) napraviti i kako će se ono što naprave odraziti na softver koji proučavaju ili o kojemu uče. Softver otvorenog kôda kao studentska platforma Velik broj studenata računarstva prvi put se na studiju susreće sa programiranjem. Tijekom studija nisu u prilici raditi na složenijim projektima, pa izlaze sa fakulteta bez prave slike o tome kako se razvija softver. Priliku da sudjeluju u većim projektima mogu dobiti priključenjem u neke već postojeće projekte otvorenog kôda. Sudjelovanjem u OSS projektima studenti mogu osjetiti što znači raditi na projektima u multikulturalnoj i multidisciplinarnoj okolini. Mogu se udružiti sa studentima drugih područja i udružiti znanje za razvoj aplikacije specifične u tom području. Nadalje, iz perspektive visokog obrazovanja poželjne su karakteristike koje ima softver otvorenog kôda. U [15] su opisane te karakteristike. Otvorenost sadržaja, stvaranje sadržaja

6 kolegija, rad u timu, sudjelovanje u različitim dijelovima procesa, dijeljenje znanja, personalizirano učenje, neformalno učenje, korištenje tehnologije i stvarni, realni projekti, sve te karakteristike već imaju OSS projekti. Preuzimanjem filozofije otvorenog kôda fakulteti bi sigurno imali mnogostruke koristi. Ipak, organizacija kolegija u kojem bi studenti sudjelovali u razvoju OSS projekata nije jednostavna. Za početak, iako OSS i akademski svijet dijele gore navedene karakteristike, ipak postoje karakteristike uobičajene u OSS svijetu koje je fakultetima teško usvojiti. Sam pojam dijeljenja kôda i preuzimanja tu dih projekata u akademskom svijetu smatra se plagiranjem. Sudjelovanje profesora u ovakvim projektima je puno intenzivnije nego na klasičnim kolegijima na kojima ocjenjuje kolokvije i ispite. I sam odabir OSS projekata nije trivijalan [16]. Bez obzira na poteškoće fakulteti u svijetu se sve više uključuju u OSS projekte. Profesori koji žele osmisliti kolegije u kojima će studenti razvijati OSS projekte mogu na stranicama http://teachingopensource.org naći korisne informacije popise pogodnih OSS projekata, iskustva profesora koji već organiziraju takve kolegije, doga daje vezane uz takvu vrst edukacije i sl. Zaključak Zastupljenost softvera otvorenog kôda u hrvatskom obrazovnom sustavu (u samom sadržaju obrazovanja) je praktički zanemariva [14]. Ovim radom pokušali smo pokazati zašto je to šteta i što takvom politikom sudionici obrazovnog sustava gube. U trenutku u kojem se govori o početku Post-PC ere, koju karakterizira sveprisutnost računala u formi pametnih telefona i tableta, penetraciji rješenja u Oblaku, brzorastućem Internetu stvari nekorištenje softvera otvorenog kôda smatramo propuštenom šansom. Prvi od razloga zašto smatramo da je tome tako je nekorištenje svima dostupnih i slobodnih za dijeljenje aplikacija koje učenici mogu početi koristiti od samog početka svog participiranja u obrazovnom sustavu. Trenutno je obrazovni sustav uskraćen za mogućnost korištenja širokog spektra aplikacija (programa) koje bi ga bitno mogle unaprijediti kada bi se fokus izmaknuo sa vlasničkog softvera. Posljedica nekorištenja softvera otvorenog kôda je što korištenje vlasničkog softvera generira i produbljuje jaz izme du onih koji si vlasnički softver mogu priuštiti u svakodnevnom okruženju i onih koji to ne mogu. Ovaj problem zahvaća sudionike obrazovnog procesa od njihovog početka obrazovanja do najviših grana koje mogu doseći. Sljedeći problem koji razmatramo je nemogućnost pristupa kôdu samom u slučaju korištenja vlasničkog softvera. Taj problem javlja se u manjoj mjeri već od srednjoškolskog stupnja obrazovnog procesa, a eskalira u visokom obrazovanju, osobito kada je riječ o tehničkim i prirodnim znanostima. Nemogućnost pristupa kôdu uskraćuje učenicima i studentima šansu da uče proučavajući kôd, proučavajući rezultate modifikacija kôda koje su napravili ali i da modificiraju softver kako bi si olakšali rješavanje izazova koje obrazovni sustav stavlja (ili bi trebao stavljati) pred njih.

7 Konačno, promatrajući prednosti korištenja OSS-a kao studentske platforme uočavamo da bi veći udio takvog softvera u obrazovnom procesu u informacijskim tehnologijama pomogao rješavanju izraženog problema obrazovnog sustava (ne samo našega) da studenti po završetku fakulteta izlaze na tržište rada bez konkretnih znanja koja su im potrebna za izazove koji ih očekuju u svakodnevnom profesionalnom životu. OSS svojom otvorenošću za sudjelovanje u stvarnim projektima, mogućnošću percepcije metodologije koja se u tim projektima koristi i stjecanjem iskustva u rješavanju problema razvoja softvera može biti velika dodana vrijednost procesu obrazovanja. Literatura [1] Stallman, R., The GNU manifesto. 1985. [2] Raymond, E. S., Open sources: Voices from the open source revolution. 2000. [3] Zymaris, C., Free software for schools. 2005. [4] Patel, H., Bautista, J., and Jonash, R., OLPC: Revolutionizing the way to make education affordable for everyone, 2012. [5] Apiola, M., Pakarinen, S., and Tedre, M., Pedagogical outlines for OLPC initiatives: A case of Ukombozi school in Tanzania, in AFRICON, 2011, str. 1 7, IEEE, 2011. [6] Cristia, J., Ibarrarán, P., Cueto, S., Santiago, A., and Severín, E., Technology and child development: Evidence from the one laptop per child program, 2012. [7] Runnel, P., Pruulmann-Vengerfeldt, P., and Reinsalu, K., The Estonian Tiger leap from post-communism to the information society: from policy to practice, Journal of Baltic Studies, vol. 40, br. 1, str. 29 51, 2009. [8] Dawson, M., Al Saeed, I., Wright, J., and Omar, M., Technology enhanced learning with open source sofware for scientists and engineers, INTED2013 Proceedings, str. 5583 5589, 2013. [9] Pan, G. and Bonk, C. J., The emergence of open source software in China, International Review of Research in Open & Distance Learning, vol. 8, br. 1, 2007. [10] Brazilian Ministry of Education A case study: Userful multiseat education, 2011. [11] Draženović, M. i Turčić Prstačić, I., Razvoj digitalnih kompetencija učenika i učitelja osnovnih škola programima otvorenog kôda, in Zbornik radova, CUC 2013, Carnet, 2013. [12] Kolarić, S. i Prelac, V., Menta u razredu radionica. [13] Jurčić, Marko i Horvat, M., Nastavna sredstva i nastavna pomagala u predmetnom kurikulu informatike, Školski vjesnik-časopis za pedagoška i školska pitanja, vol. 63, br. 1-2, str. 71 89, 2014. [14] Oreški, P. i Šimović, V., Razlozi za i protiv korištenja slobodnog softvera otvorenog izvornog koda u osnovnom obrazovanju u Republici Hrvatskoj, Hrvatski časopis za odgoj i obrazovanje, vol. 14, br. 1, str. 11 23, 2012. [15] Meizsner, A., Healy, A., West, D., Conolly, T., Glott, R., Sowe, S. K., and Weller, M. J., FLOSS-like education transfer report, Working Package, br. 05, 2008.

[16] Ellis, H. J., Hislop, G. W., Chua, M., and Dziallas, S., How to involve students in FOSS projects, in Frontiers in Education Conference (FIE), 2011, str. T1H 1, IEEE, 2011. 8