Bakåtkompatibilitet

Inom ramen för telekommunikation och databehandling sägs en produkt eller teknik vara bakåtkompatibel  om den kan användas med indata som genererats av en äldre enhet. Om produkter avsedda för den nya standarden kan ta emot, läsa, visa eller spela äldre standarder eller format, så sägs produkten sägs vara bakåtkompatibel; exempel på sådana standarder inkluderar dataformat och kommunikationsprotokoll. 

Det omvända är framåtkompatibilitet, vilket innebär att gamla apparater stöder (eller förväntas stödja) dataformat som genereras av nya (eller framtida) enheter, kanske utan att stödja alla nya funktioner. En standard stöder framåtkompatibilitet om äldre produktversioner kan ta emot, läsa, visa eller spela den nya standarden.

Till exempel innebar införandet av FM-stereo bakåtkompatibilitet, eftersom nya FM-radiomottagare kan ta emot monosignaler som genereras av gamla sändare. Det innebar också framåtkompatibilitet, eftersom gamla monofoniska FM-radiomottagare fortfarande kan ta emot signaler från en ny sändare. Likadant var det med (analog) färg-TV: de nyare färg-TV-mottagarna kunde ta emot gamla svart-vita TV-sändningar, och gamla svart-vita TV-mottagare kunde ta emot färg-TV-sändningar men visa dem i svart-vitt.

Inom programmering hänvisar bakåtkompatibilitet till möjligheten för en kompilator för version N  av språket att acceptera program eller data som fungarade under version N  - 1.  

I andra sammanhang sägs en produkt eller teknik vara bakåtkompatibel när den till fullo kan byta ut en äldre produkt, genom samverkande med andra produkter som var avsedda för den äldre produkten.

Beskrivning 
Bakåtkompatibilitet är en relation mellan två komponenter, snarare än en egenskap hos bara en av dem. Mer allmänt sägs den nya komponenten vara bakåtkompatibel om den stöder all funktionalitet i den gamla delen.

Bakåtkompatibilitet  är även ett specialfall inom kompatibilitet där den nya komponenten har en direkt historisk relation med den gamla komponenten. Om denna speciella relation inte existerar så klassas det vanligen inte som "bakåtkompatibilitet" utan istället bara "kompatibilitet": Ett konsistent gränssnitt som möjliggör interoperabilitet mellan komponenter och produkter som utvecklats separat.

Data gör ingenting i avsaknad av en programtolk, så begreppet kompatibilitet gäller enbart för mjukvara, inte för dokumentfiler. Ifall ett program skapar dokumentfiler, sägs en ny version av det programmet ("version 2") vara bakåtkompatibel med den gamla versionen av programmet ("version 1") när den både kan läsa och skriva dokument som fungerar med version 1. Allt som version 1 kan göra måste också vara möjligt med version 2, bland annat att spara dokument som kan läsas av version 1.

Om en nyare version inte kan spara filer som kan läsas av den äldre versionen, så är den inte bakåtkompatibel med den äldre versionen, även om den erbjuder en befintlig möjlighet att uppgradera de gamla filerna. Denna situation har ofta använts strategiskt av programvaruleverantörer för att tvinga kunder att köpa uppgraderingar, eftersom antalet datafiler som kan användas av en gammal version med tiden minskar i en hastighet proportionell mot antal andra kunder som har uppgraderat.

Nivåerna av kompatibilitet varierar. Inom programvara finns en distinktion mellan binär kompatibilitet  och källkodskompatibilitet. Binär kompatibilitet innebär att program fungerar korrekt med den nya versionen av programbiblioteket utan att kräva omkompilering. Källkodskompatibilitet kräver omkompilering men inga ändringar i källkoden.

Många hårdvaruplattformar använder sig av emulering, d.v.s. simulering av en äldre plattform i programvara, för att uppnå bakåtkompatibilitet.

Exempel 
 De flesta Blu-ray-enheter kan spela vanliga CD- och DVD-skivor, och de flesta DVD-enheter kan spela vanliga CD-skivor.
 Ett flertal spelkonsoler är bakåtkompatibla och kan spela spel skapade för föregående konsoler:
 Atari 7800 är bakåtkompatibel med nästan alla Atari 2600-spel.
 Game Boy Advance-linjen (förutom Game Boy Micro) är bakåtkompatibel med tidigare Game Boy-system, d.v.s. alla Game Boy och Game Boy Color-titlar är spelbara med dessa konsoler.
 Nintendo DS och Nintendo DS Lite är bakåtkompatibla med alla Game Boy Advance-spel.
 Nintendo 3DS är bakåtkompatibel med Nintendo DS och Nintendo DSi-programvara.
 PlayStation 2 är bakåtkompatibel med majoriteten av PlayStation 1-biblioteket. Dessutom är den ursprungliga PlayStation 3-modellen bakåtkompatibel med de flesta PlayStation och PlayStation 2-spel. 
 Xbox 360 är bakåtkompatibel med några Xbox-spel via mjukvaruemulering.
 Wii är bakåtkompatibel med alla spel från den tidigare Nintendo-konsolen, Nintendo GameCube, eftersom de två konsolerna är baserade på samma hårdvara. 
 Microsoft Windows innehåller kod som gör plattformen kompatibel med de flesta program från föregående versioner av operativsystemet (till exempel fungerar Civilization  (ca 1991, avsett för Windows 3.0) på Windows Vista. 
 Microsoft Word 2000 är bakåtkompatibel med Word 97, då programmet kan läsa och skriva filer i Word 97-format.
 Microsoft Word 2007 är delvis bakåtkompatibel med Word 95, kan läsa sådana filer, men inte skriva. Det kan vara vissa problem med vissa funktioner. Det är viktigt för historieforskning att det går att läsa gamla filer.
 Den moderna systemkameran Nikon F Mounts objektiv från slutet av 1970-talet fram till nuvarande tid kan användas på nyare Nikon-kameror med vissa begränsningar.
 PCI Express 2.0 är bakåtkompatibel med PCI Express 1.1.
 Transistordatorn IBM 7080 är bakåtkompatibel med alla modeller av elektronrörsdatorn IBM 705.

Se även 
Kompatibilitet
Emulator

Referenser

Externa länkar 
udidahan.com - Why most versioning problems are caused by backwards compatibility issues

Bakåtkompatibilitet
Interoperabilitet