Hva er fremoverkompatibilitet?
Fremoverkompatibilitet er et designprinsipp der et program eller maskinvare er utviklet for å forbli funksjonelt i fremtiden med ny programvare eller enheter. For eksempel er et dataprogram vanligvis skrevet i kode som lar det fungere med et operativsystem (OS) og maskinvare som er gjeldende på tidspunktet for utgivelsen. En utvikler som lager et program med foroverkompatibilitet i tankene, prøver å sikre at det også vil kunne fungere flere år senere med et nytt operativsystem og annen maskinvare. Dette kan imidlertid være ganske vanskelig å sikre, selv om visse metoder kan brukes for å gjøre prosessen enklere.
Den grunnleggende ideen bak kompatibilitet fremover er å prøve å sikre at noe forblir brukbart i fremtiden. Selv om dette er ganske enkelt i noen innstillinger, kan det i datamaskin- og IT-bransjene være ganske vanskelig å oppnå. En programvareutvikler krever ofte at programmerere sørger for at koden de bruker for å lage et program forblir relevant og brukbar med endringer som sannsynligvis vil skje. Den uforutsigbare karakteren av noen teknologiske utviklinger gjør imidlertid kompatibiliteten fremover vanskelig, ettersom noe som virker rett frem akkurat nå, kan være mye mer sammensatt om noen år.
En måte som kompatibilitet fremover kan oppnås er ved bruk av forskjellige programvareversjoner som alle kan kjøres sammen. På denne måten kan en utvikler som jobber med et program som kjører med versjon 1.2 av et program, ganske enkelt kreve at brukerne har 1.2 selv om de også kan ha versjon 2.5 av den samme programvaren. Flere versjoner kan imidlertid være et problem, hvis det er funnet at en eldre har store sikkerhetsfeil eller andre problemer ikke lett løses. På det tidspunktet vil antagelig de eldre versjonene bli forlatt og kompatibiliteten fremover tapt.
Mange programvareutviklere sørger for at oppdateringer og lignende oppdateringer blir brukt for å opprettholde fremtidig kompatibilitet for programmene deres. Hvis en pakke er utviklet for å fungere med et bestemt OS, og deretter introduseres en ny versjon av det operativsystemet, vil sannsynligvis utvikleren av den pakken sikre at den fortsatt kan fungere med den. Patches brukes ofte for å legge til baseprogrammeringen, slik at en utvikler kan opprettholde funksjonalitet uten en helt ny utgivelse.
I likhet med videresende kompatibilitet, er bakoverkompatibilitet alternativet for en nyere applikasjon eller fil å kjøre på eldre systemer. En ny versjon av et tekstbehandlingsprogram, for eksempel, kan bruke en filtype som er ganske forskjellig fra eldre versjoner. Uten riktig bakoverkompatibilitet kan noen opprette en fil i den nye versjonen, men ikke kunne få tilgang til den gjennom en eldre. Både fremover og bakoverkompatibilitet er viktig, ettersom de holder data tilgjengelige og lar brukerne føle seg komfortable med å oppgradere utstyr og programvare.