Trenger oppdatering: Denne artikkelen eller seksjonen er ikke oppdatert med ny utvikling eller ny informasjon. Du kan hjelpe Wikipedia med åoppdatere den.
Systemet utgis som oftest gjennomdistribusjoner, som inneholder mye programvare fra andre prosjekter enn GNU og Linux, for eksempelUbuntu. GNU/Linux utgjør i dag programvaresiden i den grunnleggende infrastrukturen, «backbone» («ryggraden»), i det globale kommunikasjonssystemet.
I løpet av1980-årene skapte prosjektet tekstredigererenEmacs, kompilatorenGCC (som den gangen kun kompilerteC) og et stort antall andre programmer. Imidlertid hadde GNU ennå ikke utvikletkjernen i systemet,GNU Hurd. Da Linux dukket opp på begynnelsen av 90-tallet skulle det fortsatt drøye over et decennium innen det første programmet kunne kjøres ved hjelp av Hurd.[5]
I 1990 studerteLinus Torvaldsinformatikk ved universitetet iHelsingfors iFinland. Torvalds brukte opprinneligMinix på datamaskinen sin, et enkelt operativsystem utviklet avAndrew Tanenbaum til undervisningsformål. For å sørge for at Minix forble et enkelt system egnet til undervisning, ville ikke Tanenbaum legge til utvidelser til Minix. Dette var bakgrunnen for at Linus startet utviklingen av Linux.
I1991 skapte Torvalds enUnix-liknende kjerne forPC-datamaskiner som han slapp fri påInternett.[6] Fra begynnelsen var den ikke ment for allmenn bruk, da hovedmålet til Torvalds var å lære om sammensetningen i operativsystemer.[7] Linux-kjernen, som skulle bli oppkalt etter sin skaper, ble den puslebiten som hadde vært savnet i GNUs operativsystem. Kombinasjonen ble raskt populær, men Linux har på tross av det aldri blitt inkludert i GNU-prosjektet, men blitt utviklet separat.
Etter en rekke utgivelser og koordinering via nyhetsgrupper ble versjon 1.0 sluppet den 14. mars1994. Neste versjon ble nummer 1.2, som ble sluppet i mars1995. Siden da harodde-minor-versjoner vært ustabile utviklingsversjoner, menspartalls-minor-versjoner har vært stabile offisielle utgaver.[8]
Etter dette gjorde kjernenummereringen et stort hopp på grunn av endringer og tillegg. Linux 2.0 var langt bedre pånettverk, og den hadde også støtte for bruk av flere prosessorer,Symmetric Multi Processing. Også andre deler av kjernen ble optimalisert med tanke på ytelse.
Selv om Torvalds blir sett på som Linuxkjernens far og skaper, er mesteparten av koden et resultat av en åpen kildekodedugnad med flere tusen utviklere som gjennom lang tid har bidratt til å skape dagens system. Sentrale enkeltpersoner, som Torvalds, har i dag først og fremst et overordnet ansvar i tillegg til å bidra med kode der det er nødvendig. Undersøkelser viser at omtrent to tredjedeler av kildekoden i Linux-kjernen skrives av folk med tilknytning til IT-industrien, mens resten skrives av frivillige[9]
Linux ble lenge utviklet av utvalgte individer og entusiaster, men nå deltar også et antall større bedrifter i utviklingen, enten direkte gjennom sine egne ansatte, eller gjennom finansiering eller bidrag av ulike typer.IBM,Google,Intel,Sun,Silicon Graphics,Hewlett-Packard ogNovell er noen av bedriftene som satser på Linux, og som ser det som en framtidens mulighet. Motivene varierer, men ofte nevnes fleksibiliteten, muligheten til å påvirke, lave kostnader og det å unnvikeMicrosofts agenda.
Fra begynnelsen var det kun tenkt at Linux skulle kjøres påIntels80386-prosessorer og dens kloner og etterfølgere, men etterhvert har både kjernen og systemet blittportert til nesten alle tenkelige og tilgjengelige system, i visse tilfeller bare «for å se om det går», etter den typiskehacker-mentaliteten. Blant annet finnes Linux påPlaystation[10],iPod[11],Xbox[12]Amiga[13] ogNintendo DS[14] for å nevne noen av de mer uvanlige eksemplene. I dag anvendes operativsystemet også i mobiltelefoner oghåndholdte enheter, ettersom selve kjernen kan holdes veldig liten og ressurs-nøysom.
I dag er det mange populære Linux-baserte operativsystemer som brukes på datamaskiner. Eksempler på dette kan være Ubuntu, som er utviklet for å være lett å bruke for folk flest, og et alternativ til Mac OS og Windows. Ubuntu kommer i mange utgaver, kalt derivater, og blant de mer kjente Ubuntu-derivatene erLinux Mint og Elementary OS.
Operativsystemet kalles ofte kort og godt «Linux», selv om «GNU/Linux» forsvares av dem som vil understreke opphavet i GNU-prosjektet. Richard Stallman ogFree Software Foundation insisterer på det sistnevnte begrepet, og har et syn på fri programvare som skiller seg noe fra den mer pragmatiske holdningen hos Linus Torvalds og andre.[15]
På tross av navnestriden har «Linux» blitt den dominerende benevnelsen på systemet, særlig i dagligtalen. I skriftspråk er det en noe jevnere fordeling.
Linux kan brukes på et utall ulike måter, bådegrensesnitt og tema kan variere mye mellom ulikedistribusjoner med forskjellige generelle eller spesialiserte bruksområder.
Linux er vanlig å benytte som operativsystem forsuperdatamaskiner. Ijuni2007 kjørte 77,8 prosent av verdens 500 kraftigste datasystemer Linux,[17] mens andelen var økt til 97% i november 2014.[18]
Historisk sett har Linux hovedsakelig blitt benyttet somoperativsystem fortjenere og blitt en markedsleder innen dette området.Netcraft rapporterte iseptember2006 at 80 prosent av de mest pålitelige vevhotellene kjører Linux på sinevevtjenere.[19] Dette er på grunn av Linux' relative stabilitet og høye oppetid, og at skrivebordsprogramvare ofte er overflødig på tjenere. BådeEnterprise- ogikke-Enterprise-distribusjoner benyttes for tjenere.
Tallmaterialet varierer noe, men viste pr. november 2014 en klar overvekt av Linux-baserte tjenere på internett, fra 67% (med Windows-servere på 33% og Apple-systemer rundt én promille)[20] til over 75%.[21]
Linux er hjørnesteinen iLAMP kombinasjonen (Linux,Apache,MySQL,Perl/PHP/Python) som har blitt populært blant utviklere og er en av de vanligste plattformene for Internet-sider.
Linux har «vokst opp» og modnet betydelig de senere årene, kanskje delvis takket være flere større bedrifter som har begynt å satse på Linux og tildelt personale og ressurser til oppgaver hobbyutviklere gjerne overser.
I dag er de større skrivebordsdistribusjonene anvendelige med oversettelser til en stor del av verdens språk, spesielt for sentrale programmer. Det finnes et betydelig utvalg av programmer for både underholdning og mer seriøst arbeid. Det er lite som skiller moderne utgaver avMicrosoft Windows,Macintosh og Linux med hensyn til brukervennlighet. Linux har også den fordelen at det tillater skreddersying etter brukernes behov. Noe som kan være lukrativt for bedrifter og virksomheter.
Per 2013 var operativsystemetAndroid som er basert på Linux-kjernen (men ikke GNU) en overlegen markedsleder med en markedsandel på 85%, noe som tilsvarer omtrent én milliard telefoner.Apples andel lå på rundt 11%,Microsoft Windows på 3%, mens den resterende prosenten var fordelt på øvrige systemer.[22]Flere telefoner med fullverdige Linux-operativsystemer på dem (bl.a. /e/ Fairphone, Pinephone, og Librem 5) er tilgjengelig/i utvikling. Disse telefonene har fokus på personvern gjennom fri programvare.
Siden Linux støtter så mange forskjelligeprosessorarkitekturer, har det blitt populært for produsenter av håndholdte enheter, tv-apparater og «smarte» hvitevarer å benytte linuxbaserte operativsystemer. Fri programvare gjør det også enkelt og kostnadseffektivt å tilpasse programvaren. Innen forbrukerelektronikk generelt, slik som rutere og annet nettverksutstyr, spillkonsoller[23], TV-apparater, MP3-spillere og husholdningsutstyr er det ventet at Linux vil bli en dominerende operativsystemaktør.[24]
50 prosent av asiatisk forbrukerelektronikk valgte Linux i 2003 og 63 prosent av prosjektene for 2004 planla i 2003 å bruke Linux.[25] I tillegg kjører noenSEGA arkade-maskiner, spesifiktSega Lindbergh, Linux.
I 2007-2008 dukket det opp et nytt segment i PC-markedet. Små, lette og billige bærbare PC-er dukket opp fra produsenter som ASUS, Acer og MSI. Disse maskinene er ofte levert med Linux som standard.
I Linux er det meste bygget opp i lag, fra kjernen og utover finnes det ulike programmer som bygger på hverandre og tar ansvar for hver sin oppgave; sånn er det også i spørsmålet om grafikk og grensesnitt. Det er mulig å ha flere valgbareskrivebordsmiljø på et Linux-system, og de fleste programmene fungerer omtrent likedan uansett hvilket grafisk miljø som velges. Det omvendte gjelder også, for eksempel brukesGNOME også i andre operativsystemer.
Lengst nede i systemet ligger driver-rutinene og kommuniserer med grafikkortet ved hjelp av kjernen. I neste lag ligger etvindussystem som i de fleste distribusjoner i dag erXorg, som også kalles X11 eller X-server. Vindussystemet har ansvar for de aller mest grunnleggende oppgavene når det gjelder å håndtere og tegne opp grafikk på skjermen.En annen egenskap er at vindussystemet fungerer som en tjener-klient model. Det vil si at vindussytemet ikke trenger å kjøre på den maskinen selve programmene kjører. I praksis vil det bety at man kan kjøre en terminal som kun viser vinduer/grafikk mens selve maskinen programmene kjører på befinner seg et annet sted i verden.Linux er også hyppig brukt på noen av de største og kraftigste superdatamaskinene i verden.
Over X11 finnes det vanligvis i dag et komplettskrivebordsmiljø som inkluderer mer avansertvindushåndtering, innstillinger og regler for hvordan systemet skal oppføre seg, menyer, paneler og aktivitetsfelt. Det er også vanlig at nødvendige programmer somfilutforsker, kalkulator,tekstbehandling,nettleser,mediespiller og lignende følger med.
De vanligste skrivebordsmiljøene i dag erGNOME,KDE,Xfce ogLXDE, likhetene mellom disse er større en forskjellene, og alle bygger på samme prinsipper om vinduer, knapper, ikoner og skrivebord. Disse danner basen for det grafiske skrivebordet som andre grafiske programmer kjører på toppen av i Linux. Skrivebordsmiljøene er dessuten laget slik at programmer som er laget for ett skal fungere like godt i et annet. De fleste grafiske miljøer for Linux har arvet noen funksjoner fra sine forgjengere i Unix-verden, blant annet muligheten til å benytte flere virtuelle skrivebord. Mindre populære skrivebordsmiljø er blant andreEnlightenment,EDE ogXPDE. Det finnes dessuten Linuxversjoner av eldre vindussytemer somTWM ogFVWM.
Det finnes 3D-akselererte grafiske miljø for Linux, hvor systemet utnytterOpenGL for å tegne opp vinduer og skrivebord. Det mest kjente alternativet erCompiz som utvikles i samarbeid medNovell.[26] Dette gir muligheten til å ta i bruk avanserte effekter med tredimensjonale skrivebord, gjennomsiktige og geleaktige eller roterende vinduer.[27], men det gir også systemet flere tilgjengelige minne og prosessor-ressurser fordi alle grafiske beregninger isteden legges over på grafikkortet. XGL er fritt tilgjengelig og anvendbart også i dag, selv om det fortsatt regnes som eksperimentelt.
Å surfe på nettet har blitt den kanskje vanligste aktiviteten på personlige datamaskiner i dag, så det er viktig at et operativsystem har en bra nettleser.Mozilla Firefox har blitt en veldig vanlig nettleser, og er standard i mange distribusjoner.GNOMEs standard nettleser erEpiphany, som er en svært god nettleser, basert på samme base som Firefox, men som har en del nytenkning når det gjelder favoritter og surfing.KDE kommer medKonqueror som er basert påWebkit, som også ligger til grunn for Apples Safari. Forøvrig finnes ogsåOpera, som er gratis og annonsefri, menproprietær. Det er også mulig å kjøreInternet Explorer viaWine ellerCrossover, men det er mest anvendbart til webdesign og -utvikling. Det finnes forsåvidt også en rekketekstbaserte nettlesere, somLynx,w3m ogLinks, som kan være praktiske for de som av en eller annen grunn ikke anvender seg av etskrivebordsmiljø.
Fore-post finnes det et antall programmer å velge mellom.Mozilla Thunderbird er et søsterprosjekt til Firefox og har blant annet innebyggede funksjoner for å håndterespam-post. Evolution er et program for e-post, kalender og adressebok utviklet avXimian ogNovell og er standard e-postleser iGNOME. Evolution kan koble seg til Microsofts Exchange og har en del innovative funksjoner for sortering og søking i posten. KDE tilbyr klientenKMail ogKontact. Forøvrig finnes det også et antall tekstbaserte klienter, somMutt ogPine. Dessuten fungerer vevbaserte tjenester somGmail ogHotmail som vanlig i alle de vanlige nettleserne.
OpenOffice.org og avleggerenLibreOffice erfri kontorpakker som kan åpne Microsoft Office-dokumenter og lagre dem tilbake i samme format. De er også blant de vanligste programmene på Linux, da mange moderne skrivebordsdistribusjoner inkluderer dem som en del av standardinstallasjonen, ellers finnes det tilgjengelig for enkel installasjon. KDE har sin egen programvarepakke for kontorarbeid,KOffice som også inkluderer alle vanlige programmer brukeren kan forvente seg. Likeså harGNOME kontorprogrammer i form avAbiWord,Gnumeric ogGNUcash. Sistnevnte kombinasjon kalles ofte for GNOME office.
Begge programmvarepakkene kan lagre direkte til PDF uten å bruke utvidelsesprogrammer. Når det gjelder å lese og skrive ut PDF, finnes de frie programmeneEvince i GNOME og KPDF i KDE. Evince kan forøvrig lese mer enn PDF, for eksempelPostscript,Powerpoint og komprimerte avisformater, med flere. Dessuten finnes også det proprietæreAdobe Reader for Linux.
De vanligste programmene for å chatte med under Linux erPidgin i GNOME-baserte systemer ogKopete for KDE. Begge programmene støtter alle de vanligste protokollene, som MSN, ICQ/AIM, Jabber/Google Talk, Yahoo og IRC. I disse programmene kan brukeren ha kontakter fra forskjellige protokoller eller ulike brukerkontoer i samme kontaktliste og slipper dermed å ha flere programmer åpne samtidig.
Det finnes en rekke alternative og spesialiserte programmer, somaMSN,Licq,Centericq ellerX-Chat.
Det finnes et stort antall avanserte og kompetente avspillere for Linux. Men det finnes problemer på dette området når det gjelder ulike formater ogcodecer som begrenses avprogramvarepatenter i blant annet USA. Bedrifter som sitter på disse patentene vil ha betalt for retten til å benytte deres format. Linuxdistributører må betale per lisens for at brukeren skal ha rett til å spille av mediene med sin spesifikke variant av Linux. Det gjør blant annetLinspire ogXandros, samt flere av de andre bedriftene som har kommersielle versjoner av sine distribusjoner. Det finnes også amatørvarianter som uttrykkelig sier at at en lisensstrid som foregår langt unna deres land på grunnlag av patenter på en type produkter som på prinsipielt grunnlag ikke burde eller kan patenteres i deres land ikke angår utgiverne, og som derfor gir ut distribusjonen sin inkludert støtte for proprietære medieformater, som for eksempelSabayon ogLinux Mint.
Rhythmbox håndterer musikkbibliotek og vevradio i GNOME.
De som ikke tar betalt eller som ikke vil betale ligger dårligere an. I beste tilfelle befinner brukeren seg i en juridisk gråsone om man gjør noe så elementært som å spille av en DVD eller en MP3[28] i USA. Mange distribusjoner inkluderer derfor ikke støtte for disse og andre kommersielle formater, som for eksempel Microsofts og Apples begrensende formater. Der er allikevel mulig og kanskje også helt vanlig at brukere selv installerer denne støtten i etterkant. I de fleste land (også i Norge) er det nemlig helt lovlig om en privatperson skaffer seg denne støtten for personlig bruk.
I mange tilfeller innebærer altså for eksempel patenterte codecer mest noen ekstra tiltak før systemet fungerer fullt ut. Vil brukeren påvirke situasjonen kan denne selv isteden anvende åpne format somOgg,Vorbis ogXvid og engasjere seg for å stoppe programvarepatenter i EU.[29]
Kommandolinjen (Terminal) iGNOME viser et enkelt program, skrevet iRuby.
En stor del av GNU-systemet består av de programmene som brukes for å utføre vanlige Unix-kommandoer. På Linux-system, som på alle andre Unix-liknende systemer, har man tilgang til disse via et tekstgrensesnitt og enkommandolinje ellerskall (engelsk: «shell»). Man kan la systemet starte uten grafisk grensesnitt og bare bruke skallet, vanligere er det at man har kommandoskallet tilgjengelig i et eget vindu. De vanlige Unix-kommandoene utfører funksjoner som å flytte, kopiere og slette filer og kontrollere og styre de programmene som kjøres av systemet. Et moderne skrivebordsmiljø kan i prinsippet erstatte kommandoskallet helt, men mange brukere ser at et tekstbasert grensesnitt er kjappere for visse typer jobber.
Administratorer av tjenere kobler seg ofte til andre datamaskiners skall overnettverk ellerInternett via grensesnittetSSH. Det er vanlig atvevhoteller som benytter Linux ellerBSD tilbyr denne slags tilkobling til sine kunder, hvilket gjør at brukeren kan arbeide smidigere enn viaFTP. I visse tilfeller er det dessuten tillatt å kjøre og kompilere programmer; og å ha tidsplanlagte kjøringer i denne kontoen.
Bash er det absolutt vanligste skallet i dag, selv om det finnes et antall andre med spesialisert funksjonalitet, somC skall ogZ skall.
Det fantes tidligere ikke like mange storespill til Linux som til konsollsystemer eller Windows. Det var vanlig å anta atspillutviklere ofte er av den oppfatning at de fleste som hadde tilgang til Linux også hadde tilgang til Windows, slik at de anså kostnaden å være for høy for å utvikle en kompatibel versjon.
Imidlertid kunngjorde den ledende[30] online-distributørenValve Corporation i 2012 at selskapet ville satse på Linux som spillplattform, siden hverken Windows eller OSX oppfylte kravene som brukbar spillplattform.[31] Newell erkjente at spill ville være en betydelig del av satsingen på Linux.[31] Dette førte til en eksplosiv vekst innenfor markedet, både med hensyn til at eldre spill ble konvertert til Linux og at nye ble utviklet. Både nedlastingsplattformenSteam (programvare) og lanseringen av spesifikasjoner for en egen Linux-basert spillkonsoll,Steam Machine med operativsystemetSteamOS, som er optimalisert for videospill.[32]
Tross alt hender det at konverteringer gjøres, enten at et bedrift av ulike årsaker vil støtte Linux-plattformen eller at de slipper kildekodenfri, og uavhengigehackere porterer spillet. Vanligvis slippes ikke øvrige ressurser som grafikk og lyd fritt, da må spilleren fortsatt eie en kopi av originalarbeidet for å kunne spille konverteringen.
Id Software slapp for noen år siden kildekoden tilDOOM underGPL og det finnes et antall prosjekter som har utvikletspillmotoren videre. Samme datafiler som ble benyttet til originalspillet kan derfor nå anvende for å spille Doom på et Linux-system. Siden har Id begynt å slippe flere titler somQuake 4 ogDoom 3 direkte i Linux-versjoner og dessuten bruker de å slippe kildekoden til spillene etter at det har gått noen år, blant annet finnesQuake III Arena tilgjengelig på denne måten.[33] I samme sjanger har ogsåEpic Games sluppet flere spill fraUnreal-serien for Linux, men uten kildekode.
I noen tilfeller gjenskaper uavhengige utviklere et spill uten å ha tilgang til kildekoden, et eksempel på dette erOpenTTD som er en helt frittstående implementasjon avTransport Tycoon Deluxe,Freeciv i Civilzation-sjangeren ogLincity-ng. Begge disse har senere blitt utviklet videre med stadig bedre funksjoner og mer balanserte regler enn originalen.The Ur-Quan Masters er et annet eksempel.
Skjermskudd fra Guitar Hero- klonenFrets on Fire, et musikkspill hvor spilleren "simulerer" gitarspilling
Kommersielle storspill som er laget med Linux i tankene er fortsatt sjeldne. Derimot finnes det en stor mengde spill, kommersielle så vel som frie, skrevet av hobbyister verden over. Det finnes også et og annet prosjekt under utvikling som sikter på å bli stort,PlaneShift for eksempel har som mål å skape et fullskalaMMORPG basert helt og holdent på fri kildekode. Verdt å nevne er også åpne og frie danse/rytme/musikkspill somStepMania ogFrets on Fire, spesielt da den førstnevnte uttrykkelig er ment å spilles med originalspilltypens kontroller, i dette tilfellet endansematte. Også Frets on Fire kan ved hjelp av forskjelligeadaptere spilles medGuitar Heros gitarliknende kontroller.
Det er få originale frie spill med åpen kildekode som har oppnådd nevneverdig bemerkelse, men noen eksempler erNetHack ogTux Racer.
Uavhengige bedrifter har også tatt på seg oppgaven med å portere prominente Windowsspill til Linux etter spillenes initielle slipp.Loki Software var den første slike porteringsbedriften, grunnlagt i1998 og overgått avLinux Game Publishing i2001.Wine og den kommersielle avstikkerenCedega lar mange Windowsspill kjøre under Linux og virtuelle maskiner og arkitekturemulatorer tilbyr kompatibilitet for spill som er laget for andre plattformer. Eksempler på slike erScummVM ogDOSemu.
Mange Windowsspill kan spilles i Linux helt eller nesten helt uten ytelsestap ved hjelp avWine ogCedega (som baseres på Wine, men har bedre støtte for mange spill, men koster penger). Wine står for «Wine Is Not an Emulator». Begge har en utbredt støtte for DirectX og Cedega har også spesifikke avtaler med spillutviklere for å kunne håndtere kopibeskyttelser korrekt.
TeknologienProton, som ble utviklet med støtte fra selskapetValve muliggjør å spille drøyt 6 000 Windows-spill på Linux, deriblant noen av de mest populære titlene. (Status september 2019)[34]
Det finnes også ulike spesifikke emulatorer somMAME,DOSBox ogDOSEMU forMS-DOS ogScummVM forLucasArts gamle eventyrspill, som kan hjelpe spilleren å spille eldre spill.
I et visst antall år ble Linux utviklet i mangt og meget avprogrammerere som skrev programmer og funksjoner for å oppfylle sine egne behov, og det er først de senere årene som fokus har blitt lagt på å skape et anvendbart operativsystem for alle og enhver. Dette er noe av bakgrunnen for at det finnes mange programmer for utvikling, og støtte for et utallprogrammeringsspråk.
GNU Compiler Collection er en samlingkompilatorer og tilhørende programmer som kan kompilere et antall ulike programmeringsspråk, som C, C++ (G++), Java (GCJ), Ada (GNAT), Objective-C, Objective-C++ og Fortran (GFortran). Det er også tilgjengelig støtte for Modula-2, Modula-3, Pascal, PL/I, D, Mercury, VHDL gjennom utvidelser. Selv om det finnes flere kompilatorer tilgjengelig for Linux, har GCC blitt standarden, og følger med alle Linux-distribusjoner.
En vanlig installasjon av Linux kommer også støtte for en lang rekke med frie skall-skript, blant andre, BASH, DASH, RC, BeanShell, Python skall, Ruby skall, CSH, KSH, PDKSH, ZSH, ASH.
Kombinasjonen av alle dissefrie verktøyene gjør Linux til en egnet plattform for programmering og programvare-utvikling.
Linux, som alle UNIX-like miljøer har en sterk tradisjon for å brukeskriptspråk for å gjøre arbeidet og livet lettere. Skript er programmer som er skrevet i språk som kan tolkes under kjøringen, hvilket gir et langsommere program, men mye mer fleksibel og effektiv utvikling. Kjente eksempler som det finnes støtte for i Linux erPerl,Python ogRuby, men også mindre kjente skriptspråk som BASH, DASH, RC, BeanShell, CSH, KSH, PDKSH, ZSH, ASH finnes det støtte for.
DaInternett ble vanligere[når?], begynte mange å bruke skript for å skape dynamiske nettsider og koble innholdet til databaser og logikk. Dette er fortsatt vanlig, selv om spesialiserte språk somPHP har blitt vanligere. Linux og Perl, Python eller PHP, sammen medvevtjenerenApache ogdatabasetjenerenMySQL blir ofte forkortet tilLAMP og er en av de vanligste plattformene forvevhotell ognettsider. Nå for tiden skrives til og med ganske mange programmer direkte i skriptspråk, da det finnes koblinger til forhåndskompilerte grafikk- og vindusbiblioteker, og selve logikken som skriptet har ansvaret for utgjør en forsvinnende liten del av kjøretiden. For de som av en eller annen grunn sverger til asp, finnes dessutenMono.
Samtidig finnes det kraftige frie programmeringsverktøy, slik somEmacs ogVim, og nyere integrerte utviklingsmiljø, slik somKDevelop,MonoDevelop,Eclipse,Gambas. En standardLinux Mint-installasjon hadde i november 2014 rundt 46 000 tilgjengelige støttebibliotek viapakkesystemet.
For å jobbe medHTML og designe nettsider finnesNvu ogQuanta Plus, som kan jobbe medWYSIWYG («hva du ser er hva du får») eller direkte med koden, eller veksle mellom disse metodene. For den som bare vil skrive ren kode direkte, finnes blant annetBluefish som har mange funksjoner for HTML og PHP. Dessuten har de fleste avanserte tekstredigeringsprogrammene mer eller mindre støtte for dette.
Mange brukere har behov for å kjøre Windows-programmer. De enkleste løsningene erWine, som er fritt og gratis, og de kommersielle programmeneCrossover ogCedega. Disse gjør programmene kompatible ved å reimplementereWindows'API innenfor Linux. Mange programmer kan i dette miljøet kjøre like raskt som på en Windows-maskin, og i enkelte tilfeller raskere. Styrken ved denne løsningen er at programmene ikke krever en installasjon av Windows, og dermed heller ingen Windowslisens. Svakhetene er at det ikke er et 100 % kompatibelt system.
En annen mulighet erWin4Lin, et kommersielt program som konverterer Windows' API slik at den kjører innenfor Linux fremfor å reimplementere denne. Dette krever at Windows er installert, ikke som operativsystem men som et program i Linux. Windows kjøres så i et vindu, og i dette vinduet kan man åpne alle Windows-applikasjoner. Programmet støtter alle versjoner av Windows, til og med XP, men det er per august2005 fortsatt problemer med å bruke det i et nettverksmiljø dersom man må gjennom enmellomleddstjener.
Et tredje alternativ er å bruke envirtuell maskin, hvor man kjører hele Windows fra Linux. Svakheten med en slik emulatorløsning er at man kan få kraftig nedsatt hastighet. Man må installere Windows for at dette skal fungere. Windows-programmer som kjøres på denne måten kan ikke integreres i Linux-skrivebordet, slik at man for eksempel ikke kan kopiere tekst fra et Windows-program til et Linux-program slik man kan i Wine og i Win4Lin.
Linux har et aktivt brukermiljø. Mange Linux-brukere organiserer seg ibrukergrupper, der de jevnlig møtes og arrangerer for eksempel foredrag eller presentasjoner.
Det finnes mange nettforum hvor brukere kan legge ut problemene sine. Et par eksempler er engelskspråkligeLinuxQuestions.org[35] ogUbuntu Forums.[36] Man kan også brukeIRC for å komme i kontakt med Linux-brukere. Ved å gå inn i kanalen #linux, som finnes på de aller fleste nettverk, vil man kunne treffe folk som er villige til å hjelpe.
Det finnes få brukerstøtteløsninger som er tilgjengelig for alle, og de fleste forutsetter at man stiller spørs,mål på åpne fora. Microsofts Alistair Baker har spilt på dette sammen medBill Gates i etBBC-intervju, hvor han spør om man virkelig vil ha sikkerhetsproblemet med PC-en sin lagt ut og drøftet av allmennheten.[37]
Både Linuxkjernen og GNU-systemet er lisensiert underGNU General Public License (GPL). Dette innebærer at programvaren kan spresfritt (gratis eller mot betaling), så lengekildekoden gjøres tilgjengelig og distribuerte programmer og eventuelle endringer fortsatt blir underlagt GPL. Det er en bred oppfatning om at denne lisenspraksisen, kaltcopyleft, er årsaken til GNU/Linux-kombinasjonens framgang. Liknende systemer, som for eksempelBSD, har en lisens som tillater spredning av endrede versjoner, men krever ingenting i forhold til hvorvidt endringer gjøres fritt tilgjengelig. Linus Torvalds har i et intervju sagt om avgjørelsen å slippe Linux-kjernen under GPL at det var «det beste han noengang har gjort».[38]
Et Linux-system består av svært mange programmer – inntil flere tusen. En distribusjon er en samling av slik programvare i tillegg til selve Linux-kjernen.
I hovedsak finnes det to typer distribusjoner, generelle og spesialiserte. Generelle distribusjoner er en type distribusjoner som er ment å kunne brukes til alle slags oppgaver. Disse inkluderer vanligvis bare det aller viktigste man trenger for å komme i gang i standardinstallasjonen.Debian,Gentoo ogSlackware er eksempler på generelle distribusjoner. De generelle distribusjonene anbefales vanligvis ikke til nybegynnere, fordi de krever enbetydelig høyere terskel å sette seg inn i. Nybegynnere kan gjøre tilværelsen lettere for seg selv, og bedre sjansene sine for å trives med distribusjonsvalget om de velger enspesialisert distribusjon, slik somUbuntu,OpenSUSE ellerSabayon.
De ulike spesialiserte distribusjonene har ulikt fokus; noen er spesielt tilpasset bruk på tjenermaskiner, mens andre er rettet mot hjemmebrukere. Disse distribusjonene inneholder et rikt utvalg av programvare i standard-installasjonen. De ulike distribusjonene, prøver i forskjellig grad å tilpasses til forskjellige brukergrupper, for eksempel kontormennesker, barn og de som er vant til Windows. Dermed oppleves forskjellige distribusjoner forskjellig av ulike brukere i forhold til brukervennlighet.
De fleste Linux-distribusjonene er fritt tilgjengelig og gratis da mesteparten av programvaren som er inkludert er lisensiert under GNU GPL, mens resten av programvaren vanligvis er lisensiert under andre frie lisenser.
For å forhindre at de forskjellige distribusjonene fjerner seg fra hverandre i løpet av utviklingen erFree Standards Group opprettet. Denne organisasjonen setter en felles standard for alle distribusjonene,Linux Standard Base (LSB). LSB blir støttet blant annet avRed Hat,Novell (SUSE), ogAsianux.
Det som karakteriserer detøkonomiske markedet for Linux-distribusjoner er at prisen på selve programvaren ofte er svært nærgrensekostnaden ved å lage én ekstra kopi og distribuere den videre.Internett har ført til at denne grensekostnaden er null for programvare som distribueres via Internett. Lisensbetingelsene iGPL og andrefri programvare-lisenser gir hvem som helst som har mottatt en kopi av programvaren rett til å distribuere en ny kopi videre til hvem som helst. Dette har ført til at Linux-distribusjoner i dag, vanligvis kan distribueres helt gratis. Denne sammenhengen mellom grensekostnad og pris er det som karakteriserer etøkonomisk konkurrerende marked. Fordi en distributør som tar seg betalt programvaren i dette markedet vil bli utkonkurrert av distributører som gir bort den samme programvaren gratis, tilbyr de fleste distributørene programvaren sin gratis. Linux-distributørene tjener pengene sine ved å tilbykomplementære tjenester og produkter.
De fleste Linux-distributørene tjener pengene sine ved å tilby kommersiell kundestøtte. Dennebedriftsmodellen medfører at det er en direkte sammenheng mellom kvaliteten på programvaren og behovet for å utnytte forsikringen som kundestøtten gir. For bedrifter er kundestøtte enforsikring motnedetid. Det bedriftene ønsker er derfor kombinasjonen god programvare og god kundestøtte, fordi én av delene vil ikke være tilstrekkelig for å sikre seg mot nedetid.Risikoaverse bedrifter kjøper både produkter og forsikring. Å tilby kundestøtte skaper dermed et incentiv til å øke kvaliteten på programvaren, fordi distributørene lever av kvaliteten til programvaren.
Imidlertid er ikke alle distribusjonene gratis. Det kommer vanligvis av at de flesteproprietæremedieformater, slik somMP3 ogWindows Media, iUSA krever at alle som leverer støtte for disse må betale en lisensavgift tilpatentholderen. Noen amerikanske distributører forsøker å skaffe seg etkonkurransefortrinn over konkurrentene ved å tilby støtte for slike formater. (SeLinspire ogXandros). Det innebærer at disse distribusjonene i alle tilfeller må koste penger, fordigrensekostnaden ved å distribuere én ekstra kopi vil øke fra null. Og da vil distributøren tape penger og gå konkurs ved å gi bort programvaren gratis. Disse distributørene forsøker å konkurrere på andre vilkår enn gratis-distributørene og kan derfor legge inn enprofittmargin mellom grensekostnaden og prisen slik at de faktisk tjener penger på salget av programvaren. Disse distributørene kan i tillegg tilby andre komplementære tjenester og produkter, slik som kundestøtte.
De fleste Linux-distribusjonene baserer seg på etpakkesystem som lar brukeren søke etter og installere programmer, drivere, temaer, fonter og andre utvidelser enten direkte frainternett eller fra lokale kilder som minnepinner,CD-rom ellerDVD. Noen av de mest kjente pakkesystemene erAPT,RPM ogPortage. Blant pakkebehandlere med grafiske grensesnitt finner manSynaptic ogYaST.
Ifølge en studie gjort ved universitetet i Stanford i perioden 2000–2004 inneholdt Linux-kjernen 0,17 feil per 1000 linjer med kode. Totalt var det 985 feil i 5,7 millioner linjer med kode.[39]Rapporten viser også at 90 % av disse ligger ienhetsdrivere som erstatisk lenket til kjernen.[40]Ifølge William Guttman, direktør i Sustainable Computing Consortium, inneholder typiskproprietær lukket kildekode mellom 20 og 30 feil per tusen linjer med kode.[41]Det betyr at kildekoden i Linux-kjernen inneholder 150 ganger færre feil enn typisk gjennomsnittlig proprietær programvare.
Linux er et fiendtlig miljø å være i for virus. For at et Linux-virus skal kunne infisere kjørbare filer, må brukeren som aktiverer viruset ha skrivetilgang til filen. Det er vanligvis aldri tilfelle. Vanligvis eies programmer av «root» og brukeren kjører programmer fra en uprivilegert brukerkonto. Jo mindre erfaring brukeren har, desto mindre sannsynlig er det at brukeren har skrivetilgang til noen kjørbare filer. Selv hvis viruset infiserer et program som eies av brukeren, vil det bare kunne spre seg til andre filer som eies av brukeren, og er begrenset til brukerens egen hjemmemappe. Programvare til Linux er vanligvis fri kildekode, og spres derfor ikke i noen særlig grad ukontrollert i binærform, og kildekode er et tøft gjemmested for et virus som ikke ønsker å bli oppdaget. For at et datavirus, som biologiske virus, skal kunne spre seg effektivt må spredningsraten være høyere enn eliminasjonsraten. Hvis reproduksjonsraten faller under grensen for hva som er nødvendig for å erstatte den eksisterende populasjonen, er viruset dømt fra begynnelsen av, selv før nyhetene begynner å øke bekymringsnivået til potensielle ofre.[42]
En studie fra2001 avRed Hat Linux 7.1 fant at denne distribusjonen inneholdt 30 millionerlinjer med kildekode. Ved å bruke enkonstruktiv kostnadsmodell, fant studien at Red Hat Linux 7.1 ville krevd omtrent åtte tusen årsverk om den skulle blitt utviklet ved konvensjonelle proprietære metoder. Ifølge studien ville all denne programvaren kostet omtrent 1,08 milliarder år-2000-US-dollar å utvikle ved konvensjonelle proprietære metoder. Det tilsvarer omtrent 8,1 milliarder norske kroner.[43]
Mesteparten av koden (71 %) var skrevet iprogrammeringsspråket C, men mange andre programmeringsspråk var også benyttet:C++,Lisp,assembler,Perl,Fortran,Python og forskjelligeskall skript-språk. Litt over halvparten av alle linjene var kode som var lisensiert underGPL. Selve Linux-kjernen var 2,4 millioner linjer med kode eller ca. 8 % av totalen.[43]
I en senere studie viste de samme analysene for Debian versjon 2.2 at denne inneholdt femtifem millioner kodelinjer og ville kostet 1,9 milliarder år-2000-US-dollar eller 14 milliarder norske kroner å utvikle med konvensjonelle metoder.[44] En tilsvarendeSLOC studie for Debian anno2005 viste at den inneholdt 215 millioner linjer med kode, som tilsvarer en utviklingskostnad på ca. 58 milliarder norske kroner.[45]
Debian Etch inneholdt ifølge enSLOC-studie fra17. juni2007 283 millioner linjer med kildekode (76,5 milliarder kroner), som til sammenligning ifølge den samme studien er 7 ganger flere linjer ennWindows XP sine 40 millioner linjer med kildekode (10,8 milliarder kroner).[46]
^.Ptasinski, Karol (2007).GPL-lisensiert frihet : en casestudie av GPL-lisensens konsekvenser for ulike brukere (Hovedoppgave i sosiologi). Universitetet i Oslo. – Side 31 (versjon til nedlasting i DUO)
^Tim Weber (10. mai 2005).«How Microsoft plans to beat its rivals» (på engelsk). BBC NEWS. Besøkt 26. juli 2007. «do you really want to have your security issues discussed by the Linux developer community on a public bulletin board?»