Hvorfor velge åpen kildekode? – Del 2 av 3

Open source som strategi hos IT-avdelingenUiB logo

Dette er del 2 av 3 om open source-programvare. Del 1 finner du her, del 3 finner du her.

IT-avdelingens strategi for 2010-2015 sier blant annnet:

  • «1.2. Teknologiløsninger skal baseres på åpne og veldokumenterte standarder.»
  • «1.3. Åpen kildekode skal foretrekkes.»

Dette er et strategisk valg som er tatt basert på at vi mener vi kan yte bedre tjenester til brukerne hvis vi velger åpne standarder og open source. Innlåsing i proprietære løsninger og ikke-dokumenterte standarder låser oss til én leverandør, gir oss mindre synergier mellom forskjellige tjenester og er veldig utsatt for endringer hos denne ene leverandøren. Åpne standarder og open source setter oss derimot i stand til å integrere forskjellige systemer sammen, gjøre lokale tilpasninger, gjenbruke data og ikke minst sikre oss at vi kan bytte system uten å ha problemer med flytting av data.

Mange ansatte og studenter ved UiB blir kanskje først introdusert til open source-programvare når de bruker klientdriftede maskiner på campus, fordi IT-avdelingen har vært bevisst på å velge open source-alternativer i sine standard programvarepakker og tilbyr som en av de få universitetene i landet klientdriftet Ubuntu Linux. IT-avdelingen har med jevne mellomrom promotert åpen og fri programvare gjennom nettsider og nyhetsbrev, med intensjon om å gjøre både ansatte og studenter oppmerksom på fordelene ved å velge open source, og hvilke open source-alternativer som finnes til proprietære løsninger. Det kan imidlertid tenkes at fokuset har vært litt feil når open source presenteres utenfor fagmiljøene: Å presse open source tekstbehandlingsverktøy eller Linux på en passelig interessert UiB-ansatt eller student som ikke ser hvordan dette tjener han på noen som helst måte, er kanskje ikke den beste måten å skape begeistring og engasjement for open source. Noen får til og med negative assosiasjoner, og forbinder det med noe uvant, komplisert eller et billig alternativ til «ordenlig programvare», selv om disse assosiasjonene i mange tilfeller skyldes manglende kunnskap. Kanskje er det mer interessant å vise hva som ligger i kulissene hos IT-avdelingen; tjenester alle ansatte og studenter bruker hver eneste dag, som fungerer så bra som de gjør nettopp fordi de er basert på open source-programvare.

Open source i kulissene

Eposthåndteringen til UiB er et utmerket eksempel. UiB har siden 1997 brukt EXIM Exim Logosom såkalt message transfer agent, utviklet ved Universitetet i Cambridge allerede i 1995. All epost som går inn og ut av UiB håndteres av EXIM. Etter 19 år er programvaren fremdeles under aktiv utvikling, og UiB er slett ikke alene om å bruke verktøyet: En undersøkelse fra 2013 viser at rundt 48 % av alle offentlige eposttjenere på verdensbasis bruker EXIM1. Vi var imidlertid tidlig ute med å implementere systemet og har lagt til en god del egen funksjonalitet for å tilpasse det til våre behov (for eksempel integrering mot spamhåndteringsverktøy). Vi har også gitt kode tilbake prosjektet og noe av dette er i dag en del av den offisielle programvaren. Dette er mye av grunnen til at EXIM har fungert så bra, så lenge: det blir utviklet i fellesskap av de som har interesse og nytte av systemet – enten det er bedrifter, offentlige institusjoner eller privatpersoner – fremfor én produsent som først og fremst ønsker maksimal profitt. EXIM har dessuten hatt få alvorlige sikkerhetshull i sin lange levetid2 og at disse har blitt så raskt oppdaget og rettet er nettopp fordi de synliggjøres i en åpen og fritt tilgjengelig i kildekode.

Majoriteten av alle servere IT-avdelingen drifter (fysiske og virtuelle) kjører open source-operativsystemer. Det meste av programvaren som kjører på disse serverene (på både høyere og lavere nivå) er også open source. Dette utgjør mye av kjernen av IT-avdelingens virksomhet. Noen eksempler på tjenester basert på open source-programvare:

  • UiBs eksterne websider er basert på publiseringssystemet Drupal
  • Mi side er basert på .LRN og OpenACS
  • DNS er basert på BIND (DNS er kort forklart det som gjør at du kan skrive google.no i adressefeltet i stedet for 173.194.65.94)
  • Digital undervisning er basert på Opencast Matterhorn
  • prosjekt.uib.no, verktøy for prosjektstyring, er basert på Redmine
  • blogg, IT-avdelingens bloggtjeneste, er basert på WordPress (noe UiBeta også er).
  • Issue-Tracker, sakshåndteringsverktøyet ansatte og studenter bruker når de rapporterer inn problemer til IT-avdelingen og andre administrative avdelinger. Det brukes også til håndtering av en rekke andre arbeidsprosesser. Verktøyet er i veldig stor grad videreutviklet internt på IT-avdelingen tilpasset våre behov.
  • Klientdrift på Unix-baserte operativsystemer (Mac OS X og Ubuntu Linux) er basert på bl.a. Puppet og Munki
  • UH-sky er et samarbeidsprosjekt mellom Universitets- og høyskolesektoren i regi av UNINETT som UiB deltar i. Infrastrukturen er bygd rundt OpenStack og er gjennomgående basert på open source-programvare.

Og dette er bare et utvalg.

I neste del vil vi vise hvorfor utdanningsinstitusjoner og det offentlige generelt har mye igjen for å velge open source.

Hvorfor velge åpen kildekode? – Del 1 av 3

Dette er del 1 av 3 om open source-programvare. Del 2 finner du her, del 3 finner du her.

Vi vil vise hvilke fordeler det i svært mange tilfeller gir å velge open source fremfor lukkede, proprietære løsninger. Vi vil så fortelle hvordan IT-avdelingen bruker open source-programvare til å levere tjenester til ansatte og studenter og hvorfor særlig offentlig sektor har mye igjen for å bruke, utvikle og bidra til open source-prosjekter.

Artikkelforfatterene jobber begge i Faggruppe Unix, Seksjon for infrastruktur ved IT-avdelingen. Meningene som fremkommer her er våre egne og må ikke tas som IT-avdelingens eller UiBs offisielle synspunkter.

Open Source Software er programvare utviklet med en fri lisens som betyr at alle kan se hvordan den virker og gjøre endringer og forbedringer hvis de ønsker det. Hvem som helst kan også redistribuere programvaren på vilkårene til lisensen. Dette er en stor fordel sammenlignet med proprietær programvare, der en er låst til en leverandør og står dårlig stilt om leverandøren går konkurs eller slutter å støtte programvaren.

Det er en vanlig misforståelse at open source-programvare velges først og fremst fordi den er gratis. Selv om dette kan være et argument, er det ofte andre fordeler som veier tyngre. Det er heller ikke all open source-programvare som er gratis.

For de som ikke jobber med IT profesjonelt assosieres open source-programvare gjerne med kontorprogramvare som LibreOffice, nettlesere som Firefox og operativsystem som Linux og for enkelte fremstår nok open source som noe for spesielt interesserte. De fleste vil jo bare ha noe som virker. Det som imidlertid mange ikke er klar over er at det ligger open source-programvare bak flere av de viktigste tjenestene IT-avdelingen og Universitetet i Bergen leverer til sine ansatte og studenter, og at open source-programvare i stor grad har muliggjort tjenestetilbudet vi har idag.

xkcd 743
xkcd – Infrastructures

En lyninnføring i open source-historie

Free Software Movement ble lansert i 1983 av Richard Stallman for å støtte sitt GNU-prosjekt, ofte regnet som det første formaliserte open source-prosjektet. Utgangspunktet for bevegelsens filosofi kom fra 1960- og 70-tallets hackerkultur[1], hvor fri deling og samutvikling av programvare var normen og å frata noen denne retten ble sett på som direkte umoralsk. I takt med mikrodatamaskinenes utbredelse ble det imidlertidig mer og mer vanlig å anse programvare som produkter underlagt opphavsretten, og programvareprodusenter begynte således å ta seg betalt for programvarelisenser. Det ble hevdet (blant av annet en ung Bill Gates[2]) at dersom en ikke kunne ta seg betalt for programvare ville ikke utviklere motiveres til å investere tid og penger i å lage produkter av høy kvalitet. Den nye trenden førte til en eksplosiv vekst i programvarebransjen, som senere skulle gjøre programvareentreprenører til verdens rikeste mennesker. For Richard Stallman var dette en katastrofe. I hans øyne var det nærmest en menneskerett at en skulle ha frihet og kontroll over egne datamaskiner og formålet med Free Software-bevegelsen og GNU-prosjektet var å sikre forbrukernes rett til å kjøre, dele, studere og endre programvare som de selv ville. Denne retten ble gitt gjennom en lisens, GNU General Public License, som idag er den mest utbrette frie programvarelisensen. Lisensen gir sluttbrukeren full frihet til å bruke, endre og redistribuere programvaren i den form hun selv ønsker, så lenge lisensvilkårene forblir de samme. (Det finnes også andre frie lisenser som BSD-lisensen, som tillater å redistribuere med andre lisensvilkår, men de skal vi ikke omtale her.)

GNU-prosjektet står bak noen av de mest utbredte IT-verktøyene i bruk idag og distribuert sammen med Linux-kjernen utgjør de et av de mest brukte operativsystemene. Stallman og hans disiplers fanatiske forhold til fri programvare har imidlertid virket avskrekkende på deler av IT-bransjen, som har sett open source som en trussel. Andre har rett og slett ikke tatt det seriøst; open source var noe skjeggete IT-hippier holdt på med i de mørke datahulene sine, fjernt fra det virkelige liv hvor det er «big money» som skaper gode team og god programvare.

Open Source Initiave
Open Source Initiative sin logo

Et vendepunkt kom imidlertid i 1997 da Netscape slapp kildekoden til nettleseren Netscape Navigator, noe det ble mye blest rundt. I 1998 ble Open Source Initiative grunnlagt, et samarbeid mellom flere foregangsmenn i open source-miljøet, der en prøvde å «re-brande» begrepet free software til noe som kunne være mer spiselig i forretningsverdenen. Organisasjonen oppfordret til å misjonere for open source-prinsipper, men ble ikke utelukkende mottatt med entusiasme. Blant andre Microsoft følte seg truet av initiativet, og uttalte i 2001: «[…] open source is an intellectual property destroyer. I can’t imagine something that could be worse than this for the software business and the intellectual-property business».[3]

userfriendly.org
userfriendly.org

Hovedprinsippene bak Open Source Initiative viser en strategiendring, hvor en vektla tekniske og økonomiske fordeler fremfor moralsk og sosialt ansvar:

  • Security
  • Affordability
  • Transperency
  • Perpetuity
  • Interoperability
  • Flexibility
  • Localization

Denne strategiendringen har hatt stor betydning for at IT-bransjen i dag er mer mottakelig for og delaktig i open source. Open source gir rett og slett bedre programvare, hevdes det. Mange bedrifter promoterer sine produkter som open source og bruker det aktivt i sin markedsføring.

Octocat - GitHub
Octocat – GitHubs maskot.

Nettsteder som GitHub har gjort det enklere enn noensinne å starte, dele og bidra til open source-prosjekter ved å kombinere versjonskontrollsystemet Git med social networking-funksjonalitet. GitHubs enorme popularitet har gitt en felles plattform for utviklere, hvor svært mange av dagens open source-prosjekter ligger tilgjengelig.[4]

Mange tenker på open source-programvare som gratis, men at det er gratis er altså ganske underordnet mange av de andre fordelene. Det viktigste er at man har tilgang på kildekoden og dermed kan se hvordan det virker, utføre forbedringer eller tilpasse det til andre systemer man bruker.

I del 2 skal ta vi for oss open source-programvare på IT-avdelingen, med eksempler på hva som ligger bak i kulissene hos oss. Følg med!


  1. Her menes en bestemt programmererkultur som ikke må forveksles med datakriminalitet.  ↩
  2. Bill Gates skrev i 1976 et åpent brev til legendariske Homebrew Computer Club, hvor han skarpt kritiserte klubbens manglende respekt og forståelse for opphavsrett knyttet til programvare.  ↩
  3. «Microsoft raps open-source approach, CNET, 03/05/2001»  ↩
  4. Til og med UiBeta ligger på GitHub. Red.  ↩

Markdown

MarkdownHvem har ikke vært i følgende situasjon: du har noe som er i format X, og er nødt til å publisere, sende eller levere det i format Y? For å ikke snakke om alle de Microsoft Works filene, som noen av oss har, men som vi kan glemme å få gjort noe med.

Hvordan løser man egentlig alt dette? Jo, det første man gjør er å lagre alle filer i det enkleste filformatet som finnes – ren tekst. Jo enklere teknologien er, jo større er sannsynligheten for at du kan åpne, endre og forsatt bruke filene dine om 20 år. Og det enkleste som finnes er ren tekst filer. Det finnes ikke en eneste datamaskin der ute som ikke kan lese og endre dem.

Det eneste problemet med plain text er at det ikke finnes noen form for formatering. Og det er nettopp her markup språk som f.eks Markdown kommer inn.

Markdown er et lite sub-sett av HTML-standarden. Man har en enklere tilgang til det man som oftest bruker i et dokument, eller en blogg-post. Det er mange grunner til å bruke Markdown. En av de tingene jeg liker best med Markdown er hvor enkelt det er å både lese og skrive med det. En annen fordel, er at Markdown har blitt noe som kan kalles «standarden» når det gjelder markup språk. De fleste publiserings-systemer for blogger støtter det, i en eller annen form. Og et stort marked har åpnet seg opp med veldig gode verktøy for å jobbe med Markdown – både på web, på OS X og for iOS.

Det finnes også en rekke utvidelser av Markdown, som innfører nye elementer som f.eks tabeller og fotnoter. Den mest kjente av disse er MultiMarkdown.

Eksempler:

Hva Markdown / MultiMarkdown HTML
Lenke [Tittel](http://nettsted.com) <a href=“http://nettsted.com”>Tittel</a>
Kursiv _Tekst_ / *Tekst* <em>Tekst</em>
Fet __Tekst__ / **Tekst** <strong>Tekst</strong>
Blokksitat > Sitat <blockquote>Sitat</blockquote>
Overskrift 1 # Overskrift <h1>Overskrift</h1>
Overskrift 2 ## Overskrift <h2>Overskrift</h2>
Overskrift 3 ### Overskrift <h3>Overskrift</h3>
Overskrift 4 #### Overskrift <h4>Overskrift</h4>
Overskrift 5 ##### Overskrift <h5>Overskrift</h5>
Overskrift 6 ###### Overskrift <h6>Overskrift</h6>
Fotnote[1] Blablabla[^fn]
[^fn]: Dette er en footnote
Lager en opplenket liste på slutten av dokumentet.

Les mer her hvis du vil se mer på Markdown dokumentasjonen, eller her for MultiMarkdown dokumentasjonen.

Jeg er ingen fan av hverken Word, Pages eller noe som helst annet WYSIWIG-verktøy[1] [2]. Med Markdown kan jeg skrive hvor som helst, i alle programmer som hvor man kan taste inn tegn, som også kan lagre filene som ren tekst kan i utgangspunktet brukes sammen med Markdown. Som nevnt tidligere, det finnes vel og merke en rekke verktøy som gjør det enklere å jobbe med Markdown.

Her er noen eksempler[3] på programvare som gjør det enkelt å komme i gang:

Det kommer en artikkel, eller to, om mange av de fantastiske appene som gjør det å bruke Markdown til en lek på et senere tidspunkt.

Sjekk også bloggen til Eivind hvor han skriver en del om hvordan han bruker Macen til produktivt arbeid. Red.


  1. What You See Is What You Get. ↩
  2. Grunnen til at jeg skyr WYSIWYG som presten er at det flytter fokus bort fra det å skrive ordene. Og ett av de andre tingene som alltid har frustrert meg grenseløst med dem er at du aldri vet om eller hvordan copy-paste av formattert tekst fungerer. Dette er grunnen til at jeg sverger til Markdown nå, og brukte HTML «in the old days».  ↩
  3. Dette er bare de helt enkleste verktøyene jeg vet om, det kommer en større artikkel siden, som går igjennom alle de – som jeg mener er de beste (på de platformene jeg bruker).  ↩