Hvad er fremad kompatibilitet?
Fremadkompatibilitet er et designprincip, hvor et program eller hardware er udviklet til at forblive funktionelt i fremtiden med ny software eller enheder. For eksempel skrives et computerprogram typisk i kode, der giver det mulighed for at arbejde med et operativsystem (OS) og hardware, der er aktuelt på det tidspunkt, det frigives. En udvikler, der opretter et program med fremadkompatibilitet i tankerne, forsøger at sikre, at det også vil være i stand til at fungere flere år senere med et nyt operativsystem og anden hardware. Dette kan imidlertid være ganske vanskeligt at sikre, skønt visse metoder kan bruges til at gøre processen enklere.
Den grundlæggende idé bag fremkompatibilitet er at forsøge at sikre, at noget forbliver anvendeligt i fremtiden. Selvom dette er forholdsvis enkelt i nogle indstillinger, kan det inden for computer- og informationsteknologi (IT) brancher være ret vanskeligt at opnå. En softwareudvikler kræver ofte, at programmerere sikrer, at koden, de bruger til at fremstille en applikation, forbliver relevant og anvendelig med ændringer, der sandsynligvis vil forekomme. Den uforudsigelige karakter af nogle teknologiske udviklinger vanskeliggør imidlertid kompatibilitet fremad, da noget, der synes lige nu, kan være meget mere kompliceret i løbet af få år.
En måde, hvorpå kompatibilitet fremad kan opnås, er ved hjælp af forskellige softwareversioner, som alle kan køres sammen. På denne måde kan en udvikler, der arbejder med et program, der kører med version 1.2 af et program, blot kræve, at brugerne har 1.2, selvom de muligvis også har version 2.5 af den samme software. Flere versioner kan imidlertid være et problem, hvis en ældre findes at have store sikkerhedsfejl eller andre problemer, der ikke let løses. På det tidspunkt vil de ældre versioner sandsynligvis blive forladt, og fremadkompatibiliteten er gået tabt.
Mange softwareudviklere sikrer, at patches og lignende opdateringer bruges til at opretholde fremadskompatibilitet til deres programmer. Hvis en pakke er udviklet til at arbejde med et bestemt operativsystem, og derefter introduceres en ny version af dette operativsystem, vil udvikleren af denne pakke sandsynligvis sikre, at den stadig kan fungere med den. Patches bruges ofte til at føje til baseprogrammeringen, hvilket giver en udvikler mulighed for at bevare funktionaliteten uden en helt ny version.
I lighed med videresendes kompatibilitet er bagudkompatibilitet muligheden for en nyere applikation eller fil til at køre på ældre systemer. En ny version af et tekstbehandlingsprogram kan f.eks. Bruge en filtype, der er meget forskellig fra ældre versioner. Uden korrekt bagudkompatibilitet kan nogen oprette en fil i den nye version, men ikke være i stand til at få adgang til den via en ældre. Både fremad og bagudkompatibilitet er vigtig, da de holder data tilgængelige og giver brugerne mulighed for at føle sig godt tilpas med at opgradere udstyr og software.