Intervju

Hisham Muhammad

Click to reach the homepage of GoboLinux
Klikk for å nå hjemmesiden til GoboLinux

Vi har allerede snakket med utviklerne bak Draco og Arch Linux. To avanserte Linux-distribusjoner som følger KISS (Keep It Simple, Stupid)-filosofien.

Denne gangen snakker vi med mannen bak en distribusjon med et helt nytt filhierarki. Distribusjonen det er snakk om er ingen annen enn GoboLinux.

GoboLinux er nok en avansert Linux-distribusjon, men som vårt intervjuobjekt – Hisham Muhammad – vil forklare over de neste sidene, har distribusjonen et unikt og logisk filsystem. Som om det ikke var nok, benytter distribusjonen seg også av en Portage-inspirert pakkebehandler kalt Compile. Selv om navnet kanskje ikke er det mest originale, så skiller den seg ut ved å være veldig godt integrert med filhierarkiet.

Nysgjerrig? Les videre for å finne ut mer om GoboLinux.

Denne artikkelen er også tilgjengelig på engelsk.

Dette er GoboLinux

Hvem er du? Ditt navn, din bakgrunn og rolle i utviklingen av GoboLinux?

Edsger Dijkstra om BASIC

Det er praktisk talt umulig å lære god programmering til elever som har tidligere blitt eksponert for BASIC: som potensielle programmerere er de mentalt ødelagt uten håp for helbredelse.

Mitt navn er Hisham Muhammad. Mitt første møte med Linux var i 1999 i et fag som tok for seg operativsystem. Jeg brukte Conectiva Linux på den tiden, som var en brasiliansk distribusjon basert på Red Hat, hovedsakelig fordi det var den distribusjonen som hadde best støtte for det brasilianske språk (mao. fungerte bokstaver med aksenter ut-av-esken med brasilianske tastaturer!).

Jeg har holdt på med datamaskiner helt siden 1986; min første datamaskin var en Apple II og det første programmeringsspråket jeg lærte var BASIC. Og selv etter en bachelor i datavitenskap og en master i programmering, er jeg et levende bevis på Dijkstras sitat om det å være en programmerer som tidligere har vært eksponert for BASIC.

Når det gjelder Gobolinux, er jeg en av grunnleggerne av distribusjonen, og jeg er fortsatt aktiv som utvikler den dag idag.

Så hva er GoboLinux?

GoboLinux ble skapt i 2002 mens jeg og André Detsch var studenter på universitetet her i Brasil. Vi ville ha noe som hjalp oss i å styre våre egne datamaskiner, hvor brukerne hadde makten og ikke pakkesystemet eller distribusjonens pakkebrønn.

I begynnelsen var det bare et prosjekt vi delte med våre venner - noen av dem, som Lucas Villa Real, har senere blitt med i prosjektet som aktive utviklere! Da vi introduserte prosjektet til verden i 2003 merket vi at flere likte idéen vår, og etter en tid dannet det seg et miljø rundt distribusjonen.

Siden har vi jobbet med, og forbedret distribusjonen, og vi kan nå gledelig skryte av å ha utviklere fra hele verden! Nå om dagen er det vanskelig å arrangere møter over nett med utviklerne, hovedsakelig pga. tidssonene involvert.

På hvilken måte er filhierarki unikt i GoboLinux?

Hvert program bor i en enkelt mappe med egen struktur. Du kan vel si at hvert program har sitt eget Unix-tre. F.eks. vil oppstartsfila til musikkspilleren Audacious ligge i /Programs/Audacious/1.4.5/bin/audacious, og libaudacious biblioteket vil ligge i /Programs/Audacious/1.4.5/lib/libaudacious.so.

Systemet er organisert gjennom noen mapper som inneholder lenker til disse programmene. F.eks. er alle bibliotek filene tilgjengelige i /System/Links/Libraries (som også fungerer som /usr/lib, for Unix kompatibilitet). Du kan lese mer om dette her (engelsk).

GoboLinux booting up
GoboLinux starter opp

Hva annet enn filhierarkiet er spesielt med GoboLinux?

Faktum av at vi brøt Unix-tradisjonen for å prøve en ny fremgangsmåte har gitt oss noe jeg mener er en av våre mest distinktive egenskaper, nemlig vår fantastisk brukerbase. Ideene til GoboLinux tiltrekker mennesker som har en vane for å like alternative systemer, alternative programmeringsspråk osv., så jeg betegner miljøet rundt Gobo som et bestående av framsynte mennesker.

En annen ting som kanskje er litt rart å nevne, og som begynner å bli et sjeldent syn nå til dags, er at vi i Gobo respekterer koden bak programmene vi inkluderer i distribusjonen. Mao. endrer vi ikke logoer eller ikoner i programmene. I Gobo prøver vi å holde programmene så rene for endringer som overhodet mulig. Vi gjør dette for å slippe å skape feil og kompatibilitetsproblemer, men også ut av respekt for programutviklerne.

Hvordan kan brukerne bli en del av utviklingen?

Det beste er å sende inn oppskrifter (mer om dette på neste side) eller raportere om feil gjennom feilsøkeren (bugtracker?). Vi har også en epostliste for utviklere hvor hvem som helst kan sende inn feilrettinger i form av en patch og lignende.

Hvor mange utviklere jobber med GoboLinux? Tror du dette tallet vil øke med tiden?

Det er fem personer, inkludert meg selv, i teamet med kjerne-utviklere. Det er selvfølgelig andre aktive utviklere og oversettere som jobber med GoboLinux og de er listet opp her.

Som i de fleste andre tilfeller innen frie programmer vil utviklere komme og gå, men antall utviklere har økt gradvis gjennom årene og hvis denne trenden fortsetter... Vel, jeg er egentlig ganske fornøyd allerede.

Finnes det noen interessante prosjekter for GoboLinux fra brukermiljøet?

Code Documentation Project

Målet til dette miljø-drevne prosjektet, er hovedsakelig å kommentere så mye som mulig om scriptene som brukes i GoboLinux.

På denne måten skal det bli lettere for nye brukere å hacke distribusjonen for deres egen og andres fortjeneste. Med denne økte dokumentasjonen, blir ting også enklere for nye og fremtidige utviklere av GoboLinux.

Blant de nyeste finner vi Code Documentation Project, som ble startet av Daniele Maccari fra Italia og Aitor Iturri fra Spania.

Det er et ganske kult initiativ siden det fokuserer på å gjøre det lettere å bli en del av utviklingen til Gobo, og fordi det begynte med en diskusjon på IRC, og ikke var planlagt av noen av de mer etablerte utviklerne.

Pakkebehandling

Hvordan fungerer pakkebehandleren - Compile?

Compile er teknisk sett ingen pakkebehandler, men et kompileringsverktøy. Compile henter og kompilerer kildekoden til et program, for så å installere programmet i filsystemet. For å gjøre dette benytter den seg av oppskrifter - recipes på engelsk - som inneholder informasjonen nødvendig for å hente og kompilere et gitt program (lignende PKGBUILD i Arch Linux).

Det viktigste med Compile er dens minimalisme. Etter design, ligger mest mulig informasjon om selve kompileringen i verktøyet, og ikke i oppskriftene. Oppskrifter trenger dermed ikke være større enn to linjer: En linje inneholder en URL for kildekoden, og en linje som sier at det er et prosjekt som benytter seg av autoconf-verktøy for å kompilere. Resten gjør Compile.

Det er selvfølgelig mulig å legge til mer informasjon om hvordan kompileringen skal foregå i oppskriften om dette er ønskelig. Oppskriften for Linux-kjernen er f.eks. ganske detaljert. Men dette legger ikke sluttbrukeren merke til. De trenger kun å skrive "Compile bash" eller Compile linux" osv.

Er det mulig for hvem som helst å laste opp oppskrifter til en offisiell pakkebrønn? Hvis ikke, hvordan kan brukerne dele sine oppskrifter?

Hvem som helst kan sende inn oppskrifter til vår recipes mailing list. Vi har mange brukere som mottar, anmelder, kommenterer og publiserer oppskrifter her. Brukere som ofte sender inn oppskrifter får vanligvis full tilgang til å publisere, anmelde og kommentere oppskrifter selv.

GoboLinux with KDE 3.5
GoboLinux med KDE 3.5

Hvilke planer har dere for å forbedre Compile?

Use Flags

Pakkebehandleren i Linux-distribusjonen Gentoo, benytter seg av såkalte "use flags" for å la brukeren konfigurere programmet de vil installere.

F.eks. kan "use flags" benyttes til å velge om en videoavspiller skal installeres med eller uten DVD-støtte.

Compile har utviklet seg mye i det siste. Michal Homer fra New Zealand og Jonas Karlsson fra Sverige har jobbet meget hardt på verktøyet, og det seneste de har lagt til er støtte for "use flags" som vi også finner i Gentoos pakkebehandler, Portage.

Har dere noen planer for å forbedre GoboLinux?

Vi har akkurat utgitt 014.01, som er en stabiliseringsoppdatering for 014 som vi gjorde tilgjengelig i begynnelsen av året. Vi planlegger å ha 015 klar en gang i årets andre halvdel, og kommer blant annet til å inkludere oppdatert programvare samt fokusere på KDE 4.

Følger GoboLinux et rullerende utgivelsessystem (som Arch) eller må du oppgradere GoboLinux fra en utgave til den neste (som Ubuntu)?

Dette bestemmer brukerene selv. Den modulære strukturen til GoboLinux tillater brukeren å oppgradere fra en utgave til den neste, men de fleste finner det bedre å oppdatere systemet slik at det hele tiden er oppdatert.

Eksempelvis gjør jeg dette intervjuet fra GoboLinux 013 (utgitt sent 2006), men systemet er oppdatert og bruker pakkene til 014.01 som er den nyeste utgaven av Gobo.

Nye brukere

Bruker du selv GoboLinux til daglig bruk?

Selvfølgelig! Jeg har gjort det siden dag en.

For hvilke brukere ville du anbefalt GoboLinux?

Jeg tror at vår målgruppe akkurat nå er Linux-brukere som har lyst til å prøve noe helt nytt, og som vil føle at makten ligger i deres hender og ikke hos pakkesystemet.

Selv om strukturen i vårt filhierarki kanskje virker (eller tilogmed er!) nybegynner-vennlig pågrunn av logiske filnavn og plasseringer, så ligger ikke fokuset på at det skal være enkelt, men logisk å bruke. Vi mangler de lagene med hjelpemidler som enkelte andre distribusjoner har, så Gobo er kanskje ikke det beste valget for noen som er helt fersk innen Linux.

Men på den andre siden, de fleste som har brukt Linux i lengre tid startet nok med, eller har vært i nærheten av, noen virkelige vanskelige distribusjoner, så jeg vil ikke si at Gobo bare er for erfarne brukere heller.

Hvordan ville du anbefalt at en ny bruker lærer seg GoboLinux?

Å lese vår korte oversikt først ville nok vært det beste -- deretter er det bare å laste ned vår CD og prøve distribusjonen. Det er en LiveCD så du trenger ikke engang å installere Gobo. Bare lek deg med filstrukturen og få en følelse av hvordan det hele fungerer. Hvis du vil installere det, møt oss gjerne på IRC ( #gobolinux at irc.freenode.net ) eller på vår mailing list.

Sammenlignet med andre Linux-distribusjoner, hva er GoboLinux' største styrke og svakhet?

Vanskelig å si. Jeg vil ikke kalle det en svakhet, men vår største vanskelighet er at vi må sloss mot mangelen på gode standarder på en side, og mangel på standardisering på den andre siden. Mange prosjekter tester kun sin programvare på en eller to distribusjoner og følger ikke visse retningslinjer som gjør at programvaren fungerer ordentlig i GoboLinux.

Det mest negative er, siden vi er en liten distribusjon, at du ikke får tilgang på de enorme pakkebrønnene som de store distribusjonene har. Størelsen av distribusjonen reflekterer også en menneskelig faktor: vi har ikke et forum med tusenvis av brukere.

På den andre siden så er det lille brukermiljøet vi har, veldig vennlige og alle er velkomne på våre forum og epostlister.

Vår største styrke er det faktum at organiseringen av systemet er reflektert i vår filstruktur, det er mao. ingen databaser som holder systemet sammen. Så hvis en er veldig uheldig, kan en alltids starte opp en LiveCD og reparere systemet ved å bare flytte noen filer og lenker rundt, ved bruk av enkle Unix-verktøy. På denne måten holder vi Unix-filosofien om at "alt er en fil" nær hjertet, nærmere enn de fleste andre Linux-distribusjoner der ute.

Utvikler du GoboLinux bare for moro skyld, eller finnes det en annen grunn?

Mest for moro skyld, men jeg tror alle utviklere bak fri programvare noen ganger får følelsen av at de gjør verden til et bedre sted.

Og det var det, er det noe annet du gjerne vil si som du føler ikke har kommet frem i tidligere spørsmål?

Jeg vil gjerne takke deg for muligheten for dette intervjuet, og igjen, alle er invitert til å gå til gobolinux.org og ta en nærmere titt på prosjektet.

Vi takker Hisham Muhammad for sin tid og tålmodighet, og ønsker ham lykke til videre i fremtidige utfordringer.

Oppsummering

Og der har du det. GoboLinux er en Linux-distribusjon med et helt nytt og gjennomtenkt filhierarki, og selv om brukermiljøet og pakkebrønnen kanskje ikke er så stor som en kunne håpet på, er det fortsatt en lovende distribusjon verdt en nærmere titt.

Hvis du fant GoboLinux interessant, kan du finne noen gode lenker på forrige side – som kan hjelpe deg gjennom startfasen.

Denne artikkelen er også tilgjengelig på engelsk.

Norges beste mobilabonnement

August 2017

Kåret av Tek-redaksjonen

Jeg bruker lite data:

Komplett MiniFlex 1 GB


Jeg bruker middels mye data:

Chili Medium 5 GB


Jeg bruker mye data:

Komplett Maxiflex 12 GB


Jeg er superbruker:

Komplett Megaflex 30 GB


Finn billigste abonnement i vår mobilkalkulator

Forsiden akkurat nå

Til toppen