Sammendrag

 

Forord

 

Under siste semester ved Dataingeniørstudiet ved NITH, Galleriet i Oslo har vi jobbet med et hovedprosjekt i en bedrift. Dette prosjektet er ment å gi oss en praktisk erfaring med det vi har lært under den 3 årlige utdannelsen og som en forberedelse på et videre arbeidsliv etter studiene.

Rapporten er i hovedsak skrevet for intern og ekstern veileder og sensor som skal gi en vurdering på arbeidet som er gjennomført i prosjektperioden, men vi tror helt klart at andre kan ha glede av dette dokumentet. Spesielt de som allerede er i Skolelinux miljøet eller de som ønsker å bli en del av det. Det vil gi dem et inntrykk av hvordan et Opensource prosjekt fungerer.

 

Introduksjon

 

Denne rapporten er delt opp i 4 selvstendige kapitler som hver av seg kan leses som en selvstendig rapport. Det vil derfor forekomme at noen av teksten blir repeterende, men vi har forsøkt å få dette ned til et absolutt minimum. De 4 delene består av en Prosessrapport, Kravspesifikasjon, Produktrapport og Testrapport. I tillegg har vi lagt ved nødvendig vedlegg slik som kildekode, Brukermanualer og refleksjonsnotater.

 

Kapitel 1 gir en forklaring på bakgrunnen for dette prosjektet. Den gir en kort presentasjon av Linux i skolen og deres Skolelinux prosjekt.  Vi har også funnet det nødvendig å gi en liten forklaring på hva slags verktøy som brukes i et Opensource miljø og hvordan de jobber.

 

Kapitel 2 beskriver hvilket krav som er satt til prosjektet. Det vil si hvilket krav som arbeidsgiver har satt til vårt prosjekt, samt krav til dokumentasjon og testing. Vi har også valgt å ta med det systemkrav som er satt til Skolelinux siden vi må forholde oss til dette.

 

Kapitel 3

 

Kapitel 4

 

Installasjons cd

Vedlagt denne rapporten finner du også siste versjon av installasjons-CD til Skolelinux.

 

Takk

 

Innhold

Innledning

 

I dette kapitelet skal vi gi en beskrivelse av prosjektet som er gjennomført og hvilke metoder og verktøy som er blitt tatt i bruk. Vi vil fortelle om hvordan arbeidet er gått fra start til levering av ferdig produkt.

 

Bakgrunn for prosjektet

 

 

Under frokost seminaret som NITH arrangerte den 18.10.2002 hadde vi et møte med Knut Yrvin, SkoleLinux. Han ønsket å få tak i noen studenter som kunne tenke seg å ha SkoleLinux som sitt hovedprosjekt. Han presenterte flere prosjekter som var på gang som de trengte utviklere til. Vi fattet interesse for et av prosjektene som gikk ut på å utvikle en hjemmePC profil for SkoleLinux. Vi snek oss til et nytt møte og avtalte med Knut at vi var villige til å være med på dette prosjektet.  Senere fikk vi tildelt intern veileder til prosjektet, som ble Bjørn Listog.

 

Litt om bedriften

 

Linux i skolen, stiftet 16.07.01, er en idealistisk medlemsorganisasjon som vil tilrettelegge for og informere om bruk av fri programvare (f.eks. GNU/Linux) i norske skoler. De støtter og er med på å utvikle OpenSource programvarer som er tilpasset norske skoler.

Visjonen til Linux i skolen er å tilby et bedre alternativ til skolen enn det Microsoft produkter gjør i dag. Dette skal gjøres ved å tilby et OpenSource produkt som er billigere å ta i bruk og ikke minst vedlikeholde. De legger også krav til at produktene skal være tilrettelagt skolens pedagogiske krav.

SkoleLinux jobber med å videreutvikle en Debian/Linux distribusjon for norske skoler og elever. Den skal være enkel å installere og vedlikeholde, og skal baseres på norsk språk. Alle program som følger med distribusjonen skal være tilgjengelig på bokmål, nynorsk og samisk.

Per i dag består SkoleLinux prosjektet av over 50 personer som er engasjert i prosjektet enten som oversetter eller som utviklere. SkoleLinux har fått pengestøtte av Kirke-, Utdannings- og Forskningsdepartementet. Linux i skole fikk pengestøtte til et forprosjekt for å få ut Linux til skoler og dermed sikre konkurranse og lavere offentlige kostnader. I tillegg til den offentlige støtten har prosjektet flere støttespillere i IT bransjen og flere norske kommuner. De viktigste selskapene er IBM, Objectware, Opera, Trustix, LinPro, LinuxLabs, NUUG Foundation.

 

Siden SkoleLinux bygger på Debian GNU/Linux som igjen bygger lisensen GNU GLP stiller man visse krav til SkoleLinux. Dette går ut på at alt man utvikler skal gjøres tilgjengelig for alle andre. Dette gir oss også en del friheter som å kjøre programmet der vi ønsker. Lage flere kopier av programmet og distribuere dette videre. Man har friheten til å gjøre forandringer i kildekoden slik at du kan tilpasse det bedre til dine behov.

 

Målsetting

Dette prosjektet skal gjøre nødvendige vurderinger for hvilke pakker som skal være med i hjemme-PC-profilen for elever og lærere og siden implementere dette på en cd.. Hjemme-PC-profilen skal: Være basert på SkoleLinux/Debian, supplert med annen OS/fri programvare; gå inn på samme CD som resten av SkoleLinux og møte grunnleggende elevbehov. Med dette menes det pedagogisk programvare, Office-pakke, tegneprogram, og eventuelle spill

Beskrivelse av problemet

I dag finnes det en Server, Workstation og Tynnklient profil av SkoleLinux. Problemet er at elever ikke har muligheter til å kunne ta dette med seg hjem å bruke det på sin egen PC. Linux i skolen sitt mål er å få en hjemme-PC-profil slik at elevene kan bruke de samme programmene både på skolen og hjemme. Her er det flere problemer vi må løse. Et av problemene er hvordan vi skal partisjonere harddisken. Et annet problem er Internet oppkobling, hvordan vi skal løse dette på best mulig måte. Pakker er også et problem, hva vi skal ha med og hva vi kan kutte ut. Etter at pakken har blitt pakket ut skal den ikke ta mer plass en 500 mb på harddisken. Oppbygning av cd`en er et annet problem.

Prosjektorganisering

            UML og MSF

 

 

Utstyr, plattform og utviklingsmiljø

 

Linux

For å forstå det prosjektet vi skal gjennomføre er det greit å ta en liten gjennomgang av hva Linux er. Linux er et OpenSource operativsystem utviklet av finnen Linus Torvalds. Det bygger på det Minix, som er et lite Unix OS. I august 1991 var versjon 0.01 av Linux ferdig og dette ble lagt ut på Internet slik at andre kunne få glede av det. Det tok ikke lang tid før han fikk tilbakemeldinger på det han hadde gjort og flere ville være med på å utvikle det videre.

Samtidig som Linus Torvalds utviklet sin Linux hadde en bevegelse som kaller seg Free Software Foundation (FSF) startet en prosjekt kalt ”The GNU Project”. Målet med dette prosjektet var å lage et OS som bygde videre på Unix, men som var basert på fri programvare. Etter lang tids utvikling manglet de kun en viktig komponent og det var akkurat det Linus Torvalds hadde utviklet. Det ble derfor enighet om å sette Linux kjernen sammen med GNU systemet og vi fikk et OS kalt GNU/Linux. I dag blir dette kalt Linux selv om GNU programmene fortsatt er en viktig del av Linux.

I dag brukes Linux som servere på Internet og i nettverk og desktopp. Grunnen til at det er blitt så populært er at det er et veldig stabilt OS og ikke minst at det er gratis å ta i bruk. De grafiske grensesnittene som KDE og Gnome har gjort at det også er blitt veldig populært i bruk som OS på desktopper.  

CVS

CVS står for concurrent version system og er en versjons kontroll system. Ved å bruke dette systemet er det mulig å alltid få tak i det siste versjonen av kildekoden. Det fungerer på den måten at hver gang man har gjort en forandring i kildekoden som man mener andre kan ha glede av så rapporteres dette inn. Når du rapporterer inn i cvs er det også viktig å legge med en beskrivelse av den forandringen du har gjort. Når dette blir lagret vil det bli sjekket på mot den gamle koden og kun de linjene med kode som har avvik fra den gamle koden blir lagret i en ny fil. Ved å bruke dette systemet vil disse filene ikke ta så stor plass. En av de store fordelene med dette systemet er at det er mulig å ha to personer som jobber på samme kildekode samtidig, selv om dette ikke er å anbefalt. Det vil da bli en konflikt, men dette er det mulig å løse ved å hente ned den nyeste kildekoden og legger til sin forandring i den. Og rapportere dette inn.. Om man finner ut at den endringen som er gjort i kildekoden ikke fungerer på den måten det var tenkt er det også mulig å gå et skritt tilbake (rollback) til den gamle kildekoden.

Bugzilla

Bugzilla er en database program der det er mulighet for å rapportere inn feil (bug) man har funnet i Linux eller søke på statusen til bugs. De innrapporterte feilene blir så satt opp i en prioritert liste slik at man får en slags to-do liste over utviklingsarbeidet. Arbeidsoppgavene blir så tildelt forskjellige utviklere etter deres ønske. På siden http://bugs.skolelinux.no har Skolelinux sin bugside. Der er det mulig å følge med på hva som det jobbes med på prosjektet og hvem som gjør dette. 

Mailinglister

All informasjon som blir utvekslet i Skolelinux prosjektet går gjennom en mailingliste. Her er det mulighet til å stille spørsmål angående prosjektet eller hjelpe andre med deres problemer. Dette gjøres fordi dette er den beste måten å spre informasjon på. I tillegg så er det stor sannsynlighet for at du får svar tilbake på dine spørsmål siden alle utvikleren sjekker denne mailinglisten hver dag.

IRC

Står for Internet Relay Chat. Dette er en online chate program der du kan koble deg opp mot spesielle chatekanaler på nettet. Flere av utviklere i Skolelinux miljøet er koblet til chate kanalen #skolelinux på serveren irc.ifi.uio.no og er dermed lett å få tak i hvis man skulle trenge hjelp til noe.

Maskiner

For å kunne gjennomføre dette prosjektet har vi brukt mye til til å sette opp et nettverk med en server, 2 workstations, 4 tynnklienter, 2 switcher og en firewall. I tillegg har vil også tatt i bruk våre egne laptopper til å skrive en del dokumentasjon og testing.

Utviklersamlinger

Siden Skolelinux består av frivillige utvikler spredd over hele lander er det viktig og ha noen samlinger der man får innføring i nye ting som kan hjelpe prosjektet videre. En annen side av en slik samling er den sosiale biten. Dette er utrolig viktig i det at man ser at man faktisk bidrar med noe som er verdifullt for andre.

Dagbok

Alle gruppemedlemmer har ført sin egen dagbok gjennom hele prosess perioden. De daglige innleggene har vært en kort beskrivelse av hva man har gjort den aktuelle dagen.

Veiledere

Under dette prosjektet har vi hatt to eksterne veiledere og en intern veileder. De to eksterne veilederne er Knut Yrvin og Petter Reinholdtsen. Begge disse to representerer Skolelinux prosjektet. Intern veileder er Bjørn Listog ved NITH, Oslo.

Arbeidsprosessen

Høsten 2002

For vår del startet prosjektet allerede i midten av forgje termin. Den 18.10.2002 arrangerte NITH er frokost seminar der man hadde mulighet til å snakke med bedrifter som ønsket seg et studentprosjekt. I den sammenheng fikk vi et møte med Knut Yrvin og fikk ordnet oss et prosjekt. Tiden etter det brukte vi til å bli litt bedre kjent med forskjellige Linux versjoner. Måten det ble gjort på var at vi satt oss ned og prøvde å installere disse programmene og leste en god del dokumentasjon om dem. Vi brukte også noe tid på å være med på noen utviklersamlinger for å få en forståelse og hvordan man setter opp et Skolelinux nettverk med forskjellige bruker profiler. Dette var til en stor hjelp når det kom til å sette opp vårt eget lokale.

Oppstart av prosjektet

De første ukene av prosjektperioden gikk med på å sette opp nettverket i utviklingslokalene. Dette ble en mye større jobb en det vi i utgangspunktet hadde trodd. Noe av grunnen til dette var at det nettverket vi til slutt satt opp hadde en litt annen struktur en det vi i utgangspunktet tenkte. Grunnen til denne forandringen var at vi ville øke sikkerheten mellom de 3 segmenterte nettene og ikke minst fra at noen andre kunne få tilgang utenifra.

Forprosjekt

 

Utviklingsarbeid

Det første vi måtte gjøre var å utarbeide en brukermanual for de programmene som skulle pressangteres for lærere under utviklersamlingen i Time kommune. Dette arbeidet hadde vi i utgangspunktet tenk å gjennomføre på slutten av prosjektet siden vi anså dette til å være den minst viktige delen av vårt prosjekt. Siden dette måte gjøres helt i starten måtte vi også forandre på resten av milepælene for prosjektet. Derfor ble en ny milepælsplan utarbeidet.