Geriye uyumluluk

Telekomünikasyon ve bilişim teknolojisinde yeni aygıtların eski aygıtlar tarafından üretilmiş girdileri çalıştırabilme yeteneğine geriye uyumluluk denir. Yeni standartlar için tasarlanmış bir ürün eski standartlara erişebiliyor, okuyor veya oynatabiliyorsa o ürüne geriye uyumludur denir. Örneğin veri biçimleri ve iletişim protokolünü içeren standartlar gibi.

Geriye uyumluluğun tersi, eski aygıtların yeni aygıtlarda üretilmiş veri biçimlerine izin vereceğini belirten (veya izin vereceğini bekleyen) ileriye uyumluluktur. Bu belki yeni aygıtta üretilmiş tüm özellikleri kapsamayabilir. Bir standart eğer ürünün eski sürümleri yeni standartlara erişebiliyor, okuyabiliyor ve oynatabiliyorsa ileriye uyumluluğu destekler.

Örneğin, FM radyo alıcıları eski vericiler tarafından üretilen mono sinyallere erişebildiğinden beri FM stereo iletimi geriye uyumluluğa izin vermiştir. Bu aynı zamanda eski mono FM radyo alıcıları yeni vericilerden gelen sinyallere erişebildiğinden ileriye de uyumludur.

Geriye uyumluluk iki bileşenden birinin özelliği olmaktansa ikisi arasındaki bir ilişkidir. Daha genel olarak, yeni bir bileşen eğer eski bileşenin tüm fonksiyonel özelliklerine sahipse geriye uyumludur.

Geriye uyumluluk, yeni bileşenin eskisiyle arasında doğrudan geçmişle ilgili bağını belirten uyumluluğun özel bir durumudur. Eğer bu özel ilişki bulunmuyorsa "geriye" uyumluluk yoktur, sadece "uyumluluk"(birbirinden bağımsız geliştirilmiş bileşenler ve ürünler arası birlikte işlerlik) söz konusudur.

Veri, yorumlayıcı olmadığı zaman işe yaramaz, bu nedenle uyumluluk kavramı doküman dosyaları için geçerli değildir. Örneğin, v2 programıyla üretilmiş dosyalar v1 ile de çalışabilmeli, v1 ile kaydedilen dosyalar v2 de okunabilmelidir aksi takdirde geriye uyumlu değildir.

Eğer yeni bir yazılım sürümü eski sürümün dosyalarını okuyabiliyor ancak kaydedemiyorsa geriye uyumlu değildir. Bu durum yazılım üreticilerini müşterileri belli zaman aralıklarıyla yazılımı yükseltmeye itmektedir.

Uyumluluk seviyeleri çeşitlidir. Yazılımda, ikili uyumluluk ve kaynak uyumluluğu olarak ayrılmaktadır. İkili uyumluluk program yeni sürümün kütüphanesiyle tekrar derlenmeden doğru bir şekilde çalışabilir anlamına gelmektedir. Kaynak uyumluluğu yeniden derlenme gerektirir ancak kaynak kodda değişikliğe gerek duymaz.

Çoğu platform geriye uyumluluğa erişmek için, herhangi bir bilgisayar ortamında kullanılan yazılımlar yoluyla başka bir bilgisayar sisteminin taklit edilmesi anlamına gelen öykünmeye dayanır.

Game Boy Advance serisi (Game Boy Micro hariç) geçmiş Game Boy sistemleriyle geriye uyumludur, yani bütün Game Boy ve Game Boy Color oyunları bu sistemde çalışabilir.

PlayStation 2, çoğu orijinal PlayStation kütüphanesiyle geriye uyumludur. Ek olarak, PlayStation 3'ün ilk modeli (Bazı yerleri gümüş olmayanlar) de çoğu PlayStation ve PlayStation 2 oyunlarıyla geriye uyumludur. Bu PS2 içerisindeki Emotion Engine çip tarafından sağlanmaktadır.

Microsoft Windows, platformun önceki 32-bit ve 16-bit sürümlerle uyumluluğu için uygulama uyumluluğu içerir. Örneğin Windows 3.0'da çalışması için tasarlanmış Civilization adlı bilgisayar oyunu Windows Vista'da da çalışabilmektedir.

Windows NT ve akabindekiler miras uygulamaları çalıştırabilmek için çeşitli alt sistemlere sahipti. MS-DOS ve Win16 alt sistemleri bu platformlar için bazı uygulamaları çalıştırabilmekteydi ve CLI OS/2 uygulamalarını çalıştırmak için OS/2 alt sistemine sahipti.

Windows 7 ile birlikte (Business, Ultimate, veya Enterprise basımıyla), Microsoft Virtual PC aracılığıyla sunulan Windows XP Modu, eski Windows XP programlarıyla tam uyumluluğu sağladı.