Fri programvare og Linux

Definisjon

Programvare (software eller mjukvare) er ifølge Wikipedia den delen av et datasystem som består av kodet iformasjon (eller komputer instruksjoner). Begrepet programvare brukes ofte om dataprogram (se linken over) og omvendt. Programvare kan bestå av et enkelt dataprogram, spesielt i senere micro-komputer teknologi, hvor rå prossessorytelse og høy minnekapasitet tillater en å kjøre store programmer. Generelt består en programvare av et eller flere programmer, men også av data som tillater det å fungere. Disse programmene kan ta forskjellige former: kjørbare filer, dynamiske filbiblioteker ('dll' i Windows eller 'so' i GNU/Linux), eller bare kildefiler for en oversetter (e.g. Perl eller PHP scripts). Data kommer også i forskjellige formater: klassiske filer, databaser (relasjonsdatabaser, hierarkiske, etc.), ... I mikro-komputer teknologi er ofte bilder, og da spesielt ikoner, integrert i den kjørbare filen.

Generell definisjon av "Programvare"

Programvare (software) inneholder instruksjoner som kjøres av en komputer, i motsetning til den fysiske enheten hvorpå den fungerer (maskinvaren). Et 'program' er en liste med instruksjoner skrevet av en programmerer i et programmeringsspråk (f.eks. språkene C, C++, Java, Python osv). Instruksjonene er ofte lagret i en enkel fil. Programvare, på sin side, brukes om et sett av instruksjoner som inneholder flere programmer. En person med den rette kunnskapen kan lese programmet; dette kalles 'kildekoden' og er som en oppskrift til programmet. Programutviklere som lukker kildekoden holder gjerne ingrediensene hemmelig; bare åpen kilde programvare (Open-source software) gjør kildekoden tilgjengelig for offentligheten. Egenskapene til programvaren er vanligvis tydelig beskrevet i kildekoden (oversettelse av binærtallene 0 og 1, av og på, som er de eneste instruksjonene dagens maskiner kan forstå). En kompilator brukes for å oversette fra kildekode til maskinspråk. Etter denne forvandlingen har vi det vi kaller 'binaries' eller binærfiler som kan tolkes av en maskin. Vi må allikevel tilpasse dem til den aktuelle systemvaren (MS Windows, Mac OS, GNU/Linux, BSD, etc.) for å få dem til å fungere. Først når de har blitt tilpasset til vertssystemet er programvaren klar til å installeres og brukes.

Programvare kan inndeles i følgende klasser:

Presentasjon av fri programvare

Den frie programvarens opprinnelse

Historien begynner i starten av åttiårene da Richard Stallman, en forsker ved MIT i USA (Massachusetts Institute of Technology), stod ovenfor et etisk dilemma. IT-laben han hadde jobbet i på instituttet hadde blitt nedlagt og han lurte på hva skulle han gjøre med all den kunnskapen som han hadde delt med sine kolleger over alle årene. Ville han bli nødt til å selge den til høystbydende, eller ville han benytte seg av muligheten for å dele den fritt med hele verden? For å tilfredsstille samvittigheten sin skapte han idéen om 'Fri programvare'. Dette konseptet defineres av de fire følgende prinsipper:

  1. Friheten til å kjøre programmet uten restriksjoner på bruksområde.
  2. Friheten til å studere den indre strukturen til programmet og til å forandre det etter eget behov. For å kunne gjøre dette er tilgang til kildekoden en forutsetning.
  3. Friheten til å redistribuere kopier.
  4. Friheten til å forbedre programmet, og til å offentliggjøre disse forbedringene slik at hele bruker samfunnet kan dra nytte av det. Også til dette formål er tilgang til kildekoden en forutsetning.

GNU Prosjektet

Etter å ha skrevet denne erklæringen skapte Stallman "Free Software Fondation" (FSF). Grunnlaget for denne stiftelsen var å promotere og utvikle fri programvare, og Stallman begynte straks å skrive programmer FSF. Hans ultimate mål var å skape et fullstendig fritt system. For å beskytte GNU programvare fra kommersielle aktører skapte han lisensen kalt GNU Public Licence (GPL). Lisensen gjentar de fire, elementære prinsippene ovenfor med solid juridisk bakgrunn. Den første reelle testen for GPL lisensen var en tysk rettssak i 2004 hvor en dommer avgjorde at et firma hadde brutt denne lisensen. GNU er en forkortelse, som så mange akronymer i *nix verdenen, og står for GNU's Not Unix (ordet GNU alene betyr egentlig ingenting). På åttitallet da Microsoft og Windows fortsatt var i spedbarnsårene var det beskyttede Unix det mest dominerende systemet i verden.

Open Source initiative

Også en annen bevegelse reiste seg i løpet av nittitallet, nemlig 'The Open Source Initiative'. De anser seg selv for å være mer fleksibel enn FSF. Den nye strømmen tok form i 1998 da Netscape gikk over til å være fri programvare og en gruppe mennesker bestemte seg for å støtte Netscapes avgjørelse. OSI følger Debians konsept om fri programvare. Du kan finne initativets ti kriterier her: original versjon av OSI lisensen (versjon 1.9).

Å forstå fri programvare

Hvor er det "fri programvare" kommer fra?

Den første, frie programvaren var utviklet av Stallman selv. For å kunne begynne å bygge et operativsystem trenger du veldig grunnleggende programmer (som f.eks. samlingen av GNU kompilatorer). Men etter at FSF hadde skrevet hele basen til det nye operativsystemet manglet de fortsatt en viktig ingrediens: en kjerne. Stallman valgte da en veldig ambisiøs strategi for den nye kjernen: det skulle være en mikro-kjerne (Windows f.eks. bruker en macro-kjerne, mens Linux på sin side bruker en mikro-kjerne). Dessverre gikk ikke utviklingen av Stallmans kjerne så glatt som han hadde håpet, og i skrivende stund er systemet (som heter GNU/Hurd) fortsatt ikke operativt. Det var på dette tidspunktet Linus Torvalds kom på banen. Den finske studenten hadde studert virkemåten til x386 prossessorer, og hadde i den sammenheng skrevet et POSIX-kompatibelt program for å bedre kunne forstå funksjonene til denne CPU generasjonen. Bare for moro skyld skrev han så en kjerne hvor han benyttet GNU programvaren. Og sist, men ikke minst, gav han den ut under GNUs Public Licence. Sammensetningen av GNU og Linux viste seg å være en perfekt kombinasjon og utviklingen av GNU/Linux eksploderte, takket være deltakelsen fra hackermiljøene (termen 'hacker' denoterer bare en person som har et lidenskapelig forhold til IT, i motsetning til begrepet 'cracker' som er en person med det formål å ødelegge (eller cracke) andres systemer; allikevel har 'crackere' så ofte blitt omtalt som 'hackere' i media og offentligheten at man har gitt ordet en negativ konnotasjon). Da første versjon ble offentlig annonsert 14. mars 1994 hadde GNU/Linux allerede et solid rykte verden over. Til tross for at systemet var lite brukervennlig og mest appelerte til hackereliten så fremtiden ganske lovende ut. Flere kjerner fulgte etter versjon 1: i 1996 kom 2.0 kjernen, i 1999 versjon 2.2; og selv om 2.2 var rimelig buggy tok GNU/Linux steget inn i forretningsverdenen med versjon 2.2.13 takket være IBMs mainframe oppdateringer. I 2001 kom 2.4 kjernen ut, og i slutten av 2006 fulgte versjon 2.6. Selv om 2.6 i dag er den eneste versjonen som aktivt vedlikeholdes utgis det fortsatt sikkerhetsoppdateringer til 2.4 kjernen. Utviklingen av Linux er mest fokusert på internett som er livslinjen til det meste av fri programvare. Det er lite sannsynlig at en bragd som GNU/Linux kunne vært mulig uten at utviklerne som er spredt over hele kloden hadde kunnet bytte informasjon med hverandre over nettet. Fri programvare tilbyr en hel del kvalitetsprogrammer - det meste av verdensveven (world wide web) kjøres faktisk på linux-servere som bruker programvare som Apache og PHP. Mange programmer er også tilgjengelig på andre plattformer som BSD, WIndows og til og med Mac OS X. Her er en liten oversikt over de mest kjente applikasjonene: